56 lines
1.8 KiB
Python
56 lines
1.8 KiB
Python
"""
|
|
Инициализация системы разрешений
|
|
Автоматически регистрирует все доступные разрешения
|
|
"""
|
|
from .registry import get_permission_registry, register_permission
|
|
from .permissions import (
|
|
AdminPermission,
|
|
SuperuserPermission,
|
|
ViewStatsPermission,
|
|
AdminPanelPermission,
|
|
ManageUsersPermission,
|
|
BroadcastPermission,
|
|
SuperuserOnlyPermission,
|
|
ViewQuestionsPermission,
|
|
AskQuestionsPermission,
|
|
AnswerQuestionsPermission
|
|
)
|
|
from services.infrastructure.logger import get_logger
|
|
|
|
logger = get_logger(__name__)
|
|
|
|
|
|
def init_all_permissions():
|
|
"""
|
|
Инициализация всех разрешений в системе
|
|
"""
|
|
logger.info("Начинаем инициализацию системы разрешений...")
|
|
|
|
# Список всех разрешений для регистрации
|
|
permissions = [
|
|
AdminPermission(),
|
|
SuperuserPermission(),
|
|
ViewStatsPermission(),
|
|
AdminPanelPermission(),
|
|
ManageUsersPermission(),
|
|
BroadcastPermission(),
|
|
SuperuserOnlyPermission(),
|
|
ViewQuestionsPermission(),
|
|
AskQuestionsPermission(),
|
|
AnswerQuestionsPermission(),
|
|
]
|
|
|
|
# Регистрируем все разрешения
|
|
for permission in permissions:
|
|
register_permission(permission)
|
|
logger.debug(f"Зарегистрировано разрешение: {permission.name}")
|
|
|
|
registry = get_permission_registry()
|
|
total_permissions = len(registry.get_all())
|
|
|
|
logger.info(f"✅ Система разрешений инициализирована. Зарегистрировано {total_permissions} разрешений")
|
|
|
|
return registry
|
|
|
|
|