Source: directives/participantes/participantes.service.js

  1. /**
  2. * @ngdoc directives
  3. * @name ParticipantesService
  4. * @module s4c.directives.participantes.ParticipantesService
  5. *
  6. * @description
  7. * `ParticipantesService` Componente para acesso a api do backend e/ou comunicação entre controllers
  8. *
  9. *
  10. */
  11. (function () {
  12. function ParticipantesService(Base, $q) {
  13. return {
  14. pesquisar: pesquisar,
  15. categorizarResultado: categorizarResultado
  16. }
  17. /**
  18. * @method categorizarResultado
  19. * @param {*} array
  20. * @param {*} tipo
  21. */
  22. function categorizarResultado(array, tipo) {
  23. _.each(array, function (item) {
  24. item._tipo = tipo;
  25. });
  26. }
  27. /**
  28. * @method pesquisar
  29. * @param {*} texto
  30. */
  31. function pesquisar(texto) {
  32. return $q.all([
  33. Base.obter('grupo_usuarios/find/' + texto),
  34. Base.obter('usuarios/find/' + texto),
  35. Base.obter('departamentos/find/' + texto),
  36. ]).then(function (results) {
  37. var gruposUsuarios = results[0],
  38. usuarios = results[1],
  39. agencias = results[2];
  40. categorizarResultado(gruposUsuarios, 'grupo');
  41. categorizarResultado(usuarios, 'usuario');
  42. categorizarResultado(agencias, 'agencia');
  43. return gruposUsuarios.concat(usuarios).concat(agencias);
  44. })
  45. }
  46. }
  47. ParticipantesService.$inject = ['Base', '$q'];
  48. angular.module('s4c.components.participantes')
  49. .service('ParticipantesService', ParticipantesService);
  50. })();