From 93ce4f1c3e4974fab46c23e5785636e6c3811c09 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me>
Date: Wed, 21 Feb 2024 21:28:14 +0100
Subject: [PATCH] AssignmentRoutes => Correct code to suppress ts-ignore need

---
 ExpressAPI/src/routes/AssignmentRoutes.ts | 21 ++++-----------------
 1 file changed, 4 insertions(+), 17 deletions(-)

diff --git a/ExpressAPI/src/routes/AssignmentRoutes.ts b/ExpressAPI/src/routes/AssignmentRoutes.ts
index c32ee2d..fc39e22 100644
--- a/ExpressAPI/src/routes/AssignmentRoutes.ts
+++ b/ExpressAPI/src/routes/AssignmentRoutes.ts
@@ -25,6 +25,7 @@ import path                           from 'path';
 import SharedAssignmentHelper         from '../shared/helpers/Dojo/SharedAssignmentHelper';
 import GlobalHelper                   from '../helpers/GlobalHelper';
 import DojoStatusCode                 from '../shared/types/Dojo/DojoStatusCode';
+import DojoModelsHelper               from '../helpers/DojoModelsHelper';
 
 
 class AssignmentRoutes implements RoutesManager {
@@ -66,33 +67,19 @@ class AssignmentRoutes implements RoutesManager {
 
     // Get an assignment by its name or gitlab url
     private async getAssignment(req: express.Request, res: express.Response) {
-        const assignment: Assignment | undefined = req.boundParams.assignment;
+        const assignment: Partial<Assignment> | undefined = req.boundParams.assignment;
 
-        if ( assignment && !assignment.published && !await AssignmentManager.isUserAllowedToAccessAssignment(assignment, req.session.profile) ) {
-            // eslint-disable-next-line @typescript-eslint/ban-ts-comment
-            // @ts-ignore
+        if ( assignment && !assignment.published && !await AssignmentManager.isUserAllowedToAccessAssignment(assignment as Assignment, req.session.profile) ) {
             delete assignment.gitlabId;
-            // eslint-disable-next-line @typescript-eslint/ban-ts-comment
-            // @ts-ignore
             delete assignment.gitlabLink;
-            // eslint-disable-next-line @typescript-eslint/ban-ts-comment
-            // @ts-ignore
             delete assignment.gitlabCreationInfo;
-            // eslint-disable-next-line @typescript-eslint/ban-ts-comment
-            // @ts-ignore
             delete assignment.gitlabLastInfo;
-            // eslint-disable-next-line @typescript-eslint/ban-ts-comment
-            // @ts-ignore
             delete assignment.gitlabLastInfoDate;
-            // eslint-disable-next-line @typescript-eslint/ban-ts-comment
-            // @ts-ignore
             delete assignment.staff;
-            // eslint-disable-next-line @typescript-eslint/ban-ts-comment
-            // @ts-ignore
             delete assignment.exercises;
         }
 
-        return assignment ? req.session.sendResponse(res, StatusCodes.OK, assignment) : res.status(StatusCodes.NOT_FOUND).send();
+        return assignment ? req.session.sendResponse(res, StatusCodes.OK, DojoModelsHelper.getFullSerializableObject(assignment)) : res.status(StatusCodes.NOT_FOUND).send();
     }
 
     private async createAssignment(req: express.Request, res: express.Response) {
-- 
GitLab