Files

32 lines
852 B
Python

from aiogram import BaseMiddleware
from typing import Any, Callable
from redis.asyncio import Redis
from services.orders import OrderService
from services.catalogue import CatalogueService
class DIMiddleware(BaseMiddleware):
def __init__(
self,
order_service: OrderService,
catalogue_service: CatalogueService,
redis_client: Redis,
):
self._order_service = order_service
self._redis_client = redis_client
self._catalogue_service = catalogue_service
async def __call__(
self,
handler: Callable,
event: Any,
data: dict[str, Any],
) -> Any:
data["order_service"] = self._order_service
data["catalogue_service"] = self._catalogue_service
data["redis_client"] = self._redis_client
return await handler(event, data)