clone: secondary domains are required

This commit is contained in:
Girish Ramakrishnan
2022-02-01 23:36:41 -08:00
parent 26bfa32c7b
commit b75afaf5d5
2 changed files with 18 additions and 6 deletions

View File

@@ -2155,8 +2155,6 @@ async function clone(app, data, user, auditSource) {
assert.strictEqual(typeof domain, 'string');
assert.strictEqual(typeof portBindings, 'object');
const locations = [{ subdomain: subdomain, domain, type: 'primary' }];
const domainObjectMap = await validateLocations(locations);
const backupInfo = await backups.get(backupId);
if (!backupInfo.manifest) throw new BoxError(BoxError.EXTERNAL_ERROR, 'Could not get restore config');
@@ -2164,8 +2162,17 @@ async function clone(app, data, user, auditSource) {
const manifest = backupInfo.manifest, appStoreId = app.appStoreId;
let error = validateSecondaryDomains(data.secondaryDomains || {}, manifest);
if (error) throw error;
const secondaryDomains = translateSecondaryDomains(data.secondaryDomains || {});
const locations = [{ subdomain: subdomain, domain, type: exports.SUBDOMAIN_TYPE_PRIMARY }]
.concat(secondaryDomains.map(ad => _.extend(ad, { type: exports.SUBDOMAIN_TYPE_SECONDARY })));
const domainObjectMap = await validateLocations(locations);
// re-validate because this new box version may not accept old configs
let error = checkManifestConstraints(manifest);
error = checkManifestConstraints(manifest);
if (error) throw error;
error = validatePortBindings(portBindings, manifest);
@@ -2186,12 +2193,12 @@ async function clone(app, data, user, auditSource) {
cpuShares: app.cpuShares,
accessRestriction: app.accessRestriction,
sso: !!app.sso,
mailboxName: mailboxName,
mailboxDomain: mailboxDomain,
mailboxName,
mailboxDomain,
enableBackup: app.enableBackup,
reverseProxyConfig: app.reverseProxyConfig,
env: app.env,
secondaryDomains: [],
secondaryDomains,
redirectDomains: [],
aliasDomains: [],
servicesConfig: app.servicesConfig,