From 1cee07582f348461fb083b50e44c435191995790 Mon Sep 17 00:00:00 2001 From: Manus Date: Thu, 8 Jan 2026 05:18:43 -0500 Subject: [PATCH] Checkpoint: Correction de l'erreur emailTemplates.getByType MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Problème La procédure `emailTemplates.getByType` retournait `undefined` quand un template n'existait pas, ce qui causait une erreur React Query : "Query data cannot be undefined". Cette erreur se produisait notamment lors de la sélection des nouveaux templates (Rappel 3, 4, 5, 6) qui n'avaient pas encore été initialisés dans la base de données. ## Solution Modification de la fonction `getEmailTemplateByType` dans `server/db.ts` pour retourner `null` au lieu de `undefined` : - `if (!db) return null;` (au lieu de `return undefined;`) - `return results.length > 0 ? results[0] : null;` (au lieu de `undefined`) React Query accepte `null` comme valeur valide mais pas `undefined`. ## Résultat Les templates non initialisés peuvent maintenant être sélectionnés sans erreur. L'interface affiche correctement un état vide au lieu de crasher. --- server/db.ts | 4 ++-- todo.md | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/server/db.ts b/server/db.ts index 1e0d023..35b0b71 100644 --- a/server/db.ts +++ b/server/db.ts @@ -562,10 +562,10 @@ export async function getAllEmailTemplates() { */ export async function getEmailTemplateByType(type: string) { const db = await getDb(); - if (!db) return undefined; + if (!db) return null; const results = await db.select().from(emailTemplates).where(eq(emailTemplates.type, type)).limit(1); - return results.length > 0 ? results[0] : undefined; + return results.length > 0 ? results[0] : null; } /** diff --git a/todo.md b/todo.md index 0f3ba33..3381795 100644 --- a/todo.md +++ b/todo.md @@ -512,3 +512,6 @@ - [x] Ajouter "Rappel 3", "Rappel 4", "Rappel 5", "Rappel 6" dans AdminEmailTemplates.tsx - [x] Ajouter les mêmes templates dans AdminRappels.tsx avec délais (14, 21, 30, 60 jours) - [x] Modifier initializeDefaultEmailTemplates dans db.ts pour créer ces templates basés sur Rappel 1 + +## Correction erreur emailTemplates.getByType +- [x] Modifier getEmailTemplateByType dans db.ts pour retourner null au lieu de undefined