routers.categories
Endpoint for categories.
1"""Endpoint for categories.""" 2 3from fastapi import APIRouter, HTTPException, status 4from internal.database.dependency import database_dependency 5from internal.queries.category import AsyncQuerier as CategoriesQuerier 6from internal.queries.models import Category 7 8router = APIRouter(prefix="/categories", tags=["categories"]) 9 10 11@router.get( 12 "/", 13 status_code=status.HTTP_200_OK, 14 summary="Get all categories", 15 description="Retrieves a list of all defined bundle categories.", 16) 17async def get_categories(conn: database_dependency) -> list[Category]: 18 """Get all categories. 19 20 Returns: 21 all categories 22 23 Raises: 24 HTTPException: if failed to get categories 25 """ 26 categories = [item async for item in CategoriesQuerier(conn).get_categories()] 27 if categories is None: 28 raise HTTPException( 29 status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, 30 detail="Failed to get categories", 31 ) 32 return list(categories)
router =
<fastapi.routing.APIRouter object>
@router.get('/', status_code=status.HTTP_200_OK, summary='Get all categories', description='Retrieves a list of all defined bundle categories.')
async def
get_categories( 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.Category]:
12@router.get( 13 "/", 14 status_code=status.HTTP_200_OK, 15 summary="Get all categories", 16 description="Retrieves a list of all defined bundle categories.", 17) 18async def get_categories(conn: database_dependency) -> list[Category]: 19 """Get all categories. 20 21 Returns: 22 all categories 23 24 Raises: 25 HTTPException: if failed to get categories 26 """ 27 categories = [item async for item in CategoriesQuerier(conn).get_categories()] 28 if categories is None: 29 raise HTTPException( 30 status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, 31 detail="Failed to get categories", 32 ) 33 return list(categories)
Get all categories.
Returns:
all categories
Raises:
- HTTPException: if failed to get categories