import: explictly handle all the config keys

This commit is contained in:
Girish Ramakrishnan
2025-12-03 20:33:23 +01:00
parent 99c14533a5
commit 550df1be89
+23 -5
View File
@@ -214,9 +214,17 @@ function onBackupConfigChanged(event) {
providerConfig.value = {};
for (const [key, value] of Object.entries(data.config)) {
if (key === 'noHardlinks' || key === 'chown' || key === 'preserveAttributes') {
switch (key) {
case 'noHardlinks':
case 'chown':
case 'preserveAttributes':
// not really used for importing
} else if (key === 'mountOptions') { // providerConfig uses a flattened format of config.mountOptions
break;
case 'projectId':
case 'credentials':
// gcs fields which should be set by user by uploading json
break;
case '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;
@@ -226,10 +234,20 @@ function onBackupConfigChanged(event) {
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'
break;
case 'accessKeyId': // s3
case 'secretAccessKey': // s3
case 'bucket': // s3, gcs
case 'prefix': // s3, gcs
case 'signatureVersion': // s3
case 'endpoint': // s3
case 'region': // s3
case 'acceptSelfSignedCerts': // s3
case 's3ForcePathStyle': // s3
providerConfig.value[key] = value;
break;
default:
console.log('unhandled key when importing config file:', key);
}
}