Source: services/GrupoMensageria.js

    /**
     * @ngdoc service
     * @name GrupoMensageria
     * @module s4c.services.GrupoMensageria
     * 
     * @description  Componente para acesso a api do backend e/ou comunicação entre controllers
     * 
     *
     */
     
'use strict';

(function () {
   /**	
	* @method GrupoMensageria
	* @param {*} $http
	* @param {*} $q
	* @param {*} API_ENDPOINT
	*/
    function GrupoMensageria($http, $q, API_ENDPOINT) {
        var service = {
            remove: remove,
            save: save,
            queryByDepartamento: queryByDepartamento
        }

  		/**	
		* @method remove
		* @param {*} id
		*/
        function remove(id) {
            var deferred = $q.defer();
            $http.delete(API_ENDPOINT + 'grupo_mensageria/' + id)
                .then(function (res) {
                    if (typeof res.data === 'object') {
                        deferred.resolve(res.data);
                    } else {
                        deferred.reject(res);
                    }
                }, function (err) {
                    deferred.reject(err);
                });

            return deferred.promise;
        }

  		/**	
		* @method save
		* @param {*} grupo
		*/
        function save(grupo) {
            var deferred = $q.defer();
            $http.put(API_ENDPOINT + 'grupo_mensageria/', grupo)
                .then(function (res) {
                    if (typeof res.data === 'object') {
                        deferred.resolve(res.data);
                    } else {
                        deferred.reject(res);
                    }
                }, function (err) {
                    deferred.reject(err);
                });

            return deferred.promise;
        }

  		/**	
		* @method queryByDepartamento
		* @param {*} departamentoId
		*/
        function queryByDepartamento(departamentoId) {
            var deferred = $q.defer();
            $http.get(API_ENDPOINT + 'grupo_mensageria/departamento/' + departamentoId)
                .then(function (res) {
                    if (typeof res.data === 'object') {
                        deferred.resolve(res.data);
                    } else {
                        deferred.reject(res);
                    }
                }, function (err) {
                    deferred.reject(err);
                });

            return deferred.promise;
        }

        return service;
    }

    angular.module('s4c.services.GrupoMensageria', [])
        .factory('GrupoMensageria', GrupoMensageria);

    GrupoMensageria.$inject = ['$http', '$q', 'API_ENDPOINT'];
}());