from fastapi import APIRouter from app.core.deps import DbSession from app.schemas.catalog import VenuePublic from app.services.catalog import get_venue_by_id, list_venues router = APIRouter(prefix="/venues", tags=["venues"]) @router.get("", response_model=list[VenuePublic]) def get_venues(db: DbSession) -> list[VenuePublic]: return [VenuePublic.model_validate(venue) for venue in list_venues(db)] @router.get("/{venue_id}", response_model=VenuePublic) def get_venue(venue_id: int, db: DbSession) -> VenuePublic: venue = get_venue_by_id(db, venue_id=venue_id) return VenuePublic.model_validate(venue)