import { NextFunction, Response, Request } from "express";
import {ValidationRule} from '../types/controller'
import validate from './validators/validate'
import logger from '../libs/logger';

 // eslint-disable-next-line @typescript-eslint/no-explicit-any
const injectValidateFormRequest =(validators: ValidationRule<any>[]) => {
    return (req: Request, res: Response, next: NextFunction) => {
            const isValid = validate(req, validators);
            logger.info(`isvalid ************* ${isValid}`)
            if (!isValid) {
                return res.redirect(`${req.originalUrl}?hasError=true`);
            }
            next();
    };
}
export default injectValidateFormRequest;