diff --git a/ExpressAPI/assets/OpenAPI/OpenAPI.yaml b/ExpressAPI/assets/OpenAPI/OpenAPI.yaml index ba7dd032340c8fe43f9f642825bf16d7a1d80ca4..b5e4c6f16618b4e065c177bab57b516dd3e9e150 100644 --- a/ExpressAPI/assets/OpenAPI/OpenAPI.yaml +++ b/ExpressAPI/assets/OpenAPI/OpenAPI.yaml @@ -1,7 +1,7 @@ openapi: 3.1.0 info: title: Dojo API - version: 3.1.2 + version: 3.1.3 description: | **Backend API of the Dojo project.** diff --git a/ExpressAPI/package.json b/ExpressAPI/package.json index 037f615a6012c94191944def406ae123b36fd580..ad25538f7ae3b48611a3be7270654a8c390011ff 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" : "3.1.2", + "version" : "3.1.3", "license" : "AGPLv3", "author" : "Michaƫl Minelli <dojo@minelli.me>", "main" : "dist/src/app.js", diff --git a/ExpressAPI/src/routes/AssignmentRoutes.ts b/ExpressAPI/src/routes/AssignmentRoutes.ts index 605bbc45ad29c13d9a2ff698ee93a86f34ba28ca..645104b41c1ff85f3c9e1609922529a01f6027b2 100644 --- a/ExpressAPI/src/routes/AssignmentRoutes.ts +++ b/ExpressAPI/src/routes/AssignmentRoutes.ts @@ -46,11 +46,11 @@ class AssignmentRoutes implements RoutesManager { }; registerOnBackend(backend: Express) { - backend.get('/assignments/:assignmentNameOrUrl', SecurityMiddleware.check(true), this.getAssignment); - backend.post('/assignments', SecurityMiddleware.check(true, SecurityCheckType.TEACHING_STAFF), ParamsValidatorMiddleware.validate(this.assignmentValidator), this.createAssignment); + backend.get('/assignments/:assignmentNameOrUrl', SecurityMiddleware.check(true), this.getAssignment.bind(this)); + backend.post('/assignments', SecurityMiddleware.check(true, SecurityCheckType.TEACHING_STAFF), ParamsValidatorMiddleware.validate(this.assignmentValidator), this.createAssignment.bind(this)); - backend.patch('/assignments/:assignmentNameOrUrl/publish', SecurityMiddleware.check(true, SecurityCheckType.ASSIGNMENT_STAFF), this.publishAssignment); - backend.patch('/assignments/:assignmentNameOrUrl/unpublish', SecurityMiddleware.check(true, SecurityCheckType.ASSIGNMENT_STAFF), this.unpublishAssignment); + backend.patch('/assignments/:assignmentNameOrUrl/publish', SecurityMiddleware.check(true, SecurityCheckType.ASSIGNMENT_STAFF), this.publishAssignment.bind(this)); + backend.patch('/assignments/:assignmentNameOrUrl/unpublish', SecurityMiddleware.check(true, SecurityCheckType.ASSIGNMENT_STAFF), this.unpublishAssignment.bind(this)); } // Get an assignment by its name or gitlab url diff --git a/ExpressAPI/src/routes/BaseRoutes.ts b/ExpressAPI/src/routes/BaseRoutes.ts index c0ac80aa491060937f3c309fd52c314f18144fe7..474f5bbbe6a7a1a0e28a120c52ebea8cd501e410 100644 --- a/ExpressAPI/src/routes/BaseRoutes.ts +++ b/ExpressAPI/src/routes/BaseRoutes.ts @@ -6,8 +6,8 @@ import RoutesManager from '../express/RoutesManager'; class BaseRoutes implements RoutesManager { registerOnBackend(backend: Express) { - backend.get('/', this.homepage); - backend.get('/health_check', this.healthCheck); + backend.get('/', this.homepage.bind(this)); + backend.get('/health_check', this.healthCheck.bind(this)); } private async homepage(req: express.Request, res: express.Response) { diff --git a/ExpressAPI/src/routes/GitlabRoutes.ts b/ExpressAPI/src/routes/GitlabRoutes.ts index 009052705080b3cebe8f9971f4f49bbac6d0d7f2..2f4affb7a12eb72ab9c5bd927994f5aac7c60c16 100644 --- a/ExpressAPI/src/routes/GitlabRoutes.ts +++ b/ExpressAPI/src/routes/GitlabRoutes.ts @@ -8,7 +8,7 @@ import GitlabManager from '../managers/GitlabManager'; class GitlabRoutes implements RoutesManager { registerOnBackend(backend: Express) { - backend.get('/gitlab/project/:gitlabProjectIdOrNamespace/checkTemplateAccess', SecurityMiddleware.check(true, SecurityCheckType.TEACHING_STAFF), this.checkTemplateAccess); + backend.get('/gitlab/project/:gitlabProjectIdOrNamespace/checkTemplateAccess', SecurityMiddleware.check(true, SecurityCheckType.TEACHING_STAFF), this.checkTemplateAccess.bind(this)); } private async checkTemplateAccess(req: express.Request, res: express.Response) { diff --git a/ExpressAPI/src/routes/SessionRoutes.ts b/ExpressAPI/src/routes/SessionRoutes.ts index a5bd42f18851e66b469cf4d66591f5a2dd9f9ad5..60b630d9fcf37254f4f068acc0272265ca149d1c 100644 --- a/ExpressAPI/src/routes/SessionRoutes.ts +++ b/ExpressAPI/src/routes/SessionRoutes.ts @@ -32,9 +32,9 @@ class SessionRoutes implements RoutesManager { }; registerOnBackend(backend: Express) { - backend.post('/login', ParamsValidatorMiddleware.validate(this.loginValidator), this.login); - backend.post('/refresh_tokens', ParamsValidatorMiddleware.validate(this.refreshTokensValidator), this.refreshTokens); - backend.get('/test_session', SecurityMiddleware.check(true), this.testSession); + backend.post('/login', ParamsValidatorMiddleware.validate(this.loginValidator), this.login.bind(this)); + backend.post('/refresh_tokens', ParamsValidatorMiddleware.validate(this.refreshTokensValidator), this.refreshTokens.bind(this)); + backend.get('/test_session', SecurityMiddleware.check(true), this.testSession.bind(this)); } private async login(req: express.Request, res: express.Response) {