Checkpoint: Retrait des compteurs dynamiques de taux de présence et ajout d'une vérification backend empêchant l'émargement avant la date de formation concernée
This commit is contained in:
@@ -18,6 +18,29 @@ export async function validerPresence(params: {
|
||||
const db = await getDb();
|
||||
if (!db) throw new Error("Database not available");
|
||||
|
||||
// Récupérer la date de formation
|
||||
const dateFormation = await db
|
||||
.select()
|
||||
.from(datesFormation)
|
||||
.where(eq(datesFormation.id, params.dateFormationId))
|
||||
.limit(1);
|
||||
|
||||
if (dateFormation.length === 0) {
|
||||
throw new Error("Date de formation introuvable");
|
||||
}
|
||||
|
||||
// Vérifier que la date actuelle est le jour de la formation ou après
|
||||
const now = new Date();
|
||||
const dateDebut = new Date(dateFormation[0].dateDebut);
|
||||
|
||||
// Réinitialiser les heures pour comparer uniquement les dates
|
||||
now.setHours(0, 0, 0, 0);
|
||||
dateDebut.setHours(0, 0, 0, 0);
|
||||
|
||||
if (now < dateDebut) {
|
||||
throw new Error("Vous ne pouvez pas émarger avant la date de formation");
|
||||
}
|
||||
|
||||
// Vérifier si la présence existe déjà pour cette période
|
||||
const presenceExistante = await db
|
||||
.select()
|
||||
|
||||
Reference in New Issue
Block a user