From 62222870edc8277a023436336d41d908ea2cde73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <git@minelli.swiss> Date: Tue, 25 Feb 2025 16:13:38 +0100 Subject: [PATCH] Routes => Fix exercises counting (with deleted ones) --- ExpressAPI/src/managers/ExerciseManager.ts | 7 +++---- ExpressAPI/src/routes/ExerciseRoutes.ts | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/ExpressAPI/src/managers/ExerciseManager.ts b/ExpressAPI/src/managers/ExerciseManager.ts index bc64be6..e18207f 100644 --- a/ExpressAPI/src/managers/ExerciseManager.ts +++ b/ExpressAPI/src/managers/ExerciseManager.ts @@ -15,11 +15,10 @@ class ExerciseManager { }) as unknown as Exercise ?? undefined; } - getFromAssignment(assignmentName: string, include: Prisma.ExerciseInclude | undefined = undefined): Promise<Array<Exercise>> { + // deleteFilter is a boolean that is true to get only deleted exercises, false to get only non-deleted exercises, and undefined to get all exercises + getFromAssignment(assignmentName: string, deleteFilter: boolean | undefined = undefined, include: Prisma.ExerciseInclude | undefined = undefined): Promise<Array<Exercise>> { return db.exercise.findMany({ - where : { - assignmentName: assignmentName - }, + where : { assignmentName: assignmentName, ...(deleteFilter !== undefined ? { deleted: deleteFilter } : {}) }, include: include }) as Promise<Array<Exercise>>; } diff --git a/ExpressAPI/src/routes/ExerciseRoutes.ts b/ExpressAPI/src/routes/ExerciseRoutes.ts index f3939c7..5137daa 100644 --- a/ExpressAPI/src/routes/ExerciseRoutes.ts +++ b/ExpressAPI/src/routes/ExerciseRoutes.ts @@ -133,7 +133,7 @@ class ExerciseRoutes implements RoutesManager { private async checkExerciseLimit(assignment: Assignment, members: Array<Gitlab.UserSchema>): Promise<Array<Gitlab.UserSchema>> { - const exercises: Array<Exercise> | undefined = await ExerciseManager.getFromAssignment(assignment.name, { members: true }); + const exercises: Array<Exercise> | undefined = await ExerciseManager.getFromAssignment(assignment.name, false, { members: true }); const reachedLimitUsers: Array<Gitlab.UserSchema> = []; if ( exercises.length > 0 ) { for ( const member of members ) { -- GitLab