import { z } from 'zod'; export const createUserSchema = z.object({ name: z.string().min(1, 'Nome é obrigatório').max(100), gross_salary: z.number().nonnegative('Salário bruto deve ser >= 0'), net_salary_override: z.number().nonnegative().nullable().optional(), }); export const updateUserSchema = z.object({ name: z.string().min(1).max(100).optional(), gross_salary: z.number().nonnegative().optional(), /** * Envia `null` para limpar o override e voltar ao valor calculado automaticamente. */ net_salary_override: z.number().nonnegative().nullable().optional(), }); export const userParamsSchema = z.object({ id: z.coerce.number().int().positive(), }); export type CreateUserInput = z.infer; export type UpdateUserInput = z.infer;