mentorenwahl/frontend_old/src/lib/graphql.ts
Dominic Grimm 860ae7ed5e
All checks were successful
continuous-integration/drone/push Build is passing
Rewrite frontend in rust with yew
2022-11-04 21:23:36 +01:00

51 lines
796 B
TypeScript

export type ID = number;
export interface Node {
id: ID;
}
export enum UserRole {
STUDENT = "Student",
TEACHER = "Teacher",
}
export interface User extends Node {
firstName: string;
lastName: string;
name: string;
username: string;
email: string;
role: UserRole;
admin: boolean;
externalId: ID;
student?: Student;
teacher?: Teacher;
}
export interface UserExternal {
user: User;
}
export interface Student extends Node, UserExternal {
vote?: Vote;
}
export interface Teacher extends Node, UserExternal {
maxStudents: number;
}
export interface Vote extends Node {
student: Student;
}
export interface TeacherVote extends Node {
teacher: Teacher;
priority: number;
}
export interface LoginPayload {
user: User;
token: string;
bearer: string;
}