diff options
Diffstat (limited to 'src/models/PeerTeacher.ts')
| -rw-r--r-- | src/models/PeerTeacher.ts | 58 |
1 files changed, 19 insertions, 39 deletions
diff --git a/src/models/PeerTeacher.ts b/src/models/PeerTeacher.ts index f387431..6518a80 100644 --- a/src/models/PeerTeacher.ts +++ b/src/models/PeerTeacher.ts @@ -1,41 +1,21 @@ -import EventInfo from './EventInfo'; +import type EventInfo from "./EventInfo"; export default class PeerTeacher { - firstname: string; - - lastname: string; - - uin: number; - - events: EventInfo[]; - - assignedLabs: Set<string>; - - constructor(firstname = '', lastname = '', uin = 0) { - this.firstname = firstname; - this.lastname = lastname; - this.uin = uin; - this.events = []; - this.assignedLabs = new Set(); - } - - conflictsWith(event: EventInfo) { - let conflicts = false; - this.events.every((item) => { - if (item.conflictsWith(event)) { - conflicts = true; - return false; - } - return true; - }); - return conflicts; - } - - get name() { - return `${this.firstname} ${this.lastname}`; - } - - get id() { - return this.uin; - } -} + id: number; + firstname: string; + lastname: string; + events: EventInfo[]; + labs: Set<number>; + + constructor(id: number | string, firstname: string, lastname: string) { + if(typeof id === "string") { + id = parseInt(id, 10); + } + + this.id = id; + this.firstname = firstname; + this.lastname = lastname; + this.events = []; + this.labs = new Set(); + } +}
\ No newline at end of file |
