Files
Solo_bot/middlewares/session.py
T
2026-02-11 03:40:01 +03:00

19 lines
538 B
Python

from aiogram import BaseMiddleware
class SessionMiddleware(BaseMiddleware):
def __init__(self, sessionmaker):
self.sessionmaker = sessionmaker
async def __call__(self, handler, event, data):
if data.get("session"):
return await handler(event, data)
async with self.sessionmaker() as session:
data["session"] = session
try:
return await handler(event, data)
except Exception:
await session.rollback()
raise