From f51ee8babb479e24a44cd9887806b0526bca89a9 Mon Sep 17 00:00:00 2001
From: oetrb <oetrb@github.com>
Date: Thu, 8 Oct 2020 00:14:56 +0200
Subject: [PATCH] .

---
 src/models/teacher.js           |  3 +-
 src/services/teacher.service.js | 42 +++++++++++++++++++
 src/store/teacher.module.js     | 72 +++++++++++++++++++++++++++++++++
 3 files changed, 115 insertions(+), 2 deletions(-)
 create mode 100644 src/services/teacher.service.js
 create mode 100644 src/store/teacher.module.js

diff --git a/src/models/teacher.js b/src/models/teacher.js
index d012450..46bcd78 100644
--- a/src/models/teacher.js
+++ b/src/models/teacher.js
@@ -1,7 +1,6 @@
 export default class Teacher {
 
-        constructor(teachers_id, anrede, grad, firstname, lastname, street, zip, city, addaddress, personal_questionnaire, summeruni_17, summeruni_18, summeruni_19, summeruni_20, natlab_20) {
-            this.teachers_id = teachers_id;
+        constructor(anrede, grad, firstname, lastname, street, zip, city, addaddress, personal_questionnaire, summeruni_17, summeruni_18, summeruni_19, summeruni_20, natlab_20) {
             this.anrede = anrede;
             this.grad = grad;
             this.firstname = firstname;
diff --git a/src/services/teacher.service.js b/src/services/teacher.service.js
new file mode 100644
index 0000000..1015cf8
--- /dev/null
+++ b/src/services/teacher.service.js
@@ -0,0 +1,42 @@
+import axios from 'axios';
+import authHeader from "@/services/auth-header";
+
+const API_URL = 'http://localhost:9192/';
+
+class TeacherService {
+
+    insert(teacher) {
+        return axios
+            .post(API_URL + 'insertTeacher', {
+                    //angebotsnummer: course.coursenumber,
+                }
+
+                ,{headers: authHeader() })
+            .then(response => {
+                return response.data;
+            });
+    }
+
+    getAll() {
+        return axios
+            .get(API_URL + 'getTeachers', {
+                headers: authHeader()
+            })
+            .then(response => {
+                return response.data;
+            });
+    }
+
+    getByID(idValue) {
+        return axios
+            .get(API_URL + 'getTeachersByID/'+idValue, {
+                headers: authHeader()
+            })
+            .then(response => {
+                return response.data;
+            });
+    }
+}
+
+
+export default new TeacherService();
\ No newline at end of file
diff --git a/src/store/teacher.module.js b/src/store/teacher.module.js
new file mode 100644
index 0000000..50c792e
--- /dev/null
+++ b/src/store/teacher.module.js
@@ -0,0 +1,72 @@
+import TeacherService from '../services/teacher.service';
+
+const initialState = null;
+
+export const teacher = {
+
+    namespaced: true,
+    state: initialState,
+    actions: {
+
+        insert({ commit }, teacher) {
+            return TeacherService.insert(teacher).then(
+                response => {
+                    commit('insertSuccess', response);
+                    return Promise.resolve(response);
+                },
+                error => {
+                    commit('insertFailure');
+                    return Promise.reject(error);
+                }
+            );
+        },
+
+        update({ commit }, teacher) {
+            return TeacherService.update(teacher).then(
+                response => {
+                    commit('updateSuccess', response);
+                    return Promise.resolve(response);
+                },
+                error => {
+                    commit('updateFailure');
+                    return Promise.reject(error);
+                }
+            );
+        },
+
+        getAll({ commit }) {
+            return TeacherService.getAll().then(
+                response => {
+                    commit('insertSuccess', response);
+                    return Promise.resolve(response);
+                },
+                error => {
+                    commit('insertFailure');
+                    return Promise.reject(error);
+                }
+            );
+        },
+
+        getByID({ commit }, id) {
+            return TeacherService.getByID(id).then(
+                response => {
+                    commit('insertSuccess', response);
+                    return Promise.resolve(response);
+                },
+                error => {
+                    commit('insertFailure');
+                    return Promise.reject(error);
+                }
+            );
+        }
+    },
+
+    mutations: {
+        insertSuccess(state, response) {
+            state.response = response;
+        },
+        insertFailure(state, response) {
+            state.response = response;
+        }
+    }
+};
\ No newline at end of file
-- 
GitLab