nidus-sync/ts/client.ts

32 lines
587 B
TypeScript
Raw Normal View History

// src/api/axios.ts
import axios, { AxiosInstance } from "axios";
import router from "@/router";
2026-03-23 14:39:57 -07:00
// Extend the AxiosInstance interface
declare module "axios" {
interface AxiosInstance {
isAuthenticated(): boolean;
}
}
2026-03-23 14:39:57 -07:00
const apiClient = axios.create({
baseURL: "/api",
withCredentials: true,
2026-03-23 14:39:57 -07:00
});
apiClient.interceptors.response.use(
(response) => response,
(error) => {
if (error.response && error.response.status === 401) {
router.push("/login");
}
return Promise.reject(error);
},
2026-03-23 14:39:57 -07:00
);
2026-03-23 14:39:57 -07:00
apiClient.isAuthenticated = () => {
return true;
};
2026-03-23 14:39:57 -07:00
export default apiClient;