Skip to content

fastapi_tools.dependencies

FastAPI dependency injection functions.

Functions:

get_current_session async

get_current_session(
    request: Request,
    session: Annotated[
        str | None, Cookie(alias="session")
    ] = None,
) -> SessionData | None

Get the current session from the session cookie, if any.

Source code in src/fastapi_tools/dependencies.py
async def get_current_session(
    request: Request,
    session: Annotated[str | None, Cookie(alias="session")] = None,
) -> SessionData | None:
    """Get the current session from the session cookie, if any."""
    if not session:
        return None
    session_store = get_session_store(request)
    return session_store.get_session(session)

get_current_user async

get_current_user(
    session: Annotated[
        SessionData | None, Depends(get_current_session)
    ],
) -> SessionData

Require an authenticated user; raises NotAuthenticatedException otherwise.

Source code in src/fastapi_tools/dependencies.py
async def get_current_user(
    session: Annotated[SessionData | None, Depends(get_current_session)],
) -> SessionData:
    """Require an authenticated user; raises NotAuthenticatedException otherwise."""
    if session is None:
        raise NotAuthenticatedException
    return session

get_db_session

get_db_session() -> Generator[None]

Yield a placeholder database session.

Source code in src/fastapi_tools/dependencies.py
def get_db_session() -> Generator[None]:
    """Yield a placeholder database session."""
    yield None

get_optional_user async

get_optional_user(
    session: Annotated[
        SessionData | None, Depends(get_current_session)
    ],
) -> SessionData | None

Get the current user if authenticated, or None.

Source code in src/fastapi_tools/dependencies.py
async def get_optional_user(
    session: Annotated[SessionData | None, Depends(get_current_session)],
) -> SessionData | None:
    """Get the current user if authenticated, or None."""
    return session

get_session_store

get_session_store(request: Request) -> SessionStore

Get session store from app state.

Source code in src/fastapi_tools/dependencies.py
def get_session_store(request: Request) -> SessionStore:
    """Get session store from app state."""
    return request.app.state.session_store