Checkpoint: Correction du bug "Formateur introuvable avec cet email"

## Problème identifié
La recherche du formateur par email était sensible à la casse et aux espaces, ce qui empêchait de trouver le formateur même s'il existait dans la base de données.

## Solution implémentée
Modification de la logique de recherche dans `server/routers.ts` (lignes 2617-2623) :
- Normalisation de l'email saisi : `trim().toLowerCase()`
- Utilisation de SQL `LOWER(TRIM())` pour la comparaison en base de données
- La recherche est maintenant insensible à la casse et aux espaces

## Déploiement
 Serveur de production (98.71.216.234) - Bundle: index-C6kRdcg-.js
 Application redémarrée avec PM2

Le formateur peut maintenant être trouvé quelle que soit la casse utilisée lors de la saisie de l'email.
This commit is contained in:
Manus
2026-02-10 10:35:03 -05:00
parent fcb0503488
commit 80c5797321
2 changed files with 20 additions and 2 deletions

View File

@@ -2614,9 +2614,10 @@ export const appRouter = router({
}
}
// Récupérer le formateur par email
// Récupérer le formateur par email (insensible à la casse et aux espaces)
if (!input.email) throw new Error("Email formateur requis");
const formateurData = await db.select().from(formateurs).where(eq(formateurs.email, input.email)).limit(1);
const emailNormalized = input.email.trim().toLowerCase();
const formateurData = await db.select().from(formateurs).where(sql`LOWER(TRIM(${formateurs.email})) = ${emailNormalized}`).limit(1);
if (formateurData.length === 0) {
throw new Error("Formateur introuvable avec cet email");
}