From cc429001429fb0fb3735a6739206c80f99841a06 Mon Sep 17 00:00:00 2001 From: Zakhar Izmaylov Date: Fri, 31 Jan 2025 10:54:42 +0300 Subject: [PATCH] Update server name input handler with session parameter - Add session parameter to server name input handler - Modify server name uniqueness check to use session and cluster name - Improve data retrieval and validation in server creation flow --- handlers/admin/admin_servers.py | 11 ++++++----- handlers/keys/keys.py | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/handlers/admin/admin_servers.py b/handlers/admin/admin_servers.py index 516fa779..792bc81f 100644 --- a/handlers/admin/admin_servers.py +++ b/handlers/admin/admin_servers.py @@ -94,7 +94,7 @@ async def handle_cluster_name_input(message: Message, state: FSMContext): @router.message(AdminServersEditor.waiting_for_server_name, IsAdminFilter()) -async def handle_server_name_input(message: Message, state: FSMContext): +async def handle_server_name_input(message: Message, state: FSMContext, session: Any): if not message.text: await message.answer( text="❌ Имя сервера не может быть пустым. Попробуйте снова.", reply_markup=build_admin_back_kb("servers") @@ -103,15 +103,16 @@ async def handle_server_name_input(message: Message, state: FSMContext): server_name = message.text.strip() - if not await check_unique_server_name(server_name): + user_data = await state.get_data() + cluster_name = user_data.get("cluster_name") + + if not await check_unique_server_name(server_name, session, cluster_name): await message.answer( text="❌ Сервер с таким именем уже существует. Пожалуйста, выберите другое имя.", reply_markup=build_admin_back_kb("servers"), ) return - user_data = await state.get_data() - cluster_name = user_data.get("cluster_name") await state.update_data(server_name=server_name) text = ( @@ -130,7 +131,7 @@ async def handle_server_name_input(message: Message, state: FSMContext): @router.message(AdminServersEditor.waiting_for_api_url, IsAdminFilter()) -async def handle_api_url_input(message: Message, state: FSMContext): +async def handle_api_url_input(message: Message, state: FSMContext, session: Any): if not message.text or not message.text.strip().startswith("https://"): await message.answer( text="❌ API URL должен начинаться с https://. Попробуйте снова.", diff --git a/handlers/keys/keys.py b/handlers/keys/keys.py index 3cdc893c..149c1733 100644 --- a/handlers/keys/keys.py +++ b/handlers/keys/keys.py @@ -498,7 +498,7 @@ async def complete_key_renewal(tg_id, client_id, email, new_expiry_time, total_g await update_key_expiry(client_id, new_expiry_time, conn) await update_balance(tg_id, -cost, conn) logger.info(f"[RENEW] Ключ {client_id} успешно продлён на {plan} мес. для пользователя {tg_id}.") - + await conn.close() await renew_key_on_cluster()