From 0f69823192a7adb00fe6c5ac6791e218f2e368b9 Mon Sep 17 00:00:00 2001 From: machka-pasla Date: Wed, 3 Sep 2025 16:32:18 +0300 Subject: [PATCH] Refactor subscription fetching logic in toggle_autorenew_handler - Updated the subscription retrieval process to directly fetch the Subscription model by ID, improving clarity and reducing potential import cycle issues. - Enhanced code readability by adding a comment to clarify the purpose of the subscription fetch operation. --- bot/handlers/user/subscription.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bot/handlers/user/subscription.py b/bot/handlers/user/subscription.py index 0202757..a4f5703 100644 --- a/bot/handlers/user/subscription.py +++ b/bot/handlers/user/subscription.py @@ -20,6 +20,7 @@ from bot.services.panel_api_service import PanelApiService from bot.services.referral_service import ReferralService from bot.middlewares.i18n import JsonI18n from db.dal import subscription_dal +from db.models import Subscription router = Router(name="user_subscription_router") @@ -564,8 +565,7 @@ async def toggle_autorenew_handler(callback: types.CallbackQuery, settings: Sett pass return - sub = await session.get(type(subscription_service).__annotations__.get('sub', Subscription), sub_id) # fallback avoids import cycle - # Better: direct DAL fetch + # Fetch subscription by ID directly sub = await session.get(Subscription, sub_id) if not sub or sub.user_id != callback.from_user.id: await callback.answer(get_text("error_try_again"), show_alert=True)