18 lines
621 B
Python
18 lines
621 B
Python
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)
|