27 lines
728 B
Python
27 lines
728 B
Python
from typing import Annotated
|
|
|
|
from fastapi import APIRouter, Depends
|
|
from sqlalchemy.orm import Session
|
|
|
|
from app.config import get_settings
|
|
from app.deps import get_db
|
|
from app.models.buildings import BuildingsQueryRequest, BuildingsQueryResponse
|
|
from app.routers.errors import as_501
|
|
from app.services import buildings as buildings_service
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.post("/query", response_model=BuildingsQueryResponse)
|
|
def query(
|
|
request: BuildingsQueryRequest,
|
|
db: Annotated[Session, Depends(get_db)],
|
|
) -> BuildingsQueryResponse:
|
|
return as_501(
|
|
lambda: buildings_service.query_buildings(
|
|
request,
|
|
db,
|
|
limit=get_settings().buildings_query_limit,
|
|
)
|
|
)
|