from aiogram import BaseMiddleware from repositories import OrderRepository, CategoriesRepository from repositories.order_items import OrderItemRepository from repositories.products import ProductRepository class RepositoryMiddleware(BaseMiddleware): def __init__( self, order_repo: OrderRepository, categories_repo: CategoriesRepository, products_repo: ProductRepository, order_items_repo: OrderItemRepository, ) -> None: self._order_repo = order_repo self._categories_repo = categories_repo self._products_repo = products_repo self._order_items_repo = order_items_repo async def __call__(self, handler, event, data): data["order_repo"] = self._order_repo data["categories_repo"] = self._categories_repo data["products_repo"] = self._products_repo data["order_items_repo"] = self._order_items_repo return await handler(event, data)