49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
|
|
import MatrixService from '../services/matrix.service';
|
||
|
|
|
||
|
|
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 MatrixService.login(user).then(
|
||
|
|
user => {
|
||
|
|
commit('loginSuccess', user);
|
||
|
|
return Promise.resolve(user);
|
||
|
|
},
|
||
|
|
error => {
|
||
|
|
commit('loginFailure');
|
||
|
|
return Promise.reject(error);
|
||
|
|
}
|
||
|
|
);
|
||
|
|
},
|
||
|
|
logout({ commit }) {
|
||
|
|
MatrixService.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;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
};
|