/** * Request validation middleware using Zod schemas. * @module validateRequest */ import { Request, Response, NextFunction } from 'express'; import { ZodSchema } from 'zod'; import { ValidationError } from '../utils/errors.js'; export function validateBody(schema: ZodSchema) { return (req: Request, _res: Response, next: NextFunction): void => { const result = schema.safeParse(req.body); if (!result.success) { const message = result.error.errors.map((e) => e.message).join(', '); next(new ValidationError(message)); return; } next(); }; }