aboutsummaryrefslogtreecommitdiff
path: root/src/store/index.ts
blob: e07925955bb34066c3fc947807c37bed1e79cda3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import { createStore } from 'vuex';
import Lab from '@/models/Lab';
import PeerTeacher from '@/models/PeerTeacher';

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