import api from "../../api"; import Cookies from "js-cookie"; const AuthenticationStore = { namespaced: true, state: { status: "", cookie: Cookies.get("XSRF-TOKEN") }, getters: { authStatus: state => state.status, isLoggedIn: state => !!state.cookie }, mutations: { authRequest(state) { state.status = "loading"; }, authSuccess(state) { state.status = "authenticated"; state.cookie = Cookies.get("XSRF-TOKEN"); }, authError(state) { state.status = "error"; }, logout(state) { state.status = ""; Cookies.remove("XSRF-TOKEN"); } }, actions: { login({ commit }, auth) { commit("authRequest"); return api .post("/login", { data: auth }) .then(() => commit("authSuccess")) .catch(error => { commit("authError"); throw new Error(error); }); }, logout({ commit }) { api .post("/logout", { data: [] }) .then(() => commit("logout")) .catch(error => console.log(error)); } } }; export default AuthenticationStore;