Block server destruction while linked to an active beta
Protect individual, bulk, and queued removals and rebuilds until beta closure. Recheck ownership before teardown and reject beta admission during pending or unresolved destruction. Fixes #36
This commit is contained in:
@@ -11,7 +11,12 @@ export async function POST({ request }: { request: Request }) {
|
||||
if (!Array.isArray(body?.servers) || !body.servers.every((name: unknown) => typeof name === 'string')) {
|
||||
return json({ error: 'A reviewed server list is required.' }, { status: 400 });
|
||||
}
|
||||
const result = queueHouseParty(body.servers);
|
||||
let result: ReturnType<typeof queueHouseParty>;
|
||||
try {
|
||||
result = queueHouseParty(body.servers);
|
||||
} catch (err) {
|
||||
return json({ ok: false, error: (err as Error).message }, { status: 409 });
|
||||
}
|
||||
if (!result.ok) return json(result, { status: 409 });
|
||||
void kick().catch(err => console.error('[house-party] worker kick failed:', err));
|
||||
return json(result, { status: 202 });
|
||||
|
||||
Reference in New Issue
Block a user