Spaces:
Runtime error
Runtime error
from typing import AsyncGenerator | |
from sqlalchemy.ext.asyncio import AsyncSession | |
from starlette.requests import Request | |
async def get_db_session(request: Request) -> AsyncGenerator[AsyncSession, None]: | |
""" | |
Create and get database session. | |
:param request: current request. | |
:yield: database session. | |
""" | |
session: AsyncSession = request.app.state.db_session_factory() | |
try: # noqa: WPS501 | |
yield session | |
await session.commit() | |
finally: | |
await session.close() | |