31 lines
663 B
Python
31 lines
663 B
Python
from sqlalchemy.ext.asyncio import AsyncSession
|
|
from fastapi import Depends
|
|
from .db import get_db_session
|
|
from .repository import Repository
|
|
|
|
|
|
class Context:
|
|
"""
|
|
Main API context, aggregating dependencies
|
|
"""
|
|
|
|
def __init__(self, repo: Repository) -> None:
|
|
self.repo = Repository
|
|
|
|
|
|
class ContextDependency:
|
|
"""
|
|
Configurable context dependecy. Allows for shared interface configuring
|
|
method required dependencies
|
|
"""
|
|
|
|
def __init__(
|
|
self,
|
|
) -> None:
|
|
pass
|
|
|
|
def __call__(
|
|
self,
|
|
session: AsyncSession = Depends(get_db_session),
|
|
):
|
|
return Context(repo=Repository(session))
|