import { z } from "zod"; // Upper bounds keep a huge request body from being fed into scrypt. export const MAX_USERNAME_LENGTH = 100; export const MAX_PASSWORD_LENGTH = 200; export const MIN_PASSWORD_LENGTH = 8; export const loginSchema = z .object({ username: z.string().trim().min(1).max(MAX_USERNAME_LENGTH), password: z.string().min(1).max(MAX_PASSWORD_LENGTH), }) .strict(); export const changePasswordSchema = z .object({ currentPassword: z.string().min(1).max(MAX_PASSWORD_LENGTH), newPassword: z.string().min(MIN_PASSWORD_LENGTH).max(MAX_PASSWORD_LENGTH), }) .strict();