skimmer/public/static/app/services/backend-service.js

66 lines
1.7 KiB
JavaScript

'use strict';
angular.module('skimmerApp')
.factory('skBackendService', function($timeout, $q, $filter, Restangular) {
var createBin = function(priv){
return Restangular
.all('bins/')
.post({"private": priv})
};
var updateBin = function(bin){
return Restangular
.all('bins')
.one(bin.name)
.customPUT(bin)
};
var getHistory = function(){
return Restangular
.one('bins/')
.getList()
};
var getRequests = function(qBin){
var qDefer = $q.defer();
qBin.then(function(bin){
Restangular
.one('bins', bin.name)
.getList('requests/')
.then(qDefer.resolve);
});
return qDefer.promise;
};
var getRequest = function(qBin, id){
var qDefer = $q.defer();
qBin.then(function(bin){
Restangular
.one('bins', bin.name)
.one('requests', id)
.get()
.then(qDefer.resolve, qDefer.reject);
});
return qDefer.promise;
};
var getBin = function(name){
return Restangular
.one('bins', name)
.get()
};
return {
'createBin': createBin,
'getHistory': getHistory,
'getRequests': getRequests,
'getRequest': getRequest,
'getBin': getBin,
'updateBin': updateBin
};
});