/**
* @ngdoc service
* @name Usuario
* @module s4c.services.Usuario
*
* @description Componente para acesso a api do backend e/ou comunicação entre controllers
*
*
*/
'use strict';
(function () {
angular.module('s4c.services.Usuario', [])
.factory('Usuario', Usuario);
Usuario.$inject = ['Base'];
/**
* @method Usuario
* @param {*} Base
*/
function Usuario(Base) {
var service = {
obter: obter,
obterShortUsers: obterShortUsers,
obterUsuario: obterUsuario,
obterPorId: obterPorId,
salvar: salvar,
atualizar: atualizar,
remover: remover,
removeFromProfile: removeFromProfile,
atualizarPerfil: atualizarPerfil,
ativar: ativar
};
/**
* @method obter
*/
function obter() {
return Base.obter('usuarios');
}
var self = this;
self.promise = undefined;
/**
* @method obterShortUsers
*/
function obterShortUsers() {
if (self.promise) {
return self.promise;
}
self.promise = Base.obter('usuarios/adm');
return self.promise;
}
/**
* @method obterPorId
* @param {*} id
*/
function obterPorId(id) {
return Base.obter('usuarios/' + id);
}
/**
* @method obterUsuario
* @param {*} id
*/
function obterUsuario(id) {
return Base.obter('usuarios/adm/' + id);
}
/**
* @method salvar
* @param {*} usuario
*/
function salvar(usuario) {
return Base.salvar('usuarios', usuario);
}
/**
* @method atualizar
* @param {*} id
* @param {*} usuario
*/
function atualizar(id, usuario) {
return Base.atualizar('usuarios/' + id, usuario);
}
/**
* @method atualizarPerfil
* @param {*} id
* @param {*} usuario
*/
function atualizarPerfil(id, usuario) {
return Base.atualizar('usuarios/edit/' + id, usuario);
}
/**
* @method remover
* @param {*} id
*/
function remover(id) {
return Base.remover('usuarios/' + id);
}
/**
* @method ativar
* @param {*} id
*/
function ativar(id) {
return Base.atualizar('usuarios/ativar/' + id);
}
/**
* @method removeFromProfile
* @param {*} userId
* @param {*} profileId
*/
function removeFromProfile(userId, profileId) {
return Base.remover('usuarios/perfil/' + userId + '/' + profileId);
}
return service;
}
}());