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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user