front_foundation #13
.gitea/workflows
.gitignoreDocumentation/openapi
MakefileMyINPulse-back/src
main
java
enseirb
myinpulse
config
controller
model
repository
service
resources
test
java
config
documentation/openapi
front
Dockerfile
MyINPulse-front
package-lock.jsonpackage.json
src
ApiClasses
Appointment.tsJoinRequest.tsJoinRequestDecision.tsProject.tsProjectDecision.tsRepport.tsSectionCell.tsUser.tsUserAdmin.tsUserEntrepreneur.ts
App.vuecomponents
AddProjectForm.vueAdminAppointments.vueAgendaComponent.vueHeaderComponent.vueLoginComponent.vuePendingProjectComponent.vueProjectComponent.vue
main.tscanvas
contact.tsicons
plugins
router
services
stores
views
keycloak
@ -1,6 +1,7 @@
|
||||
import axios, { type AxiosError, type AxiosResponse } from "axios";
|
||||
import { store } from "@/main.ts";
|
||||
import { addNewMessage, color } from "@/services/popupDisplayer.ts";
|
||||
import router from "@/router/router";
|
||||
|
||||
const axiosInstance = axios.create({
|
||||
baseURL: import.meta.env.VITE_BACKEND_URL,
|
||||
@ -31,7 +32,7 @@ axiosInstance.interceptors.response.use(
|
||||
console.error("Token refresh failed:", refreshError);
|
||||
localStorage.removeItem("accessToken");
|
||||
localStorage.removeItem("refreshToken");
|
||||
window.location.href = "/login";
|
||||
router.push("/login");
|
||||
return Promise.reject(refreshError);
|
||||
}
|
||||
}
|
||||
@ -41,7 +42,10 @@ axiosInstance.interceptors.response.use(
|
||||
|
||||
// TODO: spawn a error modal
|
||||
function defaultApiErrorHandler(err: AxiosError) {
|
||||
addNewMessage(err.message, color.Red);
|
||||
const errorMessage =
|
||||
(err.response?.data as { message?: string })?.message ??
|
||||
err.message;
|
||||
addNewMessage(errorMessage, color.Red);
|
||||
}
|
||||
|
||||
function defaultApiSuccessHandler(response: AxiosResponse) {
|
||||
@ -88,4 +92,6 @@ function deleteApi(
|
||||
.catch(onErrorHandler ?? defaultApiErrorHandler);
|
||||
}
|
||||
|
||||
export { axiosInstance, callApi, postApi, deleteApi };
|
||||
//export { axiosInstance, callApi, postApi, deleteApi };
|
||||
|
||||
export{ axiosInstance, defaultApiErrorHandler, defaultApiSuccessHandler, callApi, postApi, deleteApi }
|
Reference in New Issue
Block a user