/**
* @ngdoc directives
* @name ParticipantesService
* @module s4c.directives.participantes.ParticipantesService
*
* @description
* `ParticipantesService` Componente para acesso a api do backend e/ou comunicação entre controllers
*
*
*/
(function () {
function ParticipantesService(Base, $q) {
return {
pesquisar: pesquisar,
categorizarResultado: categorizarResultado
}
/**
* @method categorizarResultado
* @param {*} array
* @param {*} tipo
*/
function categorizarResultado(array, tipo) {
_.each(array, function (item) {
item._tipo = tipo;
});
}
/**
* @method pesquisar
* @param {*} texto
*/
function pesquisar(texto) {
return $q.all([
Base.obter('grupo_usuarios/find/' + texto),
Base.obter('usuarios/find/' + texto),
Base.obter('departamentos/find/' + texto),
]).then(function (results) {
var gruposUsuarios = results[0],
usuarios = results[1],
agencias = results[2];
categorizarResultado(gruposUsuarios, 'grupo');
categorizarResultado(usuarios, 'usuario');
categorizarResultado(agencias, 'agencia');
return gruposUsuarios.concat(usuarios).concat(agencias);
})
}
}
ParticipantesService.$inject = ['Base', '$q'];
angular.module('s4c.components.participantes')
.service('ParticipantesService', ParticipantesService);
})();