const { z } = require("zod"); const { passwordSchema } = require("./password.validation"); const { emailSchema } = require("./email.validation"); const registerSchema = z .object({ firstname: z.string().min(2, "Le prénom doit contenir au moins 2 caractères"), lastname: z.string().min(2, "Le nom doit contenir au moins 2 caractères"), email: emailSchema, password: passwordSchema, // Vérifiée aussi côté serveur : le contrôle du navigateur ne protège pas // un appel direct à l'API. confirmPassword: z.string({ error: "Veuillez confirmer le mot de passe" }), birthdate: z.string().optional(), gender: z.string().optional(), marketingOptIn: z.boolean().optional(), }) .refine((data) => data.password === data.confirmPassword, { message: "Les deux mots de passe ne correspondent pas", path: ["confirmPassword"], }); const loginSchema = z.object({ email: emailSchema, password: z.string().min(1, "Mot de passe requis"), }); module.exports = { registerSchema, loginSchema, };