diff --git a/src/proxy_pool/common/dependencies.py b/src/proxy_pool/common/dependencies.py new file mode 100644 index 0000000..813acee --- /dev/null +++ b/src/proxy_pool/common/dependencies.py @@ -0,0 +1,21 @@ +from collections.abc import AsyncGenerator + +from fastapi import Request +from redis.asyncio import Redis +from sqlalchemy.ext.asyncio import AsyncSession + +from proxy_pool.plugins.registry import PluginRegistry + + +async def get_db(request: Request) -> AsyncGenerator[AsyncSession, None]: + session_factory = request.app.state.session_factory + async with session_factory() as session: + yield session + + +def get_redis(request: Request) -> Redis: + return request.app.state.redis + + +def get_registry(request: Request) -> PluginRegistry: + return request.app.state.registry