diff options
Diffstat (limited to 'store')
-rw-r--r-- | store/warnings.js | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/store/warnings.js b/store/warnings.js new file mode 100644 index 0000000..07767ae --- /dev/null +++ b/store/warnings.js @@ -0,0 +1,70 @@ +export const state = () => ({ + warnings: [], +}); + +export const getters = { + warnings: (state) => { + return state.warnings; + }, +}; + +export const mutations = { + saveWarnings: (state, value) => { + state.warnings = value; + }, +}; + +export const actions = { + // Create a new warning + async createWarning({ commit, rootGetters }, payload) { + commit("loadingStatus", true, { root: true }); + let res = { status: 0, data: null }; + let api = this.$config.api; + + await fetch(`${api}/v1/warnings`, { + method: "POST", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${rootGetters["auth/accessToken"]}`, + }, + body: JSON.stringify(payload), + }) + .then(async (response) => { + res.status = response.status; + res.data = await response.json(); + }) + .catch((e) => { + res.status = e.status; + }); + + commit("loadingStatus", false, { root: true }); + + return res; + }, + // Edit a warning + async editWarning({ commit, rootGetters }, payload) { + commit("loadingStatus", true, { root: true }); + let res = { status: 0, data: null }; + let api = this.$config.api; + + await fetch(`${api}/v1/warnings/${payload.id}`, { + method: "PUT", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${rootGetters["auth/accessToken"]}`, + }, + body: JSON.stringify(payload), + }) + .then(async (response) => { + res.data = await response.json(); + res.status = response.status; + }) + .catch((e) => { + res.status = e.status; + }); + + commit("loadingStatus", false, { root: true }); + + return res; + }, +}; |