From d157bf30f33594c41c6ae42b8a3397276882126c Mon Sep 17 00:00:00 2001 From: "girish@cloudron.io" Date: Tue, 8 Mar 2016 08:52:20 -0800 Subject: [PATCH] remove box backups from the database --- src/backups.js | 28 +++++++++++++++++++--------- src/routes/backups.js | 9 +++++++-- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/src/backups.js b/src/backups.js index bb8c82a38..d1a22d439 100644 --- a/src/backups.js +++ b/src/backups.js @@ -3,7 +3,8 @@ exports = module.exports = { BackupsError: BackupsError, - getAllPaged: getAllPaged, + getPaged: getPaged, + getByAppIdPaged: getByAppIdPaged, getBackupUrl: getBackupUrl, getAppBackupUrl: getAppBackupUrl, @@ -53,19 +54,28 @@ function api(provider) { } } -function getAllPaged(page, perPage, callback) { - assert.strictEqual(typeof page, 'number'); - assert.strictEqual(typeof perPage, 'number'); +function getPaged(page, perPage, callback) { + assert(typeof page === 'number' && page > 0); + assert(typeof perPage === 'number' && perPage > 0); assert.strictEqual(typeof callback, 'function'); - settings.getBackupConfig(function (error, backupConfig) { + backupdb.getPaged(page, perPage, function (error, results) { if (error) return callback(new BackupsError(BackupsError.INTERNAL_ERROR, error)); - api(backupConfig.provider).getAllPaged(backupConfig, page, perPage, function (error, backups) { - if (error) return callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error)); + callback(null, results); + }); +} - return callback(null, backups); // [ { creationTime, restoreKey } ] sorted by time (latest first - }); +function getByAppIdPaged(page, perPage, appId, callback) { + assert(typeof page === 'number' && page > 0); + assert(typeof perPage === 'number' && perPage > 0); + assert.strictEqual(typeof appId, 'string'); + assert.strictEqual(typeof callback, 'function'); + + backupdb.getByAppIdPaged(page, perPage, appId, function (error, results) { + if (error) return callback(new BackupsError(BackupsError.INTERNAL_ERROR, error)); + + callback(null, results); }); } diff --git a/src/routes/backups.js b/src/routes/backups.js index 11dd9de2c..3fea992d0 100644 --- a/src/routes/backups.js +++ b/src/routes/backups.js @@ -11,12 +11,17 @@ var backups = require('../backups.js'), BackupsError = require('../backups.js').BackupsError, cloudron = require('../cloudron.js'), CloudronError = require('../cloudron.js').CloudronError, - debug = require('debug')('box:routes/backups'), HttpError = require('connect-lastmile').HttpError, HttpSuccess = require('connect-lastmile').HttpSuccess; function get(req, res, next) { - backups.getAllPaged(1, 5, function (error, result) { + var page = typeof req.query.page !== 'undefined' ? parseInt(req.query.page) : 1; + if (!page || page < 0) return next(new HttpError(400, 'page query param has to be a postive number')); + + var perPage = typeof req.query.per_page !== 'undefined'? parseInt(req.query.per_page) : 25; + if (!perPage || perPage < 0) return next(new HttpError(400, 'per_page query param has to be a postive number')); + + backups.getPaged(page, perPage, function (error, result) { if (error && error.reason === BackupsError.EXTERNAL_ERROR) return next(new HttpError(503, error.message)); if (error) return next(new HttpError(500, error));