File size: 777 Bytes
dfe11f8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/**
 * 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),
});