Files
crater/resources/assets/js/store/modules/auth/actions.js
MakerLab 4bb4362d23 Removed unnecessary notification
Removed unnecessary notification as the improved error handler will show it
2020-01-30 20:45:39 +01:00

75 lines
2.1 KiB
JavaScript

import Ls from '@/services/ls'
import * as types from './mutation-types'
import * as userTypes from '../user/mutation-types'
import * as rootTypes from '../../mutation-types'
import router from '@/router.js'
export const login = ({ commit, dispatch, state }, data) => {
let loginData = {
username: data.email,
password: data.password
}
return new Promise((resolve, reject) => {
axios.post('/api/auth/login', loginData).then((response) => {
let token = response.data.access_token
Ls.set('auth.token', token)
commit('user/' + userTypes.RESET_CURRENT_USER, null, { root: true })
commit(rootTypes.UPDATE_APP_LOADING_STATUS, false, { root: true })
commit(types.AUTH_SUCCESS, token)
window.toastr['success']('Login Successful')
resolve(response)
}).catch(err => {
commit(types.AUTH_ERROR, err.response)
Ls.remove('auth.token')
reject(err)
})
})
}
export const refreshToken = ({ commit, dispatch, state }) => {
return new Promise((resolve, reject) => {
let data = {
token: Ls.get('auth.token')
}
console.log('REFRESH ACTION')
axios.post('/api/auth/refresh_token', data).then((response) => {
let token = response.data.data.token
Ls.set('auth.token', token)
commit(types.REFRESH_SUCCESS, token)
resolve(response)
}).catch(err => {
reject(err)
})
})
}
export const logout = ({ commit, dispatch, state }, noRequest = false) => {
if (noRequest) {
commit(types.AUTH_LOGOUT)
Ls.remove('auth.token')
router.push('/login')
return true
}
return new Promise((resolve, reject) => {
axios.get('/api/auth/logout').then((response) => {
commit(types.AUTH_LOGOUT)
Ls.remove('auth.token')
router.push('/login')
window.toastr['success']('Logged out!', 'Success')
}).catch(err => {
reject(err)
commit(types.AUTH_LOGOUT)
Ls.remove('auth.token')
router.push('/login')
})
})
}
export const loginOnBoardingUser = ({ commit, dispatch, state }, token) => {
commit(types.AUTH_SUCCESS, token)
}