import { z } from 'zod'; import { Role } from '../constants/roles'; const roleEnum = z.enum([ Role.SUPER_ADMIN, Role.TENANT_ADMIN, Role.MANAGER, Role.TECHNICIAN, Role.VIEWER, ]); export const createUserSchema = z.object({ email: z.string().email('Invalid email address'), password: z.string().min(8, 'Password must be at least 8 characters'), firstName: z.string().min(1, 'First name is required'), lastName: z.string().min(1, 'Last name is required'), roles: z.array(roleEnum).min(1, 'At least one role is required'), }); export const updateUserSchema = z.object({ firstName: z.string().min(1).optional(), lastName: z.string().min(1).optional(), roles: z.array(roleEnum).min(1).optional(), }); export type CreateUserInput = z.infer; export type UpdateUserInput = z.infer;