system-praktyk-front/src/data/student.ts
2021-01-18 00:22:57 +01:00

31 lines
887 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)[];
}
export const fullname = (student: Student) => `${ student.name } ${ student.surname }`;