diff --git a/src/js/client.js b/src/js/client.js index 7328d1947..9a88462e3 100644 --- a/src/js/client.js +++ b/src/js/client.js @@ -590,15 +590,22 @@ angular.module('Application').service('Client', ['$http', '$interval', 'md5', 'N }).error(defaultErrorHandler(callback)); }; + Client.prototype.getTaskProgress = function (taskId, callback) { + get('/api/v1/tasks/' + taskId).success(function (data, status) { + if (status !== 200 || typeof data !== 'object') return callback(new ClientError(status, data)); + callback(null, data); + }).error(defaultErrorHandler(callback)); + }; + Client.prototype.startBackup = function (callback) { - post('/api/v1/cloudron/start_backup').success(function(data, status) { + post('/api/v1/backups').success(function(data, status) { if (status !== 202 || typeof data !== 'object') return callback(new ClientError(status, data)); callback(null, data); }).error(defaultErrorHandler(callback)); }; - Client.prototype.stopBackup = function (callback) { - post('/api/v1/cloudron/stop_backup').success(function(data, status) { + Client.prototype.stopTask = function (taskId, callback) { + post('/api/v1/tasks/' + taskId + '/stop').success(function(data, status) { if (status !== 202 || typeof data !== 'object') return callback(new ClientError(status, data)); callback(null, data); }).error(defaultErrorHandler(callback)); diff --git a/src/views/backups.js b/src/views/backups.js index 07eb493af..cf1d9bd97 100644 --- a/src/views/backups.js +++ b/src/views/backups.js @@ -89,26 +89,26 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat result: '', updateStatus: function () { - Client.progress(function (error, data) { + Client.getTaskProgress('backup', function (error, data) { if (error) return window.setTimeout($scope.createBackup.updateStatus, 250); // check if we are done - if (!data.backup || data.backup.percent >= 100) { - if (data.backup && data.backup.message) console.error('Backup message: ' + data.backup.message); // backup error message + if (data.percent >= 100) { + if (data.message) console.error('Backup message: ' + data.message); // backup error message $scope.createBackup.busy = false; $scope.createBackup.message = ''; $scope.createBackup.detail = ''; $scope.createBackup.percent = 100; // indicates that 'result' is valid - $scope.createBackup.result = data.backup ? data.backup.message : null; + $scope.createBackup.result = data.result; return fetchBackups(); } $scope.createBackup.busy = true; - $scope.createBackup.percent = data.backup.percent; - $scope.createBackup.message = data.backup.message; - $scope.createBackup.detail = data.backup.detail; + $scope.createBackup.percent = data.percent; + $scope.createBackup.message = data.message; + $scope.createBackup.detail = data.detail; window.setTimeout($scope.createBackup.updateStatus, 500); }); }, @@ -143,7 +143,7 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat }, stopBackup: function () { - Client.stopBackup(function (error) { + Client.stopTask('backup', function (error) { if (error) { if (error.statusCode === 409) { $scope.createBackup.errorMessage = 'No backup is currently in progress';