Unification of pagination, admins control and more

This commit is contained in:
2026-03-02 19:02:20 +07:00
parent 035170e46f
commit eab67ccfc1
13 changed files with 271 additions and 118 deletions

View File

@@ -1,12 +1,22 @@
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):
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,
@@ -15,5 +25,7 @@ class DIMiddleware(BaseMiddleware):
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)