diff --git a/src/apps.js b/src/apps.js index 03dbd3bd3..694a8f8f5 100644 --- a/src/apps.js +++ b/src/apps.js @@ -846,13 +846,14 @@ function backup(appId, callback) { }); } -function restoreApp(app, addonsToRestore, callback) { +function restoreApp(app, addonsToRestore, backupId, callback) { assert.strictEqual(typeof app, 'object'); assert.strictEqual(typeof addonsToRestore, 'object'); + assert.strictEqual(typeof backupId, 'string'); assert.strictEqual(typeof callback, 'function'); assert(app.lastBackupId); - backups.getRestoreUrl(app.lastBackupId, function (error, result) { + backups.getRestoreUrl(backupId, function (error, result) { if (error && error.reason == BackupsError.EXTERNAL_ERROR) return callback(new AppsError(AppsError.EXTERNAL_ERROR, error.message)); if (error) return callback(new AppsError(AppsError.INTERNAL_ERROR, error)); diff --git a/src/apptask.js b/src/apptask.js index 2fb1a5979..e3fb51a2f 100644 --- a/src/apptask.js +++ b/src/apptask.js @@ -464,6 +464,8 @@ function restore(app, callback) { return install(app, callback); } + var backupId = app.lastBackupId; + async.series([ updateApp.bind(null, app, { installationProgress: '10, Cleaning up old install' }), unconfigureNginx.bind(null, app), @@ -499,7 +501,7 @@ function restore(app, callback) { createVolume.bind(null, app), updateApp.bind(null, app, { installationProgress: '70, Download backup and restore addons' }), - apps.restoreApp.bind(null, app, app.manifest.addons), + apps.restoreApp.bind(null, app, app.manifest.addons, backupId), updateApp.bind(null, app, { installationProgress: '75, Creating container' }), createContainer.bind(null, app),