"""GET /api/analytics/* —— 数据分析板块端组(前缀分组=未来角色权限落点)。""" from __future__ import annotations from typing import Annotated, Any from fastapi import APIRouter, Depends from sqlalchemy.ext.asyncio import AsyncSession from app.analytics import health as health_svc from app.api.deps import get_session router = APIRouter(prefix="/api/analytics", tags=["analytics"]) SessionDep = Annotated[AsyncSession, Depends(get_session)] @router.get("/health") async def analytics_health(session: SessionDep) -> dict[str, Any]: """E0-lite:数据截至 + 实体新鲜度。""" as_of = await health_svc.data_as_of(session) return {"data_as_of": as_of, "entities": await health_svc.entity_freshness(session)}