// axiosInstance.js
import axios from 'axios';
import { signOut } from 'next-auth/react';

const axiosInstance = axios.create({
  baseURL: process.env.BACKEND_URL,

  headers: {
    'Content-Type': 'application/json',
  },
});

// Add a response interceptor
axiosInstance.interceptors.response.use(
  (response) => response,
  async(error) => {
    // Check if the error status is 401 (Unauthorized)
    if (error.response && error.response.status === 401) {
      // Perform logout operation, for example, redirect to the login page
      // Your logout code goes here, e.g., redirect to login page
      if (typeof window !== 'undefined') {
        await signOut();
        window.location.href = '/unauthorized';
        return;
      }
    }

    return Promise.reject(error);
  }
);

// Alter defaults after the instance has been created
export default axiosInstance;
