NAM-APJATEL/src/services/api.ts

24 lines
562 B
TypeScript

import axios, { AxiosInstance } from 'axios';
import { useAuthStore } from '../stores/authStore';
export const createAPI = (): AxiosInstance => {
const { VITE_API_URL } = import.meta.env;
const api = axios.create({
baseURL: `${VITE_API_URL}/api/v1`,
headers: {
'Accept': 'application/json',
},
timeout: 30000,
});
api.interceptors.request.use((config) => {
const token = useAuthStore.getState().token;
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
return config;
});
return api;
};