backups: fix mounting logic of backup settings and cloudron restore
This commit is contained in:
@@ -18,7 +18,9 @@ const assert = require('assert'),
|
||||
domains = require('./domains.js'),
|
||||
eventlog = require('./eventlog.js'),
|
||||
mail = require('./mail.js'),
|
||||
mounts = require('./mounts.js'),
|
||||
reverseProxy = require('./reverseproxy.js'),
|
||||
safe = require('safetydance'),
|
||||
semver = require('semver'),
|
||||
settings = require('./settings.js'),
|
||||
sysinfo = require('./sysinfo.js'),
|
||||
@@ -177,10 +179,25 @@ function restore(backupConfig, backupId, version, sysinfoConfig, options, auditS
|
||||
callback(error);
|
||||
}
|
||||
|
||||
users.isActivated(function (error, activated) {
|
||||
users.isActivated(async function (error, activated) {
|
||||
if (error) return done(error);
|
||||
if (activated) return done(new BoxError(BoxError.CONFLICT, 'Already activated. Restore with a fresh Cloudron installation.'));
|
||||
|
||||
if (backups.isMountProvider(backupConfig.provider)) {
|
||||
error = mounts.validateMountOptions(backupConfig.provider, backupConfig.mountOptions);
|
||||
if (error) return callback(error);
|
||||
|
||||
const newMount = {
|
||||
name: 'backup',
|
||||
hostPath: backupConfig.mountPoint,
|
||||
mountType: backupConfig.provider,
|
||||
mountOptions: backupConfig.mountOptions
|
||||
};
|
||||
|
||||
[error] = await safe(mounts.tryAddMount(newMount, null, { times: 20, interval: 500 })); // 10 seconds
|
||||
if (error) return callback(error);
|
||||
}
|
||||
|
||||
backups.testProviderConfig(backupConfig, function (error) {
|
||||
if (error) return done(error);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user