Checkpoint: Ajout d'une colonne 'Mode d'envoi' dans l'historique des attestations pour distinguer les envois manuels des envois automatiques. Modifications: ajout du champ modeEnvoi dans la table historiqueAttestations, mise à jour du scheduler d'attestations, et ajout de la colonne dans l'interface utilisateur. Déployé sur le VPS de production.

This commit is contained in:
Manus
2026-01-30 06:01:30 -05:00
parent dd581594b5
commit 53609e901e
9 changed files with 4628 additions and 23 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -92,6 +92,20 @@
"when": 1769705546694,
"tag": "0012_puzzling_baron_zemo",
"breakpoints": true
},
{
"idx": 13,
"version": "5",
"when": 1769766383057,
"tag": "0013_glamorous_forge",
"breakpoints": true
},
{
"idx": 14,
"version": "5",
"when": 1769770887912,
"tag": "0014_overjoyed_overlord",
"breakpoints": true
}
]
}

View File

@@ -504,7 +504,8 @@ export const logsNotifications = mysqlTable("logsNotifications", {
"notification_formateur_inscription",
"notification_formateur_annulation",
"alerte_capacite",
"notification_liste_attente"
"notification_liste_attente",
"attestation"
]).notNull(),
/** Email du destinataire */
emailDestinataire: varchar("emailDestinataire", { length: 320 }).notNull(),
@@ -522,6 +523,8 @@ export const logsNotifications = mysqlTable("logsNotifications", {
messageErreur: text("messageErreur"),
/** Métadonnées supplémentaires (JSON) */
metadata: text("metadata"),
/** Mode d'envoi (manuel ou automatique) */
modeEnvoi: mysqlEnum("modeEnvoi", ["manuel", "auto"]).default("manuel"),
dateEnvoi: timestamp("dateEnvoi").defaultNow().notNull(),
});
@@ -582,6 +585,8 @@ export const historiqueAttestations = mysqlTable("historiqueAttestations", {
statut: mysqlEnum("statut", ["envoye", "erreur"]).notNull(),
messageErreur: text("messageErreur"),
urlAttestation: varchar("urlAttestation", { length: 500 }),
/** Mode d'envoi (manuel ou automatique) */
modeEnvoi: mysqlEnum("modeEnvoi", ["manuel", "auto"]).default("manuel"),
createdAt: timestamp("createdAt").defaultNow().notNull(),
});