Checkpoint: Corrections apportées :
- Ajout du support SMTP pour l'envoi d'emails (sans dépendre de Resend) - Correction de l'affichage du statut pour montrer "SMTP Direct" au lieu de "Resend" - Ajout d'alertes spécifiques pour la configuration SMTP - Correction de la fonction upsertEmailConfig pour mettre à jour au lieu de créer une nouvelle configuration - Correction du bug d'enregistrement des champs SMTP dans la base de données - Mise à jour forcée du provider à "smtp" dans la base de données
This commit is contained in:
29
server/db.ts
29
server/db.ts
@@ -692,14 +692,29 @@ export async function upsertEmailConfig(data: InsertEmailConfig) {
|
||||
const db = await getDb();
|
||||
if (!db) return;
|
||||
|
||||
// Désactiver toutes les configurations existantes
|
||||
await db.update(emailConfig).set({ active: false });
|
||||
// Vérifier s'il existe déjà une configuration active
|
||||
const existing = await db
|
||||
.select()
|
||||
.from(emailConfig)
|
||||
.where(eq(emailConfig.active, true))
|
||||
.limit(1);
|
||||
|
||||
// Créer la nouvelle configuration
|
||||
await db.insert(emailConfig).values({
|
||||
...data,
|
||||
active: true,
|
||||
});
|
||||
if (existing.length > 0) {
|
||||
// Mettre à jour la configuration existante
|
||||
await db
|
||||
.update(emailConfig)
|
||||
.set({
|
||||
...data,
|
||||
updatedAt: new Date(),
|
||||
})
|
||||
.where(eq(emailConfig.id, existing[0].id));
|
||||
} else {
|
||||
// Créer une nouvelle configuration
|
||||
await db.insert(emailConfig).values({
|
||||
...data,
|
||||
active: true,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user