From dbc3b2b0b64fb12fae78e7101024959bbaddebcd Mon Sep 17 00:00:00 2001 From: Adriaan Jacquet Date: Sun, 30 Mar 2025 18:24:30 +0200 Subject: [PATCH] feat: frontend controller voor assignment geimplementeerd --- frontend/src/controllers/assignments.ts | 36 +++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 frontend/src/controllers/assignments.ts diff --git a/frontend/src/controllers/assignments.ts b/frontend/src/controllers/assignments.ts new file mode 100644 index 00000000..5b78f23c --- /dev/null +++ b/frontend/src/controllers/assignments.ts @@ -0,0 +1,36 @@ +import { BaseController } from "./base-controller"; + +export class AssignmentController extends BaseController { + constructor(classid: string) { + super(`class/${classid}/assignments`); + } + + getAll(full = true) { + return this.get<{ assignments: any[] }>(`/`, { full }); + } + + getByNumber(num: number) { + return this.get<{ assignment: any }>(`/${num}`); + } + + createAssignment(data: any) { + return this.post<{ assignment: any }>(`/`, data); + } + + deleteAssignment(num: number) { + return this.delete<{ assignment: any }>(`/${num}`); + } + + + getSubmissions(assignmentNumber: number, full = true) { + return this.get<{ submissions: any[] }>(`/${assignmentNumber}/submissions`, { full }); + } + + getQuestions(assignmentNumber: number, full = true) { + return this.get<{ questions: any[]}>(`/${assignmentNumber}/questions`, { full }); + } + + getGroups(assignmentNumber: number, full = true) { + return this.get<{ groups: any[]}>(`/${assignmentNumber}/groups`, { full }); + } +} \ No newline at end of file