NitinBot002's picture
Initial commit with all project files
f4854a1
import axios from 'axios';
import { auth } from './firebase';
import { API_BASE_URL } from '../utils/constants';
// Create axios instance with base URL
const api = axios.create({
baseURL: API_BASE_URL,
headers: {
'Content-Type': 'application/json',
},
});
// Request interceptor — attach Firebase ID token
api.interceptors.request.use(
async (config) => {
try {
const user = auth.currentUser;
if (user) {
const token = await user.getIdToken();
config.headers.Authorization = `Bearer ${token}`;
}
} catch (error) {
console.error('Error getting auth token:', error);
}
return config;
},
(error) => Promise.reject(error)
);
// Response interceptor — handle errors
api.interceptors.response.use(
(response) => response.data,
(error) => {
const message = error.response?.data?.error || error.message || 'Something went wrong';
console.error('API Error:', message);
return Promise.reject({ message, status: error.response?.status });
}
);
export default api;