system-praktyk-front/src/data/student.ts
2020-09-27 22:06:53 +02:00

29 lines
795 B
TypeScript

import { Course } from "./course";
import { Identifiable } from "./common";
export type Semester = number;
export interface Student extends Identifiable {
name: string;
surname: string;
email: string;
albumNumber: number;
semester: Semester;
course: Course;
}
export function isStudentDataComplete(student: Student): boolean {
return getMissingStudentData(student).length === 0;
}
export function getMissingStudentData(student: Student): (keyof Student)[] {
return [
!!student.name || "name",
!!student.surname || "surname",
!!student.email || "email",
!!student.albumNumber || "albumNumber",
!!student.semester || "semester",
!!student.course || "course",
].filter(x => x !== true) as (keyof Student)[];
}