| /** | |
| * Esquemas Zod para validar inputs del modulo de mercados. | |
| * | |
| * Responsabilidades: | |
| * - listQuery → limit (1-100, default 20), offset, category enum, status enum. | |
| * - idParam → string no vacio para el parametro :id. | |
| * | |
| * Consumido por: | |
| * - markets.routes.js → validate(listQuery, 'query') y validate(idParam, 'params'). | |
| */ | |
| import { z } from 'zod'; | |
| export const listQuery = z.object({ | |
| limit: z.coerce.number().int().min(1).max(200).default(60), | |
| offset: z.coerce.number().int().min(0).default(0), | |
| // Acepta cualquier categoria (las del DB estan en espanol y son dinamicas). | |
| category: z.string().optional(), | |
| status: z.enum(['active', 'closed', 'resolved']).default('active'), | |
| }); | |
| export const idParam = z.object({ | |
| id: z.string().min(1), | |
| }); | |