/**
 * Клиент публичного эндпоинта здоровья инстанса (`GET /api/health`).
 *
 * Живёт вне `/api/v1` (см. `backend/api/health.py` — маршрут зарегистрирован
 * без версионного префикса) и не требует авторизации, поэтому запрос идёт
 * напрямую через `fetch`, в обход `apiRequest`/`API_BASE` из `client.ts`.
 *
 * Поле `version` (версия инстанса из `VERSION`/`VIDCONF_VERSION`) —
 * опционально: если backend его не отдаёт, футер админки просто не
 * показывает версию.
 */
export interface HealthOut {
  status: string
  db: boolean
  redis: boolean
  version?: string
}

/** Запросить статус здоровья инстанса. */
export async function getHealth(): Promise<HealthOut> {
  const response = await fetch('/api/health', { credentials: 'include' })
  if (!response.ok) {
    throw new Error(`Ошибка API: ${response.status}`)
  }
  return (await response.json()) as HealthOut
}
