Add middleware and refactor admin handlers for improved functionality
- Introduced `DependenciesMiddleware` and `BlacklistMiddleware` for enhanced request handling across all routers. - Refactored admin handlers to utilize new middleware, improving access control and error handling. - Updated the `admin_router` to include middleware for access checks and streamlined the process of banning users. - Enhanced the structure of admin handler imports for better organization and maintainability. - Improved error handling in various admin functions to ensure robust user interactions.
This commit is contained in:
33
helper_bot/handlers/callback/dependency_factory.py
Normal file
33
helper_bot/handlers/callback/dependency_factory.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from typing import Callable
|
||||
from aiogram import Bot
|
||||
from aiogram.client.default import DefaultBotProperties
|
||||
from aiogram.fsm.context import FSMContext
|
||||
|
||||
from helper_bot.utils.base_dependency_factory import get_global_instance
|
||||
from .services import PostPublishService, BanService
|
||||
|
||||
|
||||
def get_post_publish_service() -> PostPublishService:
|
||||
"""Фабрика для PostPublishService"""
|
||||
bdf = get_global_instance()
|
||||
bot = Bot(
|
||||
token=bdf.settings['Telegram']['bot_token'],
|
||||
default=DefaultBotProperties(parse_mode='HTML'),
|
||||
timeout=30.0
|
||||
)
|
||||
db = bdf.get_db()
|
||||
settings = bdf.settings
|
||||
return PostPublishService(bot, db, settings)
|
||||
|
||||
|
||||
def get_ban_service() -> BanService:
|
||||
"""Фабрика для BanService"""
|
||||
bdf = get_global_instance()
|
||||
bot = Bot(
|
||||
token=bdf.settings['Telegram']['bot_token'],
|
||||
default=DefaultBotProperties(parse_mode='HTML'),
|
||||
timeout=30.0
|
||||
)
|
||||
db = bdf.get_db()
|
||||
settings = bdf.settings
|
||||
return BanService(bot, db, settings)
|
||||
Reference in New Issue
Block a user