fooder-api/fooder/context.py

30 lines
618 B
Python

from sqlalchemy.ext.asyncio import AsyncSession
from fastapi import Depends
from fooder.db import get_db_session
class Context:
"""
Main API context, aggregating dependencies
"""
def __init__(self, dbssn: AsyncSession) -> None:
self.dbssn = dbssn
class ContextDependency:
"""
Configurable context dependecy. Allows for shared interface configuring
method required dependencies
"""
def __init__(
self,
) -> None:
pass
def __call__(
self,
dbssn: AsyncSession = Depends(get_db_session),
):
return Context(dbssn=dbssn)