"""健康检查接口。"""
from fastapi import APIRouter

from app.core.config import settings
from app.core.database import check_connections
from app.core.response import AppError, ok

router = APIRouter(tags=["健康检查"])


@router.get("/health", summary="健康检查")
def health():
    try:
        db_status = check_connections()
    except Exception as exc:  # noqa: BLE001
        raise AppError(f"数据库连接失败: {exc}", code=500, status_code=503)
    return ok({
        "app": settings.app_name,
        "version": settings.app_version,
        "database": db_status,
    })