Checkpoint: Checkpoint saved: Ajout de l'enregistrement des tests de rappel dans l'historique (table logsRappels) :

- Ajout du champ typeEnvoi (enum 'automatique', 'test') dans le schéma Drizzle de la table logsRappels
- Ajout de la fonction createLogRappel dans server/db.ts pour enregistrer les logs
- Modification de la procédure testerRappel pour enregistrer chaque envoi de test avec typeEnvoi='test'
- Enregistrement des succès et des échecs dans l'historique
- Les tests n'interfèrent pas avec les rappels automatiques (typeEnvoi='automatique')
- Migration SQL appliquée sur le VPS : ALTER TABLE logsRappels ADD COLUMN typeEnvoi
- Déployé sur le VPS de production (https://formations.itinova.org)
- Mise à jour du fichier todo.md

Les envois de test apparaissent maintenant dans l'historique des rappels et sont distingués des envois automatiques programmés.
This commit is contained in:
Manus
2026-01-16 03:53:53 -05:00
parent c05d20dd19
commit b9fbfafc69
6 changed files with 2237 additions and 1 deletions

View File

@@ -1461,10 +1461,40 @@ export const appRouter = router({
attachmentFilename: rappelAUtiliser.nomFichier || undefined,
attachmentMimeType: rappelAUtiliser.typeFichier || undefined,
});
// Enregistrer dans l'historique avec typeEnvoi = 'test'
await db.createLogRappel({
rappelId: rappelAUtiliser.id,
sequenceId: input.sequenceId,
apprenantId: apprenant.id,
email: apprenant.email,
type: rappelAUtiliser.templateType,
typeEnvoi: 'test',
statut: 'succes',
dateEnvoi: new Date(),
});
nbEnvoyes++;
} catch (error: any) {
nbEchecs++;
erreurs.push(`${apprenant.email}: ${error.message}`);
// Enregistrer l'échec dans l'historique
try {
await db.createLogRappel({
rappelId: rappelAUtiliser.id,
sequenceId: input.sequenceId,
apprenantId: apprenant.id,
email: apprenant.email,
type: rappelAUtiliser.templateType,
typeEnvoi: 'test',
statut: 'echec',
messageErreur: error.message,
dateEnvoi: new Date(),
});
} catch (logError) {
console.error('[LogRappel] Erreur lors de l\'enregistrement du log:', logError);
}
}
}