aboutsummaryrefslogtreecommitdiff
path: root/src/store/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/store/index.ts')
-rw-r--r--src/store/index.ts36
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: {
+ },
+});