Checkpoint: Checkpoint saved: Correction complète de l'enregistrement des logs de rappels :

**Problèmes corrigés :**
1. Type de rappel erroné : utilisait typeRappel au lieu de type, affichait le mauvais template (J-1 au lieu de J+2)
2. Statut erroné : utilisait "success"/"failed" (anglais) au lieu de "succes"/"echec" (français)
3. Email erroné : utilisait emailDestinataire au lieu de email
4. Champs obsolètes : supprimé dateSequence qui n'existe plus dans le schéma

**Fichiers modifiés :**
- server/rappelDb.ts : Réécriture complète avec les bons noms de colonnes (email, type, statut, typeEnvoi)
- server/rappelScheduler.ts : Correction des appels à logRappelEnvoye avec les bons paramètres
- server/routers.ts : Correction de l'enum du statut dans la procédure historique (succes/echec)

**Résultat :**
- Les logs de rappels enregistrent maintenant correctement le type de rappel (J+2, J-7, etc.)
- Le statut est correctement enregistré en français (succes/echec)
- L'email du destinataire est correctement enregistré
- Les tests de rappel sont distingués des envois automatiques via typeEnvoi

Déployé sur le VPS de production (https://formations.itinova.org)
This commit is contained in:
Manus
2026-01-16 06:33:12 -05:00
parent b9fbfafc69
commit 8f21fdd276
4 changed files with 31 additions and 29 deletions

View File

@@ -224,10 +224,10 @@ async function processRappel(rappel: any) {
rappelId: rappel.id,
sequenceId: sequence.id,
apprenantId: apprenant.id,
emailDestinataire: apprenant.email,
typeRappel: rappel.templateType,
statut: "success",
dateSequence: toutesLesDates[0].dateDebut,
email: apprenant.email,
type: rappel.templateType,
typeEnvoi: 'automatique',
statut: "succes",
});
nbEnvoyes++;
} catch (emailError: any) {
@@ -239,11 +239,11 @@ async function processRappel(rappel: any) {
rappelId: rappel.id,
sequenceId: sequence.id,
apprenantId: apprenant.id,
emailDestinataire: apprenant.email,
typeRappel: rappel.templateType,
statut: "failed",
email: apprenant.email,
type: rappel.templateType,
typeEnvoi: 'automatique',
statut: "echec",
messageErreur: messageErreur,
dateSequence: toutesLesDates[0].dateDebut,
});
nbEchecs++;
echecs.push({ email: apprenant.email, erreur: messageErreur });