import { createStore } from "vuex"; import createPersistedState from "vuex-persistedstate"; import { logoutProc } from "../../resources/api/auth"; export default createStore({ plugins: [createPersistedState()], state: { authorization: null, path: null, pageAuth: null, memId: null, memNm: null, memLoginId: null, }, getters: { getAuthorization: (state) => state.authorization, getMemId: (state) => state.memId, getMemNm: (state) => state.memNm, getMemLoginId: (state) => state.memLoginId, }, mutations: { setAuthorization(state, newValue) { state.authorization = newValue; }, setMenu(state, newValue) { state.menu = newValue; }, setPath(state, newValue) { state.path = newValue; }, setPageAuth(state, newValue) { state.pageAuth = newValue; }, setMemId(state, newValue) { state.memId = newValue; }, setMemNm(state, newValue) { state.memNm = newValue; }, setMemLoginId(state, newValue) { state.memLoginId = newValue; }, setStoreReset(state) { state.authorization = null; state.memId = null; state.memNm = null; state.memLoginId = null; state.pageAuth = null; }, }, actions: { async logout({ commit }) { const res = await logoutProc(); if (res.status === 200) { commit("setStoreReset"); } }, setPath({ commit }, path) { commit("setPath", path); }, setPageAuth({ commit }, pageAuth) { commit("setPageAuth", pageAuth); }, }, });