diff --git a/src/js/client.js b/src/js/client.js index ab5b20711..8940e42eb 100644 --- a/src/js/client.js +++ b/src/js/client.js @@ -1531,12 +1531,33 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout }; Client.prototype.getAppBackups = function (appId, callback) { - get('/api/v1/apps/' + appId + '/backups', null, function (error, data, status) { - if (error) return callback(error); - if (status !== 200) return callback(new ClientError(status, data)); + var page = 1; + var perPage = 100; + var backups = []; - callback(null, data.backups); - }); + function fetchMore() { + var config = { + params: { + page: page, + per_page: perPage + } + }; + + get('/api/v1/apps/' + appId + '/backups', config, function (error, data, status) { + if (error) return callback(error); + if (status !== 200) return callback(new ClientError(status, data)); + + backups = backups.concat(data.backups); + + if (data.backups.length < perPage) return callback(null, backups); + + page++; + + fetchMore(); + }); + } + + fetchMore(); }; Client.prototype.getAppBackupDownloadLink = function (appId, backupId) {