fix: conflict on Apis

This commit is contained in:
Mohamed Maoulainine Maoulainine 2025-04-29 00:32:03 +02:00
parent c3dded1e05
commit 008e003207
4 changed files with 8 additions and 35 deletions

View File

@ -3,7 +3,7 @@ import Project from "@/ApiClasses/Project";
import Report from "@/ApiClasses/Repport"; import Report from "@/ApiClasses/Repport";
import { axiosInstance, defaultApiErrorHandler, defaultApiSuccessHandler } from "@/services/api" import { axiosInstance, defaultApiErrorHandler, defaultApiSuccessHandler } from "@/services/api"
// Admin API // Admin API
function getPendingAccounts( function getPendingAccounts(
onSuccessHandler?: (response: AxiosResponse) => void, onSuccessHandler?: (response: AxiosResponse) => void,
onErrorHandler?: (error: AxiosError) => void onErrorHandler?: (error: AxiosError) => void

View File

@ -1,38 +1,11 @@
import { type AxiosError, type AxiosResponse } from "axios";
import Project from "@/ApiClasses/Project"; import Project from "@/ApiClasses/Project";
import SectionCell from "@/ApiClasses/SectionCell"; import SectionCell from "@/ApiClasses/SectionCell";
import { axiosInstance, defaultApiErrorHandler, defaultApiSuccessHandler } from "@/services/api" import { axiosInstance, defaultApiErrorHandler, defaultApiSuccessHandler } from "@/services/api"
axiosInstance.interceptors.response.use(
(response) => response, // Directly return successful responses.
async (error) => {
const originalRequest = error.config;
if (
((error.response && error.response.status === 401) ||
error.code == "ERR_NETWORK") &&
!originalRequest._retry &&
store.authenticated
) {
originalRequest._retry = true; // Mark the request as retried to avoid infinite loops.
try {
await store.refreshUserToken();
// Update the authorization header with the new access token.
axiosInstance.defaults.headers.common["Authorization"] =
`Bearer ${store.user.token}`;
return axiosInstance(originalRequest); // Retry the original request with the new access token.
} catch (refreshError) {
// Handle refresh token errors by clearing stored tokens and redirecting to the login page.
console.error("Token refresh failed:", refreshError);
localStorage.removeItem("accessToken");
localStorage.removeItem("refreshToken");
router.push("/login");
return Promise.reject(refreshError);
}
}
return Promise.reject(error); // For all other errors, return the error as is.
}
);
// Entrepreneurs API
// Entrepreneurs API
function requestProjectCreation( function requestProjectCreation(
projectDetails: Project, // Replace 'any' with a proper type for project details if available projectDetails: Project, // Replace 'any' with a proper type for project details if available
onSuccessHandler?: (response: AxiosResponse) => void, onSuccessHandler?: (response: AxiosResponse) => void,
@ -57,12 +30,12 @@ function requestProjectCreation(
} }
function addSectionCell( function addSectionCell(
sectionCellDetails: SectionCell, sectionCellDetails: SectionCell, // Replace 'any' with a proper type for section cell details if available
onSuccessHandler?: (response: AxiosResponse) => void, onSuccessHandler?: (response: AxiosResponse) => void,
onErrorHandler?: (error: AxiosError) => void onErrorHandler?: (error: AxiosError) => void
): void { ): void {
axiosInstance axiosInstance
.post("/entrepreneur/sectionCells", sectionCellDetails.toPlainObject()) // <-- Ici .post("/entrepreneur/sectionCells", sectionCellDetails)
.then((response) => { .then((response) => {
if (onSuccessHandler) { if (onSuccessHandler) {
onSuccessHandler(response); onSuccessHandler(response);

View File

@ -3,7 +3,7 @@ import Appointment from "@/ApiClasses/Appointment";
import { axiosInstance, defaultApiErrorHandler, defaultApiSuccessHandler } from "@/services/api" import { axiosInstance, defaultApiErrorHandler, defaultApiSuccessHandler } from "@/services/api"
// Shared API // Shared API
function getSectionCellsByDate( function getSectionCellsByDate(
projectId: number, projectId: number,
sectionId: number, sectionId: number,

View File

@ -3,7 +3,7 @@ import { type AxiosError, type AxiosResponse } from "axios";
import { axiosInstance, defaultApiErrorHandler, defaultApiSuccessHandler } from "@/services/api" import { axiosInstance, defaultApiErrorHandler, defaultApiSuccessHandler } from "@/services/api"
// Unauth API // Unauth API
function finalizeAccount( function finalizeAccount(
onSuccessHandler?: (response: AxiosResponse) => void, onSuccessHandler?: (response: AxiosResponse) => void,
onErrorHandler?: (error: AxiosError) => void onErrorHandler?: (error: AxiosError) => void