-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathauth.js
49 lines (45 loc) · 1.01 KB
/
auth.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import Cookies from 'js-cookie'
import GetUserQuery from '@/graphql/user/getUser.gql'
export const state = () => ({
currentUser: {},
error: {},
})
export const getters = {
me: (state) => state.currentUser,
}
export const actions = {
async getUser({ commit }) {
const client = this.app.apolloProvider.defaultClient
await client
.query({
query: GetUserQuery,
})
.then((data) => {
if (data.data.user === null) {
commit('setError', 'null')
} else {
commit('setUser', data.data.user)
}
})
.catch((error) => {
commit('setError', error)
})
},
}
export const mutations = {
setUser(state, user) {
state.currentUser = user
Cookies.set('user', user)
},
logout(state) {
state.currentUser = null
Cookies.set('user', null)
},
setError(state, error) {
state.error = error
Cookies.set('user', null)
this.$apolloHelpers.onLogout().then(() => {
this.$router.push('/auth/login')
})
},
}