diff --git a/resources/assets/js/bootstrap.js b/resources/assets/js/bootstrap.js index 81a69b2e..c15095f8 100644 --- a/resources/assets/js/bootstrap.js +++ b/resources/assets/js/bootstrap.js @@ -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) }) /**