/**
* @ngdoc service
* @name FileService
* @module s4c.services.FileService
*
* @description Componente para acesso a api do backend e/ou comunicação entre controllers
*
*
*/
(function () {
angular.module('s4c.services')
.factory('FileService', FileService);
FileService.$inject = [
'Base',
'$q',
'$http',
'API_ENDPOINT'
]
/**
* @method FileService
* @param {*} $http
* @param {*} $q
* @param {*} Base
* @param {*} API_ENDPOINT
*/
function FileService(Base, $q, $http, API_ENDPOINT) {
var service = {
downloadFile: downloadFile,
addFile: addFile,
deleteFile: deleteFile
};
/**
* @method addFile
* @param {*} tipo
* @param {*} arquivo
*/
function addFile(tipo, arquivo) {
return Base.salvar('filemanager/addarquivo/' + tipo, arquivo);
}
/**
* @method downloadFile
* @param {*} id
*/
function downloadFile(id) {
var deferred = $q.defer();
$http
.get(API_ENDPOINT + 'filemanager/' + id, { responseType: 'arraybuffer' })
.then(function (res) {
deferred.resolve(res.data);
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
}
/**
* @method deleteFile
* @param {*} id
*/
function deleteFile(id) {
return Base.remover('filemanager/' + id);
}
return service;
}
}());