routers.allergens
Endpoint for allergens.
1"""Endpoint for allergens.""" 2 3from fastapi import APIRouter, HTTPException, status 4from internal.database.dependency import database_dependency 5from internal.queries.allergens import AsyncQuerier as AllergensQuerier 6from internal.queries.models import Allergen 7 8router = APIRouter(prefix="/allergens", tags=["allergens"]) 9 10 11@router.get( 12 "/", 13 status_code=status.HTTP_200_OK, 14 summary="Get all allergens", 15 description="Retrieves a list of all defined allergens.", 16) 17async def get_allergens(conn: database_dependency) -> list[Allergen]: 18 """Get all allergens. 19 20 Returns: 21 all allergens 22 23 Raises: 24 HTTPException: if failed to get allergens 25 """ 26 allergens = [item async for item in AllergensQuerier(conn).get_allergens()] 27 if allergens is None: 28 raise HTTPException( 29 status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, 30 detail="Failed to get allergens", 31 ) 32 return list(allergens)
router =
<fastapi.routing.APIRouter object>
@router.get('/', status_code=status.HTTP_200_OK, summary='Get all allergens', description='Retrieves a list of all defined allergens.')
async def
get_allergens( conn: Annotated[sqlalchemy.ext.asyncio.engine.AsyncConnection, Depends(dependency=<bound method DatabaseManager.get_connection of <internal.database.manager.DatabaseManager object>>, use_cache=True, scope=None)]) -> list[internal.queries.models.Allergen]:
12@router.get( 13 "/", 14 status_code=status.HTTP_200_OK, 15 summary="Get all allergens", 16 description="Retrieves a list of all defined allergens.", 17) 18async def get_allergens(conn: database_dependency) -> list[Allergen]: 19 """Get all allergens. 20 21 Returns: 22 all allergens 23 24 Raises: 25 HTTPException: if failed to get allergens 26 """ 27 allergens = [item async for item in AllergensQuerier(conn).get_allergens()] 28 if allergens is None: 29 raise HTTPException( 30 status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, 31 detail="Failed to get allergens", 32 ) 33 return list(allergens)
Get all allergens.
Returns:
all allergens
Raises:
- HTTPException: if failed to get allergens