123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- import { REST } from 'vuejs/api/rest-axios'
- import { JSONAPI } from 'vuejs/api/json-axios'
- import qs from 'querystring'
- export default {
- namespaced: true,
- // initial state
- state : {
- uid:null,
- // username: '',
- mail:'',
- token: null,
- logout_token: null,
- isloggedin: false
- },
- // getters
- getters : {},
- // mutations
- mutations : {
- setToken (state, data) {
- state.uid = data.current_user.uid
- // state.username = data.username
- state.mail = data.current_user.mail
- state.token = data.csrf_token
- state.isloggedin = true
- state.logout_token = data.logout_token
- },
- setUid (state, uid) {
- state.uid = uid
- state.isloggedin = true
- },
- setUser (state, data) {
- state.mail = data.mail[0].value
- state.uuid = data.uuid[0].value
- },
- setLoggedOut (state) {
- state.uid= null
- state.mail = ''
- state.token = null
- state.isloggedin = false
- state.logout_token = null
- }
- },
- // actions
- actions : {
- getToken ({ dispatch, commit, state }, credentials) {
- REST.post('/user/login?_format=json', credentials)
- .then(({ data }) => {
- console.log('user getToken data', data)
- commit('setToken', data)
- dispatch('getUser')
- })
- .catch(( error ) => {
- console.warn('Issue with login', error)
- Promise.reject(error)
- })
- },
- getUser ({ commit, state }) {
- let params = {
- token: state.token
- }
- REST.get(`/user/${state.uid}?_format=json`, params)
- .then(({ data }) => {
- console.log('user REST getUser data', data)
- console.log('roles', data['roles']);
- commit('setUser', data)
- JSONAPI.get(`/user/user/${state.uuid}?include=roles`)
- .then(({ data }) => {
- console.log('user JSONAPI getUser data', data)
- })
- .catch(( error ) => {
- console.warn('Issue with getUser', error)
- Promise.reject(error)
- })
- })
- .catch(( error ) => {
- console.warn('Issue with getUser', error)
- Promise.reject(error)
- })
- },
- userLogout ({ commit, state }) {
- let credentials = qs.stringify({
- token: state.token
- })
- REST.post('/user/logout', credentials)
- .then((resp) => {
- console.log('resp', resp)
- commit('setLoggedOut')
- })
- .catch(( error ) => {
- console.warn('Issue with logout', error)
- Promise.reject(error)
- })
- }
- }
- }
|