from fastapi import APIRouter, Depends, HTTPException, Path, Query from sqlmodel import select from ..model import Status, get_session router = APIRouter( prefix="/status", tags=["status"], ) @router.get("/", response_model=list[Status]) async def get_statuses(session=Depends(get_session)): """List of Statuses""" return session.exec(select(Status)).all() @router.get("/{status}", response_model=Status, responses={404: {"description": "Not found"}}) async def get_status( status: str, session=Depends(get_session)): """Get a Status""" result = session.get(Status, status) if not result: raise HTTPException(status_code=404, detail=f"Status {status!r} not found") return result