Skip to content

Dependencies

plateforme.core.api.dependencies

This module provides utilities for managing dependencies within the Plateforme framework.

AsyncSessionDep module-attribute

An async session dependency for use in API route handlers.

SessionDep module-attribute

A session dependency for use in API route handlers.

filter_dependency

filter_dependency(
    request: Request, filter: Filter | None = None
) -> Filter | None

Get a filter query parameters injection dependency.

Source code in .venv/lib/python3.12/site-packages/plateforme/core/api/dependencies.py
def filter_dependency(
    request: Request, filter: Filter | None = None
) -> Filter | None:
    """Get a filter query parameters injection dependency."""
    criteria = {}
    for key, value in request.query_params.items():
        # Skip non-filter parameters
        if not key.startswith('.'):
            continue
        criteria[key[1:]] = value

    if not criteria:
        return filter
    return Filter(filter or {}, **criteria)

async_session_dependency async

async_session_dependency() -> AsyncGenerator[
    AsyncSession, None
]

Get an async session dependency.

Source code in .venv/lib/python3.12/site-packages/plateforme/core/api/dependencies.py
async def async_session_dependency() -> AsyncGenerator[AsyncSession, None]:
    """Get an async session dependency."""
    async with async_session_manager() as session:
        yield session

session_dependency

session_dependency() -> Generator[Session, None, None]

Get a session dependency.

Source code in .venv/lib/python3.12/site-packages/plateforme/core/api/dependencies.py
def session_dependency() -> Generator[Session, None, None]:
    """Get a session dependency."""
    with session_manager() as session:
        yield session