add subscription count display for clusters and servers

This commit is contained in:
Capybara-z
2025-06-13 21:03:47 +03:00
parent 33b31a411c
commit ef6b347bf5
2 changed files with 17 additions and 1 deletions
+9 -1
View File
@@ -304,10 +304,18 @@ async def handle_clusters_manage(
)
user_count = result.scalar() or 0
result = await session.execute(
select(func.count()).where(
(Key.server_id == cluster_name) | (Key.server_id.in_(server_names))
)
)
subscription_count = result.scalar() or 0
text = (
f"<b>🔧 Управление кластером <code>{cluster_name}</code></b>\n\n"
f"📁 <b>Тарифная группа:</b> <code>{tariff_group}</code>\n"
f"👥 <b>Пользователей на кластере:</b> <code>{user_count}</code>"
f"👥 <b>Пользователей на кластере:</b> <code>{user_count}</code>\n"
f"🔑 <b>Всего подписок:</b> <code>{subscription_count}</code>"
)
await callback_query.message.edit_text(
@@ -69,6 +69,11 @@ async def handle_server_manage(
max_keys = server.get("max_keys")
limit_display = f"{max_keys}" if max_keys else "не задан"
result = await session.execute(
select(func.count()).where(Key.server_id == server_name)
)
subscription_count = result.scalar() or 0
text = (
f"<b>🔧 Информация о сервере {server_name}:</b>\n\n"
f"<b>🗂 Кластер:</b> {cluster_name}\n"
@@ -84,6 +89,9 @@ async def handle_server_manage(
f"<b>📈 Лимит ключей:</b> {limit_display}"
)
if subscription_count > 0:
text += f"\n<b>🔑 Подписок на сервере:</b> {subscription_count}"
await callback_query.message.edit_text(
text=text,
reply_markup=build_manage_server_kb(