(core) show any error when creating initial team site with GRIST_SINGLE_ORG

Summary: Also clarifies that only lowercase letters are accepted.

Test Plan: manual

Reviewers: jarek

Reviewed By: jarek

Subscribers: jarek

Differential Revision: https://phab.getgrist.com/D3647
This commit is contained in:
Paul Fitzpatrick 2022-09-29 08:14:10 -04:00
parent 198beaab2a
commit 0eb1fec3d7
3 changed files with 6 additions and 5 deletions

View File

@ -41,7 +41,7 @@ const BLACKLISTED_SUBDOMAINS = new Set([
export function checkSubdomainValidity(subdomain: string): void {
// stick with limited alphanumeric subdomains.
if (!(/^[a-z0-9][-a-z0-9]*$/.test(subdomain))) {
throw new Error('Domain must include letters, numbers, and dashes only.');
throw new Error('Domain must include lower-case letters, numbers, and dashes only.');
}
// 'docs-*' is reserved for personal orgs.
if (subdomain.startsWith('docs-')) { throw new Error('Domain cannot use reserved prefix "docs-".'); }

View File

@ -80,14 +80,14 @@ export function addSiteCommand(program: commander.Command,
// This should not happen.
throw new Error('failed to create user');
}
await db.addOrg(user, {
db.unwrapQueryResult(await db.addOrg(user, {
name: domain,
domain,
}, {
setUserAsOwner: false,
useNewPlan: true,
planType: 'teamFree'
});
}));
});
}

View File

@ -86,14 +86,14 @@ export async function main() {
// This should not happen.
throw new Error('failed to create GRIST_DEFAULT_EMAIL user');
}
await db.addOrg(user, {
db.unwrapQueryResult(await db.addOrg(user, {
name: org,
domain: org,
}, {
setUserAsOwner: false,
useNewPlan: true,
planType: TEAM_FREE_PLAN
});
}));
}
}
@ -102,6 +102,7 @@ export async function main() {
if (process.env.GRIST_TESTING_SOCKET) {
await server.addTestingHooks();
}
return server;
}
if (require.main === module) {