/**
 * HTTP API 클라이언트 (샘플 구조)
 *
 * 향후 Axios 1.14 설치 후 실제 API 연동:
 * import axios from 'axios';
 * export const api = axios.create({ baseURL: import.meta.env.VITE_API_URL });
 * api.interceptors.request.use(config => { config.headers.Authorization = `Bearer ${token}`; return config; });
 */

const API_BASE = import.meta.env.VITE_API_URL ?? '/api/v1';

/** 향후 Axios로 교체될 fetch 래퍼 */
export async function apiGet<T>(path: string): Promise<T> {
  // TODO: Axios 설치 후 교체
  // return api.get(path).then(r => r.data);
  const res = await fetch(`${API_BASE}${path}`);
  if (!res.ok) throw new Error(`API ${res.status}: ${path}`);
  return res.json();
}

export async function apiPost<T>(path: string, body: unknown): Promise<T> {
  const res = await fetch(`${API_BASE}${path}`, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify(body),
  });
  if (!res.ok) throw new Error(`API ${res.status}: ${path}`);
  return res.json();
}
