Files

54 lines
1.5 KiB
Python

from __future__ import annotations
PERM_USERS = "users"
PERM_KEYS = "keys"
PERM_TARIFFS = "tariffs"
PERM_CLUSTERS = "clusters"
PERM_BROADCASTING = "broadcasting"
PERM_COUPONS = "coupons"
PERM_GIFTS = "gifts"
PERM_STATS = "stats"
PERM_ADS = "ads"
PERM_MODULES = "modules"
PERM_SETTINGS = "settings"
PERM_MANAGEMENT = "management"
PERM_ADMINS = "admins"
PERM_EMOJI = "emoji"
PERMISSION_LABELS: dict[str, str] = {
PERM_USERS: "👤 Пользователи",
PERM_KEYS: "🔑 Подписки",
PERM_TARIFFS: "💸 Тарифы",
PERM_CLUSTERS: "🖥️ Серверы",
PERM_BROADCASTING: "📢 Рассылки",
PERM_COUPONS: "🎟️ Купоны",
PERM_GIFTS: "🎁 Подарки",
PERM_STATS: "📊 Статистика",
PERM_ADS: "📈 UTM / Аналитика",
PERM_MODULES: "🧩 Модули",
PERM_SETTINGS: "⚙️ Настройки",
PERM_MANAGEMENT: "🤖 Управление ботом",
PERM_ADMINS: "👑 Управление админами",
PERM_EMOJI: "😀 Эмоджи",
}
ALL_PERMISSIONS: tuple[str, ...] = tuple(PERMISSION_LABELS.keys())
def normalize_permissions(raw) -> list[str]:
if not raw:
return []
if isinstance(raw, str):
raw = [raw]
seen: set[str] = set()
result: list[str] = []
for item in raw:
if not isinstance(item, str):
continue
if item in PERMISSION_LABELS and item not in seen:
seen.add(item)
result.append(item)
return result