import { NextFunction, Request, Response } from "express";
import { CatchAsyncError } from "../../middleware/Catch";
import { z } from "zod";
import ZodValidation from "../../utils/zodValidator";

export const IPValidation = CatchAsyncError(async (req: Request, res: Response, next: NextFunction) => {

    console.log("myreq.body", req.body)

    const zodValidation = z.object({
        name: z.string({ message: "Please enter name" })
            .min(2, { message: "Name must be at least 2 characters" })
            .max(50, { message: "Name must be under 50 characters" })
            .regex(/^[A-Za-z ]+$/, {
                message: "Name can only contain letters and spaces"
            }),
        ip_address: z
            .string({ message: "Ip Address is Required !!" })
            .ip({ message: "Please enter a valid ip address", version: "v4" })
    })

    await ZodValidation(req, res, next, zodValidation)

})