import { z } from "zod";
import { countries } from "../../data/company";

export const fairSchema = z.object({
  title: z
    .string({ required_error: "Le titre est obligatoire" })
    .min(1, "Le titre est obligatoire")
    .max(500, "500 caractères au maximum"),
  country: z.enum(countries, {
    required_error: "La pays est obligatoire",
    invalid_type_error: "La pays est invalide",
  }),
  place: z
    .string({ required_error: "Le lieu est obligatoire" })
    .min(1, "Le lieu est obligatoire")
    .max(500, "500 caractères au maximum"),

  startDate: z.string({ required_error: "La date de début est obligatoire" }),
  endDate: z.string({ required_error: "La date de fin est obligatoire" }),

  sector: z.string().max(250, "250 caractères au maximum"),
  organizer: z.string().max(250, "250 caractères au maximum"),

  phoneNumber: z.string().max(250, "250 caractères au maximum"),
  fax: z.string().max(250, "250 caractères au maximum"),
  email: z
    .string({ required_error: "L'adresse mail est obligatoire" })
    .email({ message: "L'adresse mail est invalide" })
    .max(250, "250 caractères au maximum"),
  website: z.string().max(250, "250 caractères au maximum"),
});

export type FairSchema = z.infer<typeof fairSchema>;
