Files
social-media/frontend/src/plugins/api.js
2025-01-15 15:24:17 -05:00

25 lines
623 B
JavaScript

import axios from "axios"
import {useAuthStore} from "@/stores/authStore.js"
export function useClient() {
if (!import.meta.env.VITE_API_URL) throw new Error("VITE_API_URL is not provided")
const api = axios.create({
baseURL: import.meta.env.VITE_API_URL,
timeout: 10000,
});
const authStore = useAuthStore()
const requestInterceptor = (config) => {
if (authStore.isAuthenticated) {
config.headers["Authorization"] = `Bearer ${authStore.accessToken}`
}
return config
}
api.interceptors.request.use(requestInterceptor);
return api;
}