Портфолио: Рефакторинг кода

This commit is contained in:
Kirill Samoylenkov 2025-08-22 21:11:08 +07:00
parent f6a2c1fa30
commit 5c18e22b80
31 changed files with 447 additions and 283 deletions

View file

@ -1,8 +1,4 @@
__all__ = [
"i18n_middleware",
"DatabaseSessionMiddleware"
]
__all__ = ["i18n_middleware", "DatabaseSessionMiddleware"]
from .i18n import i18n_middleware
from .database import DatabaseSessionMiddleware

View file

@ -8,18 +8,20 @@ from sqlalchemy.ext.asyncio import async_sessionmaker
class DatabaseSessionMiddleware(BaseMiddleware):
"""
Мидлвари для получения сессии в БД для фильтров, сообщений и прочего.
Мидлвари для получения сессии в БД для фильтров, сообщений и прочего.
"""
def __init__(self, session_pool: async_sessionmaker) -> None:
self.session_pool = session_pool
async def __call__(
self,
handler: Callable[[TelegramObject, Dict[str, Any]], Awaitable[Any]],
handler: Callable[
[TelegramObject, Dict[str, Any]], Awaitable[Any]
],
event: TelegramObject,
data: Dict[str, Any],
) -> Any:
async with self.session_pool() as session:
data["session"] = session
return await handler(event, data)