import { z } from "zod";

const emailSchema = z
  .string()
  .trim()
  .toLowerCase()
  .email("Adresse email invalide")
  .max(254);

export const sectorEmailsTestSchema = z.object({
  sectorId: z.coerce.number().int().positive(),
  confirmation: z.literal("ENVOYER_TEST_SECTEUR"),
});

export const sectorEmailsUpdateSchema = z
  .object({
    sectorId: z.coerce.number().int().positive(),
    emails: z.array(emailSchema),
  })
  .transform((value) => ({
    sectorId: value.sectorId,
    emails: [...new Set(value.emails)],
  }));

export type SectorEmailsUpdateInput = z.infer<typeof sectorEmailsUpdateSchema>;