backups: fix app restore with tgz
This commit is contained in:
+8
-7
@@ -81,16 +81,15 @@ async function upload(remotePath, targetId, dataLayoutString, progressCallback)
|
||||
await backupFormat.api(backupTarget.format).upload(backupTarget, remotePath, dataLayout, progressCallback);
|
||||
}
|
||||
|
||||
async function download(backupConfig, remotePath, format, dataLayout, progressCallback) {
|
||||
assert.strictEqual(typeof backupConfig, 'object');
|
||||
async function download(backupTarget, remotePath, dataLayout, progressCallback) {
|
||||
assert.strictEqual(typeof backupTarget, 'object');
|
||||
assert.strictEqual(typeof remotePath, 'string');
|
||||
assert.strictEqual(typeof format, 'string');
|
||||
assert(dataLayout instanceof DataLayout, 'dataLayout must be a DataLayout');
|
||||
assert.strictEqual(typeof progressCallback, 'function');
|
||||
|
||||
debug(`download: Downloading ${remotePath} of format ${format} (encrypted: ${!!backupConfig.encryption}) to ${dataLayout.toString()}`);
|
||||
debug(`download: Downloading ${remotePath} of format ${backupTarget.format} (encrypted: ${!!backupTarget.encryption}) to ${dataLayout.toString()}`);
|
||||
|
||||
await backupFormat.api(format).download(backupConfig, remotePath, dataLayout, progressCallback);
|
||||
await backupFormat.api(backupTarget.format).download(backupTarget, remotePath, dataLayout, progressCallback);
|
||||
}
|
||||
|
||||
async function restore(backupConfig, remotePath, progressCallback) {
|
||||
@@ -122,9 +121,10 @@ async function downloadApp(app, restoreConfig, progressCallback) {
|
||||
const dataLayout = new DataLayout(appDataDir, app.storageVolumeId ? [{ localDir: await apps.getStorageDir(app), remoteDir: 'data' }] : []);
|
||||
|
||||
const startTime = new Date();
|
||||
const backupConfig = restoreConfig.backupConfig || await backupTargets.getConfig();
|
||||
const backup = await backups.get(restoreConfig.backupId);
|
||||
const backupTarget = await backupTargets.get(backup.targetId);
|
||||
|
||||
await download(backupConfig, restoreConfig.remotePath, restoreConfig.backupFormat, dataLayout, progressCallback);
|
||||
await download(backupTarget, backup.remotePath, dataLayout, progressCallback);
|
||||
debug('downloadApp: time: %s', (new Date() - startTime)/1000);
|
||||
}
|
||||
|
||||
@@ -518,6 +518,7 @@ async function fullBackup(backupTargetId, options, progressCallback) {
|
||||
// this function is called from external process
|
||||
async function appBackup(appId, backupTargetId, options, progressCallback) {
|
||||
assert.strictEqual(typeof appId, 'string');
|
||||
assert.strictEqual(typeof backupTargetId, 'string');
|
||||
assert.strictEqual(typeof options, 'object');
|
||||
assert.strictEqual(typeof progressCallback, 'function');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user