polysignal_hackaton / backend /src /markets /markets.validators.js
blackmistcode's picture
Add files using upload-large-folder tool
dfe11f8 verified
/**
* 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),
});