feat: frontend group controller geimplementeerd

This commit is contained in:
Adriaan Jacquet 2025-03-30 18:28:01 +02:00
parent dbc3b2b0b6
commit 4b82455eb9
2 changed files with 33 additions and 1 deletions

View file

@ -11,7 +11,7 @@ router.post('/', createGroupHandler);
// Information about a group (members, ... [TODO DOC])
router.get('/:groupid', getGroupHandler);
router.get('/:groupid', getGroupSubmissionsHandler);
router.get('/:groupid/submissions', getGroupSubmissionsHandler);
// The list of questions a group has made
router.get('/:id/questions', (req, res) => {

View file

@ -0,0 +1,32 @@
import { BaseController } from "./base-controller";
export class GroupController extends BaseController {
constructor(classid: string, assignmentNumber: number) {
super(`class/${classid}/assignments/${assignmentNumber}/groups`);
}
getAll(full = true) {
return this.get<{ groups: any[] }>(`/`, { full });
}
getByNumber(num: number) {
return this.get<{ group: any }>(`/${num}`);
}
createGroup(data: any) {
return this.post<{ group: any }>(`/`, data);
}
deleteClass(num: number) {
return this.delete<{ group: any }>(`/${num}`);
}
getSubmissions(groupNumber: number, full = true) {
return this.get<{ groups: any[] }>(`/${groupNumber}/submissions`, { full });
}
getQuestions(groupNumber: number, full = true) {
return this.get<{ questions: any[] }>(`/${groupNumber}/questions`, { full });
}
}