Checkpoint: Correction de l'erreur emailTemplates.getByType

## 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.
This commit is contained in:
Manus
2026-01-08 05:18:43 -05:00
parent f56c1d554e
commit 1cee07582f
2 changed files with 5 additions and 2 deletions

View File

@@ -562,10 +562,10 @@ export async function getAllEmailTemplates() {
*/ */
export async function getEmailTemplateByType(type: string) { export async function getEmailTemplateByType(type: string) {
const db = await getDb(); 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); 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;
} }
/** /**

View File

@@ -512,3 +512,6 @@
- [x] Ajouter "Rappel 3", "Rappel 4", "Rappel 5", "Rappel 6" dans AdminEmailTemplates.tsx - [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] 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 - [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