diff --git a/CHANGELOG.md b/CHANGELOG.md index cb0c41592ad2cd8f125b0db8f186d175faca689e..7faee3126e000d77f46aed6099fed53d814b8550 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 dfe25011593756652ea4192cd94d071e9b5367a9..95813cdf25311ccac689201564dc729a99a6f917 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 09038b7250d83b02be2d9dc90f3918c253d149d0..cd772d9c9a2a1fd4265bc7563c8e0b5e6bddb54e 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 83c5100ada96e3d8e83c192d27b76559d3461962..02c54c16b151e259a45b8ff47fda8f9f50b17bf6 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); }