diff --git a/dashboard/src/components/AppImportDialog.vue b/dashboard/src/components/AppImportDialog.vue index 150b9f4af..9b19b3582 100644 --- a/dashboard/src/components/AppImportDialog.vue +++ b/dashboard/src/components/AppImportDialog.vue @@ -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); } }