47 lines
No EOL
1.3 KiB
JavaScript
47 lines
No EOL
1.3 KiB
JavaScript
const user = JSON.parse(localStorage.getItem('user'));
|
|
const initialState = user
|
|
? { status: { loggedIn: true }, user }
|
|
: { status: { loggedIn: false }, user: null };
|
|
|
|
export const auth = {
|
|
namespaced: true,
|
|
state: initialState,
|
|
actions: {
|
|
login({ commit }, user) {
|
|
return this._vm.$matrix.login(user).then(
|
|
user => {
|
|
commit('loginSuccess', user);
|
|
return Promise.resolve(user);
|
|
},
|
|
error => {
|
|
commit('loginFailure');
|
|
return Promise.reject(error);
|
|
}
|
|
);
|
|
},
|
|
logout({ commit }) {
|
|
this._vm.$matrix.logout();
|
|
commit('logout');
|
|
},
|
|
},
|
|
mutations: {
|
|
loginSuccess(state, user) {
|
|
state.status.loggedIn = true;
|
|
state.user = user;
|
|
},
|
|
loginFailure(state) {
|
|
state.status.loggedIn = false;
|
|
state.user = null;
|
|
},
|
|
logout(state) {
|
|
state.status.loggedIn = false;
|
|
state.user = null;
|
|
},
|
|
registerSuccess(state) {
|
|
state.status.loggedIn = false;
|
|
},
|
|
registerFailure(state) {
|
|
state.status.loggedIn = false;
|
|
}
|
|
}
|
|
}; |