import { Request, Response, NextFunction } from 'express'; import { Schema } from 'zod'; export function validateRequest(schema: Schema) { return async (req: Request, res: Response, next: NextFunction) => { try { await schema.parseAsync({ body: req.body, query: req.query, params: req.params }); next(); } catch (error) { res.status(400).json({ error: 'Invalid request data' }); } }; }