File tree Expand file tree Collapse file tree 2 files changed +15
-14
lines changed Expand file tree Collapse file tree 2 files changed +15
-14
lines changed Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1+ from typing import Annotated , AsyncGenerator
2+
13import pydantic
2- from sqlalchemy .ext .asyncio import async_sessionmaker , create_async_engine
4+ from fastapi import Depends
5+ from sqlalchemy .ext .asyncio import AsyncSession , async_sessionmaker , create_async_engine
36
47from api .utils .settings import CJMSBaseSettings
58
@@ -18,7 +21,17 @@ class Connections:
1821 """How to connect to other, internal services."""
1922
2023 DB_ENGINE = create_async_engine (ConnectionURLs .DATABASE_URL .get_secret_value ())
21- DB_SESSION = async_sessionmaker (DB_ENGINE )
24+ DB_SESSION_MAKER = async_sessionmaker (DB_ENGINE )
25+
26+
27+ async def _get_db_session () -> AsyncGenerator [AsyncSession , None ]:
28+ """A dependency to pass a database session to every route function."""
29+ async with Connections .DB_SESSION_MAKER () as session :
30+ async with session .begin ():
31+ yield session
32+
33+
34+ DBSession = Annotated [AsyncSession , Depends (_get_db_session )]
2235
2336
2437class _Server (CJMSBaseSettings ):
You can’t perform that action at this time.
0 commit comments