UNPKG

sheercms

Version:

Sheer Cliff CMS is a simple and powerful content management system (CMS) for Node JS.

84 lines (74 loc) 2.38 kB
/* Angular Service: Stat */ app.service('StatService', function($q, $http, $upload) { var self = this; self.getSystemStats = function(role) { var d = $q.defer(); $http({ url:"/cms/stats/get", method: 'get', params: { }}).success(function(data) { d.resolve(data); }).error(function(data, status) { d.reject(data); }); return d.promise; }; self.backupDatabase = function() { var d = $q.defer(); $http.post("/cms/stats/backup", {}).success(function(data) { d.resolve(data); }).error(function(data, status) { d.reject(data); }); return d.promise; }; self.deleteBackup = function(name) { var d = $q.defer(); $http.post("/cms/stats/deleteBackup", {name: name}).success(function(data) { d.resolve(data); }).error(function(data, status) { d.reject(data); }); return d.promise; }; self.restoreBackup = function(name) { var d = $q.defer(); $http.post("/cms/stats/restoreBackup", {name: name}).success(function(data) { d.resolve(data); }).error(function(data, status) { d.reject(data); }); return d.promise; }; /* onProgress: (loaded, total) onError: (message) */ self.uploadBackup = function(file, onProgress, onError) { var d = $q.defer(); console.log("Uploading backup file: " + file.name); $upload.upload({ url: '/cms/stats/uploadBackup', method: 'POST', data: { }, file: file }).progress(function(evt) { if (onProgress) onProgress(evt.loaded, evt.total); }).success(function(data, status, headers, config) { if (data && data.success !== true) { if (onError) onError(data.message); d.resolve({success: false, message: data.message}); } else if (data) { d.resolve({success: true, message: data.message, backups: data.backups}); } else { d.reject("No data returned in response."); } }).error(function(error) { d.reject(error); }); return d.promise; }; });