blob: 3512e2da272a2a7b94e3bc6a5ed3a19195aec22b [file] [log] [blame]
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;