mothership: instance creation fixes

This commit is contained in:
Ben Allfree 2024-12-04 02:57:06 -08:00
parent a5eaa425c7
commit f39e49ab34
3 changed files with 10 additions and 9 deletions

View File

@ -77,13 +77,14 @@ var HandleInstanceCreate = (c) => {
log(`***TOP OF POST`); log(`***TOP OF POST`);
let data = new DynamicModel({ let data = new DynamicModel({
subdomain: "", subdomain: "",
version: versions[0],
region: "sfo-2" region: "sfo-2"
}); });
log(`***before bind`); log(`***before bind`);
c.bind(data); c.bind(data);
log(`***after bind`); log(`***after bind`);
data = JSON.parse(JSON.stringify(data)); data = JSON.parse(JSON.stringify(data));
const { subdomain, region } = data; const { subdomain, version, region } = data;
log(`***vars`, JSON.stringify({ subdomain, region })); log(`***vars`, JSON.stringify({ subdomain, region }));
if (!subdomain) { if (!subdomain) {
throw new BadRequestError( throw new BadRequestError(
@ -96,7 +97,7 @@ var HandleInstanceCreate = (c) => {
record.set("region", region || `sfo-1`); record.set("region", region || `sfo-1`);
record.set("subdomain", subdomain); record.set("subdomain", subdomain);
record.set("status", "idle"); record.set("status", "idle");
record.set("version", versions[0]); record.set("version", version);
record.set("dev", true); record.set("dev", true);
record.set("syncAdmin", true); record.set("syncAdmin", true);
record.set("notifyMaintenanceMode", true); record.set("notifyMaintenanceMode", true);

View File

@ -15,8 +15,9 @@ export const HandleInstanceCreate = (c: echo.Context) => {
log(`***TOP OF POST`) log(`***TOP OF POST`)
let data = new DynamicModel({ let data = new DynamicModel({
subdomain: '', subdomain: '',
version: versions[0],
region: 'sfo-2', region: 'sfo-2',
}) as { subdomain?: string; region?: string } }) as { subdomain?: string; version?: string; region?: string }
log(`***before bind`) log(`***before bind`)
@ -27,7 +28,7 @@ export const HandleInstanceCreate = (c: echo.Context) => {
// This is necessary for destructuring to work correctly // This is necessary for destructuring to work correctly
data = JSON.parse(JSON.stringify(data)) data = JSON.parse(JSON.stringify(data))
const { subdomain, region } = data const { subdomain, version, region } = data
log(`***vars`, JSON.stringify({ subdomain, region })) log(`***vars`, JSON.stringify({ subdomain, region }))
@ -43,7 +44,7 @@ export const HandleInstanceCreate = (c: echo.Context) => {
record.set('region', region || `sfo-1`) record.set('region', region || `sfo-1`)
record.set('subdomain', subdomain) record.set('subdomain', subdomain)
record.set('status', 'idle') record.set('status', 'idle')
record.set('version', versions[0]) record.set('version', version)
record.set('dev', true) record.set('dev', true)
record.set('syncAdmin', true) record.set('syncAdmin', true)
record.set('notifyMaintenanceMode', true) record.set('notifyMaintenanceMode', true)

View File

@ -19,6 +19,7 @@ export const HandleSignupConfirm = (c: echo.Context) => {
const password = parsed.password?.trim() const password = parsed.password?.trim()
const desiredInstanceName = parsed.instanceName?.trim() const desiredInstanceName = parsed.instanceName?.trim()
const region = parsed.region?.trim() const region = parsed.region?.trim()
const version = parsed.version?.trim() || versions[0]
if (!email) { if (!email) {
throw error(`email`, 'required', 'Email is required') throw error(`email`, 'required', 'Email is required')
@ -64,7 +65,6 @@ export const HandleSignupConfirm = (c: echo.Context) => {
user.set('username', username) user.set('username', username)
user.set('email', email) user.set('email', email)
user.set('subscription', 'free') user.set('subscription', 'free')
user.set('notifyMaintenanceMode', true)
user.setPassword(password) user.setPassword(password)
txDao.saveRecord(user) txDao.saveRecord(user)
} catch (e) { } catch (e) {
@ -74,13 +74,12 @@ export const HandleSignupConfirm = (c: echo.Context) => {
try { try {
const instance = new Record(instanceCollection) const instance = new Record(instanceCollection)
instance.set('subdomain', desiredInstanceName) instance.set('subdomain', desiredInstanceName)
instance.set('region', region || `sfo-1`) instance.set('region', region || `sfo-2`)
instance.set('uid', user.get('id')) instance.set('uid', user.get('id'))
instance.set('status', 'idle') instance.set('status', 'idle')
instance.set('notifyMaintenanceMode', true)
instance.set('syncAdmin', true) instance.set('syncAdmin', true)
instance.set('dev', true) instance.set('dev', true)
instance.set('version', versions[0]) instance.set('version', version)
txDao.saveRecord(instance) txDao.saveRecord(instance)
} catch (e) { } catch (e) {
if (`${e}`.match(/ UNIQUE /)) { if (`${e}`.match(/ UNIQUE /)) {