From e3745cdcdfdba8e61d1e94dc1ce1ae6c90d5618b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <git@minelli.me>
Date: Mon, 13 May 2024 19:55:50 +0200
Subject: [PATCH] Prepare for v4.1.0

---
 CHANGELOG.md                                     | 11 ++++++++++-
 ExpressAPI/package-lock.json                     |  4 ++--
 ExpressAPI/package.json                          |  2 +-
 ExpressAPI/src/middlewares/SecurityMiddleware.ts |  6 +++---
 4 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index cb0c415..7faee31 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -18,7 +18,16 @@
 -->
 
 
-## 4.0.0 (???)
+## 4.1.0 (Upcoming)
+
+### ✨ Feature
+- Add features related to corrige (commentary, commit specific link / update, delete link)
+
+### 🎨 Interface
+- Ask for confirmation before creating an exercise that already exists
+
+
+## 4.0.0 (2024-04-19)
 
 ### ✨ Feature
 - Add features related to corrige (commentary, commit specific link / update, delete link)
diff --git a/ExpressAPI/package-lock.json b/ExpressAPI/package-lock.json
index dfe2501..95813cd 100644
--- a/ExpressAPI/package-lock.json
+++ b/ExpressAPI/package-lock.json
@@ -1,12 +1,12 @@
 {
     "name": "dojo_backend_api",
-    "version": "4.0.0",
+    "version": "4.1.0",
     "lockfileVersion": 3,
     "requires": true,
     "packages": {
         "": {
             "name": "dojo_backend_api",
-            "version": "4.0.0",
+            "version": "4.1.0",
             "license": "AGPLv3",
             "dependencies": {
                 "@dotenvx/dotenvx": "^0.27.1",
diff --git a/ExpressAPI/package.json b/ExpressAPI/package.json
index 09038b7..cd772d9 100644
--- a/ExpressAPI/package.json
+++ b/ExpressAPI/package.json
@@ -1,7 +1,7 @@
 {
     "name"           : "dojo_backend_api",
     "description"    : "Backend API of the Dojo project",
-    "version"        : "4.0.0",
+    "version"        : "4.1.0",
     "license"        : "AGPLv3",
     "author"         : "Michaël Minelli <dojo@minelli.me>",
     "main"           : "dist/src/app.js",
diff --git a/ExpressAPI/src/middlewares/SecurityMiddleware.ts b/ExpressAPI/src/middlewares/SecurityMiddleware.ts
index 83c5100..02c54c1 100644
--- a/ExpressAPI/src/middlewares/SecurityMiddleware.ts
+++ b/ExpressAPI/src/middlewares/SecurityMiddleware.ts
@@ -6,8 +6,8 @@ import AssignmentManager from '../managers/AssignmentManager.js';
 
 
 class SecurityMiddleware {
-    private isConnected(checkIfConnected: boolean, req: express.Request): boolean {
-        return checkIfConnected && req.session.profile !== null && req.session.profile !== undefined;
+    private checkIfConnected(checkIfConnected: boolean, req: express.Request): boolean {
+        return !checkIfConnected || (req.session.profile !== null && req.session.profile !== undefined);
     }
 
     private async checkType(checkType: SecurityCheckType, req: express.Request): Promise<boolean> {
@@ -33,7 +33,7 @@ class SecurityMiddleware {
     // First check if connected then check if at least ONE rule match. It's NOT an AND but it's a OR function.
     check(checkIfConnected: boolean, ...checkTypes: Array<SecurityCheckType>): (req: express.Request, res: express.Response, next: express.NextFunction) => void {
         return (req: express.Request, res: express.Response, next: express.NextFunction) => {
-            if ( !this.isConnected(checkIfConnected, req) ) {
+            if ( !this.checkIfConnected(checkIfConnected, req) ) {
                 return req.session.sendResponse(res, StatusCodes.UNAUTHORIZED);
             }
 
-- 
GitLab