localbox/schema.ts
2025-03-15 09:51:20 -05:00

25 lines
No EOL
681 B
TypeScript

import { z } from 'zod';
import parties from './constants/parties.json' with { type: 'json' };
/*
LOGIN API
*/
export const login = z.object({
nickname: z.string().nonempty().max(25),
critterId: z.enum([
"hamster",
"beaver",
"lizard",
"raccoon",
"penguin",
"snail",
"snow_greeter",
"snowkeeper",
"snowgirl",
"snow_patrol",
"snowgrandma"
]).default("hamster"),
partyId: z.enum(parties as [string, ...string[]]).default("default"),
persistent: z.boolean().default(false),
mods: z.array(z.enum(["roomExits"])).default([])
}).strict(); // Strict to disallow extra keys