/**
* @ngdoc directives
* @name BarraBuscaService
* @module s4c.directives.barra-busca.BarraBuscaService
*
* @description
* `BarraBuscaService` gerencia a comunicação da Barra de Busca com a API de
* buscas do backend do S4C.
*
*/
(function () {
'use strict';
function BarraBuscaService($http, $q, API_ENDPOINT) {
/**
*
* Obtem base de conhecimento
*
* @method getBaseConhecimento
*
* @param data {obj} critérios de busca para filtrar na busca por bases
* de conhecimento
*
* @returns {Promise} Promise que resolve com os resultados.
*/
function getBaseConhecimento(data) {
var deferred = $q.defer();
var url = API_ENDPOINT + 'baseconhecimento/find/' + data.texto;
$http.get(url)
.then(function (res) {
if (typeof res.data === 'object') {
deferred.resolve(res.data);
} else {
deferred.reject(res);
}
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
}
/**
*
* Obtem sensores
*
* @method getSensores
*
*
* @returns {Promise} Promise que resolve com os resultados.
*/
function getSensores() {
var deferred = $q.defer();
var url = API_ENDPOINT + 'menuCamada/sensores';
$http.get(url)
.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 {
getBaseConhecimento: getBaseConhecimento,
getSensores: getSensores
};
}
angular.module('s4c.components.busca')
.service('BarraBuscaService', BarraBuscaService);
BarraBuscaService.$inject = ['$http', '$q', 'API_ENDPOINT'];
})();