/**
* @ngdoc service
* @name RotaService
* @module s4c.services.RotaService
*
* @description Componente para acesso a api do backend e/ou comunicação entre controllers
*
*
*/
'use strict';
(function () {
/**
* @method RotaService
* @param {*} $http
* @param {*} $q
* @param {*} API_ENDPOINT
*/
function RotaService(API_ENDPOINT, $q, $http) {
/**
* @method pegarAcervos
*/
function pegarAcervos() {
var deferred = $q.defer();
$http.get(API_ENDPOINT + 'acervos')
.then(function (res) {
if (typeof res.data === 'object') {
deferred.resolve(res.data);
} else {
deferred.reject();
}
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
}
/**
*
* @param salvarRota
* @param {obj} obj objeto contendo informações da Rota
*
* @returns {Promise} Promise que resolve contendo um objeto com a nova
* rota salva no banco.
*/
function salvarRota(obj) {
var deferred = $q.defer();
$http.put(API_ENDPOINT + 'rotas', obj)
.then(function (res) {
if (typeof res.data === 'object') {
deferred.resolve(res.data);
} else {
deferred.reject();
}
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
}
/**
* @method updateRota
*
* @param {obj} objeto contendo informações da Rota
* @returns {Promise} Promise que resolve contendo um objeto com a nova
* rota salva no banco.
*/
function updateRota(obj) {
var deferred = $q.defer();
$http.post(API_ENDPOINT + 'rotas', obj)
.then(function (res) {
if (typeof res.data === 'object') {
deferred.resolve(res.data);
} else {
deferred.reject();
}
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
}
return {
pegarAcervos: pegarAcervos,
updateRota: updateRota,
salvarRota: salvarRota
};
}
angular.module('s4c.services.RotaService', [])
.factory('RotaService', RotaService);
RotaService.$inject = ['API_ENDPOINT', '$q', '$http'];
}());