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
This commit is contained in:
@@ -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 должен начинаться с <code>https://</code>. Попробуйте снова.",
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user