// 도메인별 API Composable 샘플 — 실제 도메인이 추가되면 이 패턴을 복제
// (ref, useApi 는 Nuxt 자동 임포트로 별도 import 불필요)
export interface User {
  id: number
  email: string
  name: string
}

export function useUser() {
  const api = useApi()
  const loading = ref<boolean>(false)
  const error = ref<string | null>(null)

  async function getUser(id: number): Promise<User | null> {
    loading.value = true
    error.value = null
    try {
      // 인터셉터에서 success/data 언래핑 후 데이터만 반환
      return (await api.get<User>(`/users/${id}`)) as unknown as User
    } catch (e) {
      error.value = (e as Error)?.message ?? 'unknown error'
      return null
    } finally {
      loading.value = false
    }
  }

  return { loading, error, getUser }
}
