diff --git a/frontend/src/controllers/assignments.ts b/frontend/src/controllers/assignments.ts index e255ad66..59ea2428 100644 --- a/frontend/src/controllers/assignments.ts +++ b/frontend/src/controllers/assignments.ts @@ -17,31 +17,31 @@ export class AssignmentController extends BaseController { super(`class/${classid}/assignments`); } - async getAll(full = true) { + async getAll(full = true): Promise { return this.get(`/`, { full }); } - async getByNumber(num: number) { + async getByNumber(num: number): Promise { return this.get(`/${num}`); } - async createAssignment(data: any) { + async createAssignment(data: AssignmentDTO): Promise { return this.post(`/`, data); } - async deleteAssignment(num: number) { + async deleteAssignment(num: number): Promise { return this.delete(`/${num}`); } - async getSubmissions(assignmentNumber: number, full = true) { + async getSubmissions(assignmentNumber: number, full = true): Promise { return this.get(`/${assignmentNumber}/submissions`, { full }); } - async getQuestions(assignmentNumber: number, full = true) { + async getQuestions(assignmentNumber: number, full = true): Promise { return this.get(`/${assignmentNumber}/questions`, { full }); } - async getGroups(assignmentNumber: number, full = true) { + async getGroups(assignmentNumber: number, full = true): Promise { return this.get(`/${assignmentNumber}/groups`, { full }); } } diff --git a/frontend/src/controllers/classes.ts b/frontend/src/controllers/classes.ts index 374f0f6e..dadf6dec 100644 --- a/frontend/src/controllers/classes.ts +++ b/frontend/src/controllers/classes.ts @@ -2,6 +2,7 @@ import { BaseController } from "./base-controller"; import type { ClassDTO } from "@dwengo-1/common/interfaces/class"; import type { StudentsResponse } from "./students"; import type { AssignmentsResponse } from "./assignments"; +import type { TeacherInvitationDTO } from "@dwengo-1/common/interfaces/teacher-invitation"; export interface ClassesResponse { classes: ClassDTO[] | string[]; @@ -11,37 +12,45 @@ export interface ClassResponse { class: ClassDTO; } +export interface TeacherInvitationsResponse { + invites: TeacherInvitationDTO[]; +} + +export interface TeacherInvitationResponse { + invite: TeacherInvitationDTO; +} + export class ClassController extends BaseController { constructor() { super("class"); } - async getAll(full = true) { + async getAll(full = true): Promise { return this.get(`/`, { full }); } - async getById(id: string) { + async getById(id: string): Promise { return this.get(`/${id}`); } - async createClass(data: any) { + async createClass(data: ClassDTO): Promise { return this.post(`/`, data); } - async deleteClass(id: string) { + async deleteClass(id: string): Promise { return this.delete(`/${id}`); } - async getStudents(id: string, full = true) { + async getStudents(id: string, full = true): Promise { return this.get(`/${id}/students`, { full }); } // TODO - async getTeacherInvitations(id: string, full = true) { - return this.get(`/${id}/teacher-invitations`, { full }); + async getTeacherInvitations(id: string, full = true): Promise { + return this.get(`/${id}/teacher-invitations`, { full }); } - async getAssignments(id: string, full = true) { + async getAssignments(id: string, full = true): Promise { return this.get(`/${id}/assignments`, { full }); } } diff --git a/frontend/src/controllers/groups.ts b/frontend/src/controllers/groups.ts index e82e5607..05192636 100644 --- a/frontend/src/controllers/groups.ts +++ b/frontend/src/controllers/groups.ts @@ -16,27 +16,27 @@ export class GroupController extends BaseController { super(`class/${classid}/assignments/${assignmentNumber}/groups`); } - async getAll(full = true) { + async getAll(full = true): Promise { return this.get(`/`, { full }); } - async getByNumber(num: number) { + async getByNumber(num: number): Promise { return this.get(`/${num}`); } - async createGroup(data: any) { + async createGroup(data: GroupDTO): Promise { return this.post(`/`, data); } - async deleteGroup(num: number) { + async deleteGroup(num: number): Promise { return this.delete(`/${num}`); } - async getSubmissions(groupNumber: number, full = true) { + async getSubmissions(groupNumber: number, full = true): Promise { return this.get(`/${groupNumber}/submissions`, { full }); } - async getQuestions(groupNumber: number, full = true) { + async getQuestions(groupNumber: number, full = true): Promise { return this.get(`/${groupNumber}/questions`, { full }); } } diff --git a/frontend/src/controllers/submissions.ts b/frontend/src/controllers/submissions.ts index 72621fcf..07e8e16c 100644 --- a/frontend/src/controllers/submissions.ts +++ b/frontend/src/controllers/submissions.ts @@ -14,19 +14,19 @@ export class SubmissionController extends BaseController { super(`class/${classid}/assignments/${assignmentNumber}/groups/${groupNumber}`); } - async getAll(full = true) { + async getAll(full = true): Promise { return this.get(`/`, { full }); } - async getByNumber(submissionNumber: number) { + async getByNumber(submissionNumber: number): Promise { return this.get(`/${submissionNumber}`); } - async createSubmission(data: any) { + async createSubmission(data: any): Promise { return this.post(`/`, data); } - async deleteSubmission(submissionNumber: number) { + async deleteSubmission(submissionNumber: number): Promise { return this.delete(`/${submissionNumber}`); } }