Source: components/legenda/legenda.services.js

/**
 * @ngdoc legenda
 * @name LegendaService
 * @module s4c.components.legenda.LegendaService
 *
 * @description  Componente para acesso a api do backend e/ou comunicação entre controllers
 * 
 * 
 */
(function () {
    'use strict';

    /**
     * @method LegendaService
     * 
     * @param {*} $http 
     * @param {*} API_ENDPOINT 
     * @param {*} $q 
     */
    function LegendaService($http, API_ENDPOINT, $q) {

        /**
         * @method pegarLegenda
         * @param {*} id 
         */
        function pegarLegenda(id) {
            var deferred = $q.defer();

            $http.get(API_ENDPOINT + 'representacoes/' + id)
                .then(function (res) {
                    if (typeof res.data === 'object') {
                        deferred.resolve(res.data);
                    } else {
                        deferred.reject();
                    }
                }, function (err) {
                    deferred.reject(err);
                });

            return deferred.promise;
        }

        /**
         * @method pegarCategoriaDasLegendas
         */
        function pegarCategoriaDasLegendas() {
            var deferred = $q.defer();

            $http.get(API_ENDPOINT + 'categorias/representacao/')
                .then(function (res) {
                    if (typeof res.data === 'object') {
                        deferred.resolve(res.data);
                    } else {
                        deferred.reject();
                    }
                }, function (err) {
                    deferred.reject(err);
                });

            return deferred.promise;
        }

        return {
            pegarLegenda: pegarLegenda,
            pegarCategoriaDasLegendas: pegarCategoriaDasLegendas
        };
    }

    angular.module('s4c.services.LegendaService', [])
        .service('LegendaService', LegendaService);

    LegendaService.$inject = ['$http', 'API_ENDPOINT', '$q'];

}());