Attempt to make *hastic* client which works with old version of hastic-server https://code.corpglory.net/hastic/hastic-server
based on new version of hastic client from https://code.corpglory.net/hastic/hastic
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.5 KiB
63 lines
1.5 KiB
2 years ago
|
import AuthService from '@/services/auth.service';
|
||
|
import { User } from '@/types/user';
|
||
|
|
||
|
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: User) {
|
||
|
return AuthService.login(user).then(
|
||
|
user => {
|
||
|
commit('loginSuccess', user);
|
||
|
return Promise.resolve(user);
|
||
|
},
|
||
|
error => {
|
||
|
commit('loginFailure');
|
||
|
return Promise.reject(error);
|
||
|
}
|
||
|
);
|
||
|
},
|
||
|
logout({ commit }) {
|
||
|
AuthService.logout();
|
||
|
commit('logout');
|
||
|
},
|
||
|
register({ commit }, user) {
|
||
|
return AuthService.register(user).then(
|
||
|
response => {
|
||
|
commit('registerSuccess');
|
||
|
return Promise.resolve(response.data);
|
||
|
},
|
||
|
error => {
|
||
|
commit('registerFailure');
|
||
|
return Promise.reject(error);
|
||
|
}
|
||
|
);
|
||
|
}
|
||
|
},
|
||
|
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;
|
||
|
}
|
||
|
}
|
||
|
};
|