import/restore: fix copying of various s3 options

This commit is contained in:
Girish Ramakrishnan
2025-11-26 14:10:54 +01:00
parent 8cff72cf59
commit e4573f74a4
2 changed files with 49 additions and 6 deletions

View File

@@ -276,13 +276,33 @@ function onBackupConfigChanged(event) {
provider.value = data.provider;
fullPath.value = data.config.prefix ? `${data.config.prefix}/${data.remotePath}` : data.remotePath;
providerConfig.value = data.config;
format.value = data.format;
encrypted.value = !!data.encrypted;
encryptionPasswordHint.value = data.encryptionPasswordHint || '';
encryptionPassword.value = '';
encryptedFilenames.value = data.encryptedFilenames;
siteId.value = data.siteId || '';
providerConfig.value = {};
for (const [key, value] of Object.entries(data.config)) {
if (key === 'noHardlinks' || key === 'chown' || key === 'preserveAttributes') {
// not really used for restoring
} else if (key === 'mountOptions') { // providerConfig uses a flattened format of config.mountOptions
providerConfig.value.mountOptionHost = data.config.mountOptions.host;
providerConfig.value.mountOptionPort = data.config.mountOptions.port;
providerConfig.value.mountOptionRemoteDir = data.config.mountOptions.remoteDir;
providerConfig.value.mountOptionSeal = !!data.config.mountOptions.seal;
providerConfig.value.mountOptionDiskPath = data.config.mountOptions.diskPath;
providerConfig.value.mountOptionUser = data.config.mountOptions.user;
providerConfig.value.mountOptionUsername = data.config.mountOptions.username;
providerConfig.value.mountOptionPassword = data.config.mountOptions.password;
providerConfig.value.mountOptionPrivateKey = '';
} else {
// s3: 'accessKeyId', 'secretAccessKey', 'bucket', 'prefix', 'signatureVersion', 'endpoint', 'region', 'acceptSelfSignedCerts', 's3ForcePathStyle'
// gcs: 'bucket', 'prefix'
providerConfig.value[key] = value;
}
}
};
reader.readAsText(event.target.files[0]);