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)