30 lines
618 B
Python
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)
|