from fastapi import APIRouter from models.result import Result, TeamResult from lib.db import get_connection router = APIRouter(prefix="/results", tags=["results"]) @router.get("/", response_model=list[Result]) async def list_results(): with get_connection() as conn: df = conn.execute("SELECT * FROM ReviewSummaryGlobal").fetchdf() if df.empty: return [] results = [Result(**row) for row in df.to_dict(orient="records")] return results @router.get("/team/{team_id}", response_model=list[TeamResult]) async def list_team_results(team_id: int): with get_connection() as conn: df = conn.execute( "SELECT * FROM ReviewSummaryByTeam WHERE team_id = ?", (team_id,) ).fetchdf() if df.empty: return [] results = [TeamResult(**row) for row in df.to_dict(orient="records")] return results