diff options
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: { + }, +}); |
