import { z } from "zod";

export const leadsSchema = z.object({
  id: z.number(),
  clientId: z.number(),
  propId: z.number(),
  rentRange: z.number(),
  roomType: z.number(),
  name: z
    .string()
    .min(3, "Name should be atleast 3 characters")
    .max(150, "Name shouldn't be more than 150 characters"),
  mobile: z
    .string()
    .min(10, "Mobile number should be 10-digit only.")
    .max(10, "Mobile number should be 10-digit only."),
  gender: z.number(),
  visitType: z.number(),
  visitDateTime: z.string(),
  source: z.number(),
  remarks: z.string(),
  email: z.string(),
  status: z.number(),
  createdAt: z.string().datetime(),
  updatedAt: z.string().datetime(),
});

type leadTypes = z.infer<typeof leadsSchema>;

export const addLeadSchema = z.object({
  rentRange: leadsSchema.shape.rentRange,
  roomType: leadsSchema.shape.roomType,
  name: leadsSchema.shape.name,
  mobile: leadsSchema.shape.mobile,
  gender: leadsSchema.shape.gender,
  visitType: leadsSchema.shape.visitType,
  visitDateTime: leadsSchema.shape.visitDateTime.optional(),
  source: leadsSchema.shape.source,
  remarks: leadsSchema.shape.remarks,
});

export const editLeadSchema = z.object({
  id: leadsSchema.shape.id,
  visitDateTime: leadsSchema.shape.visitDateTime.optional(),
  status: leadsSchema.shape.status,
  remarks: leadsSchema.shape.remarks,
});

export default leadTypes;
