diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2021-09-05 22:56:45 -0500 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2021-09-05 22:56:45 -0500 |
| commit | fea56ae09cd612003e1bafd2459556b67a5950e9 (patch) | |
| tree | a195fab20351891e6a65f68d77b88bf8c9671e75 /src/models/PeerTeacher.ts | |
| parent | d0975a6e7ee57de4debda94e823011d813fbf4a1 (diff) | |
Add import/export functionality
Diffstat (limited to 'src/models/PeerTeacher.ts')
| -rw-r--r-- | src/models/PeerTeacher.ts | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/models/PeerTeacher.ts b/src/models/PeerTeacher.ts index 6518a80..f1a8739 100644 --- a/src/models/PeerTeacher.ts +++ b/src/models/PeerTeacher.ts @@ -1,4 +1,16 @@ -import type EventInfo from "./EventInfo"; +import EventInfo from "./EventInfo"; + +interface PeerTeacherSerializeInfo { + id: number, + firstname: string, + lastname: string, + events: { + days: string, + start: number, + end: number + }[], + labs: number[] +} export default class PeerTeacher { id: number; @@ -18,4 +30,11 @@ export default class PeerTeacher { this.events = []; this.labs = new Set(); } + + static fromJSON({id, firstname, lastname, events, labs}: PeerTeacherSerializeInfo) { + const pt = new PeerTeacher(id, firstname, lastname); + pt.events = events.map(e => EventInfo.fromJSON(e)); + pt.labs = new Set(labs); + return pt; + } }
\ No newline at end of file |
