const { body, param, validationResult } = require("express-validator"); const validate = (req, res, next) => { const errors = validationResult(req); if (!errors.isEmpty()) { return res.status(400).json({ success: false, errors: errors.array().map((err) => ({ field: err.path, message: err.msg, })), }); } next(); }; /** * Create post validation */ const createPostValidation = [ body("content") .trim() .notEmpty() .withMessage("Post content is required") .isLength({ min: 1, max: 1000 }) .withMessage("Content must be between 1 and 1000 characters"), body("imageUrl") .optional() .trim() .isURL() .withMessage("Image URL must be a valid URL"), validate, ]; /** * Post ID validation */ const postIdValidation = [ param("id").isMongoId().withMessage("Invalid post ID"), validate, ]; module.exports = { createPostValidation, postIdValidation, validate, };