mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-11-04 06:23:17 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			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)
 | 
						|
}
 |