66 lines
1.7 KiB
JavaScript
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
|
|
};
|
|
});
|
|
|