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.
62 lines
1.5 KiB
62 lines
1.5 KiB
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; |
|
} |
|
} |
|
};
|
|
|