context.py 536 B

123456789101112131415161718192021
  1. from aiogram import BaseMiddleware
  2. from anonflow.services import UserService
  3. from .utils import extract_user
  4. class UserContextMiddleware(BaseMiddleware):
  5. def __init__(self, user_service: UserService):
  6. super().__init__()
  7. self._user_service = user_service
  8. async def __call__(self, handler, event, data):
  9. data["user"] = None
  10. from_user = extract_user(event)
  11. if from_user:
  12. data["user"] = await self._user_service.get(from_user.id)
  13. return await handler(event, data)