"""Dashboard API""" from fastapi import APIRouter, Depends, Query from sqlalchemy.ext.asyncio import AsyncSession from app.core.database import get_db from app.services.dashboard_service import ( get_dashboard_stats, DashboardStats, get_wip_tasks, WipTask, ) router = APIRouter(prefix="/dashboard", tags=["管理看板"]) @router.get("/stats", response_model=DashboardStats) async def dashboard_stats(db: AsyncSession = Depends(get_db)): return await get_dashboard_stats(db) @router.get("/wip-tasks", response_model=list[WipTask]) async def wip_tasks( limit: int = Query(20, ge=1, le=100), db: AsyncSession = Depends(get_db), ): """在制品看板 — 当前所有 PENDING/WIP 任务,按滞留时间排序""" return await get_wip_tasks(db, limit)