diff --git a/backend/src/main/java/pt/ulisboa/tecnico/socialsoftware/tutor/submission/SubmissionController.java b/backend/src/main/java/pt/ulisboa/tecnico/socialsoftware/tutor/submission/SubmissionController.java index a5d643d94..d274857c1 100644 --- a/backend/src/main/java/pt/ulisboa/tecnico/socialsoftware/tutor/submission/SubmissionController.java +++ b/backend/src/main/java/pt/ulisboa/tecnico/socialsoftware/tutor/submission/SubmissionController.java @@ -37,7 +37,7 @@ public ReviewDto createReview(@PathVariable int executionId, @Valid @RequestBody return submissionService.createReview(reviewDto); } - @PutMapping("/management/review/{questionId}") + @PutMapping("/management/reviews/{questionId}") @PreAuthorize("hasRole('ROLE_TEACHER')") public void toggleInReviewStatus(@PathVariable int questionId, @Valid @RequestParam boolean inReview) { submissionService.toggleInReviewStatus(questionId, inReview); @@ -60,7 +60,7 @@ public List getCourseExecutionSubmissions(@PathVariable int execu return submissionService.getCourseExecutionSubmissions(executionId); } - @GetMapping("/submission/{submissionId}/reviews") + @GetMapping("/submissions/{submissionId}/reviews") @PreAuthorize("hasRole('ROLE_TEACHER') or hasRole('ROLE_STUDENT')") public List getSubmissionReviews(@PathVariable int submissionId) { return submissionService.getSubmissionReviews(submissionId); diff --git a/frontend/src/services/RemoteServices.ts b/frontend/src/services/RemoteServices.ts index e909e7843..1759b92cf 100644 --- a/frontend/src/services/RemoteServices.ts +++ b/frontend/src/services/RemoteServices.ts @@ -604,6 +604,59 @@ export default class RemoteServices { }); } + static async toggleInReviewStatus(questionId: number){ + return httpClient + .put(`/management/reviews/${questionId}`) + .catch(async error => { + throw Error(await this.errorMessage(error)); + }); + } + + static async getStudentSubmissions(): Promise { + return httpClient + .get( + `/student/submissions?executionId=${Store.getters.getCurrentCourse.courseExecutionId}` + ) + .then(response => { + return response.data.map((submission: any) => { + return new Submission(submission); + }); + }) + .catch(async error => { + throw Error(await this.errorMessage(error)); + }); + } + + static async getCourseExecutionSubmissions(): Promise { + return httpClient + .get( + `/executions/${Store.getters.getCurrentCourse.courseExecutionId}/submissions` + ) + .then(response => { + return response.data.map((submission: any) => { + return new Submission(submission); + }); + }) + .catch(async error => { + throw Error(await this.errorMessage(error)); + }); + } + + static async getSubmissionReviews(submissionId: number): Promise { + return httpClient + .get( + `/submissions/${submissionId}/reviews` + ) + .then(response => { + return response.data.map((review: any) => { + return new Review(review); + }); + }) + .catch(async error => { + throw Error(await this.errorMessage(error)); + }); + } + static async exportAll() { return httpClient .get('/admin/export', {