diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2021-04-13 10:02:24 -0500 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2021-04-13 10:02:24 -0500 |
| commit | 569488c24ac0ee5c4cca9adfb0dc3f3aa9e7eca4 (patch) | |
| tree | c4a895432fbf193d5d753c3bb6f22318f45fdd15 /src/models/PeerTeacher.ts | |
| parent | 67b7f56f9aeaf5d32cc07d0d776d2e4e95dea21c (diff) | |
| parent | e14581fb25febd28b8e55ca8e2b24ebafa3abbc2 (diff) | |
Merge pull request #1 from cobraguy/typescript-migration
Migrate to TypeScript
Diffstat (limited to 'src/models/PeerTeacher.ts')
| -rw-r--r-- | src/models/PeerTeacher.ts | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/models/PeerTeacher.ts b/src/models/PeerTeacher.ts new file mode 100644 index 0000000..f387431 --- /dev/null +++ b/src/models/PeerTeacher.ts @@ -0,0 +1,41 @@ +import 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; + } +} |
