29 lines
894 B
Python
29 lines
894 B
Python
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
|