diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2021-04-13 00:52:32 -0500 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2021-04-13 00:52:32 -0500 |
| commit | f3619b20e1c5baa342eb7466c67c44d3192bb3eb (patch) | |
| tree | 64a6981599ddcb9fa8ede5364770e1f145c1086f /src/store/index.ts | |
| parent | 67b7f56f9aeaf5d32cc07d0d776d2e4e95dea21c (diff) | |
Initial TypeScript refactoring
Diffstat (limited to 'src/store/index.ts')
| -rw-r--r-- | src/store/index.ts | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/store/index.ts b/src/store/index.ts new file mode 100644 index 0000000..e63e257 --- /dev/null +++ b/src/store/index.ts @@ -0,0 +1,36 @@ +import Lab from '@/models/Lab'; +import PeerTeacher from '@/models/PeerTeacher'; +import { createStore } from 'vuex'; + +export default createStore({ + state: { + labs: new Map(), + peerTeachers: new Map(), + }, + mutations: { + setLabs(state, labs: Map<string, Lab>) { + state.labs = labs; + }, + setPeerTeachers(state, peerTeachers: Map<number, PeerTeacher>) { + state.peerTeachers = peerTeachers; + }, + importLabs(state, labs: Lab[]) { + state.labs.clear(); + labs.forEach((lab) => { + state.labs.set(lab.id, lab); + }); + }, + addPeerTeachers(state, peerTeachers: PeerTeacher[]) { + peerTeachers.forEach((pt) => { + state.peerTeachers.set(pt.id, pt); + }); + }, + deletePeerTeacher(state, id: number) { + state.peerTeachers.delete(id); + }, + }, + actions: { + }, + modules: { + }, +}); |
