| /** | |
| * 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<T>(schema: ZodSchema<T>) { | |
| 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(); | |
| }; | |
| } | |