mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-27 11:41:09 -04:00
Improved error handling
This commit is contained in:
22
resources/assets/js/bootstrap.js
vendored
22
resources/assets/js/bootstrap.js
vendored
@ -88,17 +88,27 @@ window.axios.interceptors.request.use(function (config) {
|
||||
|
||||
global.axios.interceptors.response.use(undefined, function (err) {
|
||||
// Do something with request error
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!err.response) {
|
||||
window.toastr['error']('Network error: Please check your internet connection or wait until servers are back online')
|
||||
console.log('Network error: Please check your internet connection.')
|
||||
} else {
|
||||
console.log(err.response)
|
||||
if (err.response.data.error === 'invalid_credentials') {
|
||||
window.toastr['error']('Invalid Credentials')
|
||||
}
|
||||
if (err.response.data && (err.response.statusText === 'Unauthorized' || err.response.data === ' Unauthorized.')) {
|
||||
// Unauthorized and log out
|
||||
window.toastr['error']((err.response.data.message) ? err.response.data.message : 'Unauthorized')
|
||||
store.dispatch('auth/logout', true)
|
||||
} else if (err.response.data.errors) {
|
||||
// Show a notification per error
|
||||
const errors = JSON.parse(JSON.stringify(err.response.data.errors))
|
||||
for (const i in errors) {
|
||||
window.toastr['error'](errors[i])
|
||||
}
|
||||
} else {
|
||||
throw err
|
||||
// Unknown error
|
||||
window.toastr['error']((err.response.data.message) ? err.response.data.message : 'Unknown error occurred')
|
||||
}
|
||||
})
|
||||
}
|
||||
return Promise.reject(err)
|
||||
})
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user