diff --git a/database.py b/database.py index 40ab4719..0dd381a0 100644 --- a/database.py +++ b/database.py @@ -134,18 +134,17 @@ async def init_db(): await conn.close() + async def check_unique_server_name(server_name: str) -> bool: """ Проверяет уникальность имени сервера. - + :param server_name: Имя сервера. :return: True, если имя сервера уникально, False, если уже существует. """ conn = await asyncpg.connect(DATABASE_URL) - result = await conn.fetchrow( - "SELECT 1 FROM servers WHERE server_name = $1 LIMIT 1", server_name - ) + result = await conn.fetchrow("SELECT 1 FROM servers WHERE server_name = $1 LIMIT 1", server_name) await conn.close() diff --git a/handlers/admin/admin_servers.py b/handlers/admin/admin_servers.py index 377af072..f8654e86 100644 --- a/handlers/admin/admin_servers.py +++ b/handlers/admin/admin_servers.py @@ -4,10 +4,9 @@ from aiogram.fsm.state import State, StatesGroup from aiogram.types import InlineKeyboardButton from aiogram.utils.keyboard import InlineKeyboardBuilder import asyncpg -from typing import Any from config import DATABASE_URL -from database import get_servers_from_db, check_unique_server_name +from database import check_unique_server_name, get_servers_from_db from filters.admin import IsAdminFilter router = Router() @@ -130,7 +129,6 @@ async def handle_server_name_input(message: types.Message, state: FSMContext): await state.set_state(UserEditorState.waiting_for_api_url) - @router.message(UserEditorState.waiting_for_api_url, IsAdminFilter()) async def handle_api_url_input(message: types.Message, state: FSMContext): api_url = message.text.strip() @@ -152,6 +150,8 @@ async def handle_api_url_input(message: types.Message, state: FSMContext): ) return + api_url = api_url.rstrip('/') + user_data = await state.get_data() cluster_name = user_data.get('cluster_name') server_name = user_data.get('server_name') @@ -193,6 +193,8 @@ async def handle_subscription_url_input(message: types.Message, state: FSMContex ) return + subscription_url = subscription_url.rstrip('/') + user_data = await state.get_data() cluster_name = user_data.get('cluster_name') server_name = user_data.get('server_name')