aboutsummaryrefslogtreecommitdiff
path: root/src/store/index.ts
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2021-04-13 00:52:32 -0500
committerFurkan Sahin <furkan-dev@proton.me>2021-04-13 00:52:32 -0500
commitf3619b20e1c5baa342eb7466c67c44d3192bb3eb (patch)
tree64a6981599ddcb9fa8ede5364770e1f145c1086f /src/store/index.ts
parent67b7f56f9aeaf5d32cc07d0d776d2e4e95dea21c (diff)
Initial TypeScript refactoring
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: {
+ },
+});