// 인증 헤더 유틸리티
// API 요청 시 자동으로 인증 헤더 추가

/**
 * API 요청에 사용할 헤더 생성 (프록시 패턴용)
 * - Content-Type: application/json
 * - Accept: Laravel expectsJson() 체크용
 *
 * ⚠️ 중요: Authorization과 X-API-KEY는 Next.js 프록시에서 서버사이드로 처리
 * - HttpOnly 쿠키는 JavaScript로 읽을 수 없음 (보안)
 * - /api/proxy/* 라우트가 서버에서 쿠키와 API_KEY를 헤더에 추가
 */
export const getAuthHeaders = (): HeadersInit => {
  return {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
  };
};

/**
 * Multipart/form-data 요청에 사용할 헤더 생성 (프록시 패턴용)
 * - Content-Type은 브라우저가 자동으로 설정 (boundary 포함)
 *
 * ⚠️ 중요: Authorization과 X-API-KEY는 Next.js 프록시에서 서버사이드로 처리
 * - /api/proxy/* 라우트가 서버에서 쿠키와 API_KEY를 헤더에 추가
 */
export const getMultipartHeaders = (): HeadersInit => {
  return {
    'Accept': 'application/json',
    // Content-Type은 명시하지 않음 (multipart/form-data; boundary=... 자동 설정)
  };
};

/**
 * 토큰 존재 여부 확인
 */
export const hasAuthToken = (): boolean => {
  if (typeof window === 'undefined') return false;
  // ✅ access_token 쿠키 존재 여부 확인
  const token = document.cookie.split('; ').find(row => row.startsWith('access_token='))?.split('=')[1];
  return !!token;
};
