From b6fb2df875fccea22d8c26de193be80d1872942c Mon Sep 17 00:00:00 2001
From: "vincent.steinman" <vincent.steinmann@etu.hesge.ch>
Date: Fri, 22 Mar 2024 18:43:32 +0100
Subject: [PATCH] fixed answer to submission but removed URL param

---
 ExpressAPI/src/managers/TagSubmitManager.ts |  2 +-
 ExpressAPI/src/routes/TagsRoutes.ts         | 18 +++++-------------
 2 files changed, 6 insertions(+), 14 deletions(-)

diff --git a/ExpressAPI/src/managers/TagSubmitManager.ts b/ExpressAPI/src/managers/TagSubmitManager.ts
index d942eeb..853096f 100644
--- a/ExpressAPI/src/managers/TagSubmitManager.ts
+++ b/ExpressAPI/src/managers/TagSubmitManager.ts
@@ -1,4 +1,4 @@
-import { Prisma, SubmissionTag }           from '@prisma/client';
+import { SubmissionTag }           from '@prisma/client';
 import db                        from '../helpers/DatabaseHelper';
 
 class TagSubmitManager {
diff --git a/ExpressAPI/src/routes/TagsRoutes.ts b/ExpressAPI/src/routes/TagsRoutes.ts
index bcf1a77..ec13714 100644
--- a/ExpressAPI/src/routes/TagsRoutes.ts
+++ b/ExpressAPI/src/routes/TagsRoutes.ts
@@ -9,13 +9,6 @@ import SecurityCheckType              from '../types/SecurityCheckType';
 import SecurityMiddleware             from '../middlewares/SecurityMiddleware';
 import ParamsValidatorMiddleware      from '../middlewares/ParamsValidatorMiddleware';
 
-
-enum SubmitStatus{
-	PendingApproval,
-    Declined,
-    Approved
-}
-
 class TagRoutes implements RoutesManager {
     private readonly tagsValidatorNameType: ExpressValidator.Schema = {
         name: {
@@ -47,7 +40,7 @@ class TagRoutes implements RoutesManager {
         backend.delete('/tags/:tageName', SecurityMiddleware.check(true, SecurityCheckType.ADMIN), this.deleteTag.bind(this));
         backend.get('/tags/proposals/:state', SecurityMiddleware.check(true, SecurityCheckType.ADMIN), this.getSubmittedTag.bind(this));
         backend.post('/tags/proposals', SecurityMiddleware.check(true, SecurityCheckType.TEACHING_STAFF), ParamsValidatorMiddleware.validate(this.tagsValidatorNameType), this.SubmitTag.bind(this));
-        backend.patch('/tags/proposals/:tagProposalName', SecurityMiddleware.check(true, SecurityCheckType.ADMIN), ParamsValidatorMiddleware.validate(this.tagsValidatorName), this.validateTag.bind(this));
+        backend.patch('/tags/proposals', SecurityMiddleware.check(true, SecurityCheckType.ADMIN), ParamsValidatorMiddleware.validate(this.tagsValidatorName), this.validateTag.bind(this));
     }
 
     private async addTag(req: express.Request, res: express.Response) {
@@ -92,7 +85,6 @@ class TagRoutes implements RoutesManager {
     private async SubmitTag(req: express.Request, res: express.Response) {
         const tagName = req.body.name
         const tagType = req.body.type
-        const tagState = req.body.state
 
         db.submissionTag.upsert({
             where : { name: tagName },
@@ -100,7 +92,7 @@ class TagRoutes implements RoutesManager {
             create: {
                 name            : tagName,
                 type            : tagType,
-                state           : tagState
+                state           : "PendingApproval"
             }
         })
 
@@ -112,13 +104,13 @@ class TagRoutes implements RoutesManager {
     private async validateTag(req: express.Request, res: express.Response) {
         const state = req.body.state
 
-        if(state == SubmitStatus.PendingApproval){
+        if(state == "PendingApproval"){
             return req.session.sendResponse(res, StatusCodes.OK, "Approbation toujours en attente"); 
-        } else if (state == SubmitStatus.Declined){
+        } else if (state == "Declined"){
             const detail = req.body.details
             return req.session.sendResponse(res, StatusCodes.OK, detail); 
         } else{
-            const tagName = req.params.tagProposalName
+            const tagName = req.body.tagProposalName
             const tagType = req.body.type
             db.tag.upsert({
                 where : { name: tagName },
-- 
GitLab