From de09ab28917632f2bc0a15d30283c6b8ffbcf7d3 Mon Sep 17 00:00:00 2001 From: Mohamed Maoulainine Maoulainine Date: Mon, 28 Apr 2025 23:08:19 +0200 Subject: [PATCH] fix: api service --- front/MyINPulse-front/src/services/api.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/front/MyINPulse-front/src/services/api.ts b/front/MyINPulse-front/src/services/api.ts index 5131f62..5b62863 100644 --- a/front/MyINPulse-front/src/services/api.ts +++ b/front/MyINPulse-front/src/services/api.ts @@ -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 } \ No newline at end of file