Checkpoint: Ajout d'une validation backend dans les procédures create et update des séquences pour garantir que la date de fin soit toujours après la date de début pour toutes les dates de formation. Cela empêche la création de fichiers ICS invalides.

This commit is contained in:
Manus
2026-01-23 08:57:41 -05:00
parent 437ea58959
commit 95245b38e8
4 changed files with 66 additions and 0 deletions

View File

@@ -454,6 +454,18 @@ export const appRouter = router({
})).mutation(async ({ input }) => {
const { dates, ...sequenceData } = input;
// Valider que chaque date de fin est après la date de début
for (const date of dates) {
const debut = new Date(date.dateDebut);
const fin = new Date(date.dateFin);
if (fin <= debut) {
throw new TRPCError({
code: 'BAD_REQUEST',
message: 'La date de fin doit être après la date de début pour toutes les dates de formation',
});
}
}
// Créer la séquence
const result = await db.createSequence({
...sequenceData,
@@ -496,6 +508,18 @@ export const appRouter = router({
console.log('[UPDATE SEQUENCE] Input reçu:', JSON.stringify(input, null, 2));
// Valider que chaque date de fin est après la date de début
for (const date of dates) {
const debut = new Date(date.dateDebut);
const fin = new Date(date.dateFin);
if (fin <= debut) {
throw new TRPCError({
code: 'BAD_REQUEST',
message: 'La date de fin doit être après la date de début pour toutes les dates de formation',
});
}
}
// Mettre à jour la séquence
const updateData: any = {
...sequenceData,