import axios from "axios"; import toast from "./toast.service"; // import {TokenService, ApiService} from '@/services'; // import store from "@/store" // import router from '@/router' function errorResponseHandler(error) { // check for errorHandle config if ( error.config.hasOwnProperty("errorHandle") && error.config.errorHandle === false ) { return Promise.reject(error); } // if has response show the error if (error.response) { if(typeof error.response.data.errors !== 'undefined') { for (const key in error.response.data.errors) { if (error.response.data.errors.hasOwnProperty(key)) { let title = (error.response.data.title) ? error.response.data.title : undefined; toast.error(error.response.data.errors[key], title); } } } if(error.response.status == 401) { // TokenService.removeToken(); // TokenService.removeRefreshToken(); // TokenService.removeInfo(); // ApiService.removeAuthHeader(); // store.commit('auth/logoutSuccess', {}, {root: true}) // router.push({ name: `Dashboard` }); } } } function successHandler(response) { if(response.status == 200) { if(typeof response.data.message !== 'undefined') { toast.success(response.data.message, response.data.title); } } return response; } // apply interceptor on response axios.interceptors.response.use(successHandler, errorResponseHandler); export default errorResponseHandler;