diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2022-07-17 23:29:58 -0400 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2022-07-17 23:29:58 -0400 |
| commit | e36e01917651ccfff64f948c36ee93d310071991 (patch) | |
| tree | 8f7e2f19980474689ef626d0f9906d0f1b197cac /src/util | |
| parent | 79242a197b79e7a3dc5a30925ecd7709093a6866 (diff) | |
| parent | 99aee9a7281aa9c5794cc062e41384dc3701906d (diff) | |
Merge pull request #1 from sahinf/tailwind
Tailwind
Diffstat (limited to 'src/util')
| -rw-r--r-- | src/util/parser.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/util/parser.ts b/src/util/parser.ts index 844f87d..0f82996 100644 --- a/src/util/parser.ts +++ b/src/util/parser.ts @@ -1,6 +1,7 @@ import EventInfo from "../models/EventInfo"; import Lab from "../models/Lab"; import PeerTeacher from "../models/PeerTeacher"; +import { labStore, ptStore } from "../stores"; import { PeerTeacherImportError } from "./error"; interface LabSchedule { @@ -156,4 +157,27 @@ export function parseDatabase(database: DatabaseFile) { }); return result; +} + +/** + * Parses a JSON database into maps of Lab and Peer Teachers + * and updates local storage + * @param database The database object from a db file + */ +export function parseDatabaseLocal(database: DatabaseFile) { + const result = { + labs: new Map<number, Lab>(), + peerTeachers: new Map<number, PeerTeacher>() + } + + database.labs.forEach(lab => { + result.labs.set(lab.id, Lab.fromJSON(lab)); + }); + + database.peerTeachers.forEach(pt => { + result.peerTeachers.set(pt.id, PeerTeacher.fromJSON(pt)); + }); + + labStore.set(result.labs); + ptStore.set(result.peerTeachers) }
\ No newline at end of file |
