Skip to content
Snippets Groups Projects
Commit 98688c68 authored by bedran.sezer's avatar bedran.sezer Committed by michael.minelli
Browse files

add stats

parent 351f58b4
Branches
No related tags found
No related merge requests found
...@@ -76,6 +76,41 @@ class ExerciseRoutes implements RoutesManager { ...@@ -76,6 +76,41 @@ class ExerciseRoutes implements RoutesManager {
backend.delete('/exercises/:exerciseIdOrUrl', SecurityMiddleware.check(true, SecurityCheckType.ADMIN, SecurityCheckType.EXERCISE_MEMBERS), this.deleteExercise.bind(this) as RequestHandler); backend.delete('/exercises/:exerciseIdOrUrl', SecurityMiddleware.check(true, SecurityCheckType.ADMIN, SecurityCheckType.EXERCISE_MEMBERS), this.deleteExercise.bind(this) as RequestHandler);
backend.post('/exercises/:exerciseIdOrUrl/results', SecurityMiddleware.check(false, SecurityCheckType.EXERCISE_SECRET), ParamsValidatorMiddleware.validate(this.resultValidator), this.createResult.bind(this) as RequestHandler); backend.post('/exercises/:exerciseIdOrUrl/results', SecurityMiddleware.check(false, SecurityCheckType.EXERCISE_SECRET), ParamsValidatorMiddleware.validate(this.resultValidator), this.createResult.bind(this) as RequestHandler);
backend.get('/exercises', this.getAllExercises.bind(this));
backend.get('/exercises/:exerciseIdOrLink/results', SecurityMiddleware.check(true), this.getExerciseResultsByIdOrLink.bind(this));
}
private async getExerciseResultsByIdOrLink(req: express.Request, res: express.Response) {
const exerciseIdOrLink = req.params.exerciseIdOrLink;
const exercise = await db.exercise.findFirst({
where: {
OR: [
{ id: exerciseIdOrLink },
{ gitlabLink: exerciseIdOrLink }
]
}
});
if (!exercise) {
return res.status(StatusCodes.NOT_FOUND).send('Exercise not found');
}
const results = await db.result.findMany({
where: { exerciseId: exercise.id },
});
return res.status(StatusCodes.OK).json(results);
}
private async getAllExercises(req: express.Request, res: express.Response) {
const exo = await db.exercise.findMany();
return req.session.sendResponse(res, StatusCodes.OK, exo);
} }
private getExerciseName(assignment: Assignment, members: Array<Gitlab.UserSchema>, suffix: number): string { private getExerciseName(assignment: Assignment, members: Array<Gitlab.UserSchema>, suffix: number): string {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment