import { z } from "zod";
import { trainingTypes } from "../../data/training";

export const trainingSchema = z.object({
  title: z
    .string({ required_error: "Le titre est obligatoire" })
    .min(1, "Le titre est obligatoire")
    .max(500, "500 caractères au maximum"),
  place: z
    .string({ required_error: "Le lieu est obligatoire" })
    .min(1, "Le lieu est obligatoire")
    .max(500, "500 caractères au maximum"),
  date: z.string({ required_error: "La date est obligatoire" }),

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

  type: z.enum(trainingTypes, {
    required_error: "La type est obligatoire",
    invalid_type_error: "La type est invalide",
  }),
  description: z.string({ required_error: "La description est obligatoire" }),
  document: z.string().max(500, "500 caractères au maximum").nullable(),
});

export type TrainingSchema = z.infer<typeof trainingSchema>;
