Add paginated fetching for app backups

This commit is contained in:
Johannes Zellner
2022-12-19 17:10:43 +01:00
parent 16574c7c5e
commit 611f08c056
+26 -5
View File
@@ -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) {