diff --git a/dashboard/src/components/AppArchive.vue b/dashboard/src/components/AppArchive.vue index e067d4519..7b5a1af30 100644 --- a/dashboard/src/components/AppArchive.vue +++ b/dashboard/src/components/AppArchive.vue @@ -98,7 +98,6 @@ async function onRestore(archive) { restoreLocation.value = app.subdomain; const d = domains.value.find(function (d) { return app.domain === d.domain; }); - console.log(d) restoreDomain.value = d ? d.domain : domains.value[0].domain; // try to pre-select the app's domain restoreSecondaryDomains.value = {}; restoreNeedsOverwrite.value = false; @@ -109,18 +108,20 @@ async function onRestore(archive) { const httpPorts = archive.manifest.httpPorts || {}; for (const env in httpPorts) { restoreSecondaryDomains.value[env] = { + title: httpPorts[env].title, + description: httpPorts[env].description, subdomain: httpPorts[env].defaultValue || '', - domain: restoreSecondaryDomains.value.domain + domain: restoreDomain.value, }; } // now fill secondaryDomains with real values, if exists - if (archive.secondaryDomains) { - archive.secondaryDomains.forEach(function (sd) { - restoreSecondaryDomains.value[sd.environmentVariable] = { - subdomain: sd.subdomain, - domain: domains.value.find(function (d) { return sd.domain === d.domain; }) - }; + if (app.secondaryDomains) { + app.secondaryDomains.forEach(function (sd) { + const usedDomain = domains.value.find(function (d) { return sd.domain === d.domain; }); + + restoreSecondaryDomains.value[sd.environmentVariable].subdomain = sd.subdomain; + restoreSecondaryDomains.value[sd.environmentVariable].domain = usedDomain ? usedDomain.domain : restoreDomain.value; }); } @@ -157,7 +158,7 @@ async function onRestoreSubmit() { for (const env in restoreSecondaryDomains.value) { secondaryDomains[env] = { subdomain: restoreSecondaryDomains.value[env].subdomain, - domain: restoreSecondaryDomains.value[env].domain.domain + domain: restoreSecondaryDomains.value[env].domain }; } @@ -172,7 +173,7 @@ async function onRestoreSubmit() { const data = { subdomain: restoreLocation.value, domain: restoreDomain.value, - secondaryDomains: secondaryDomains, + secondaryDomains, // ports: finalPorts, ports: {}, overwriteDns: restoreNeedsOverwrite.value, @@ -200,6 +201,7 @@ async function onRestoreSubmit() { const [error] = await archivesModel.restore(restoreArchive.value.id, data); if (error) { if (error.type === 'externally_exists') { + restoreError.value.dnsInUse = 'Some DNS records exist. Submit again to overwrite.'; restoreNeedsOverwrite.value = true; } else { restoreError.value.generic = error.body ? error.body.message : 'Internal error'; @@ -251,6 +253,7 @@ onMounted(async () => {