diff --git a/app/cabinet/routes/subscription.py b/app/cabinet/routes/subscription.py index 9ccad8bc..d690c687 100644 --- a/app/cabinet/routes/subscription.py +++ b/app/cabinet/routes/subscription.py @@ -2071,6 +2071,7 @@ async def purchase_tariff( subscription, reset_traffic=True, reset_reason='покупка тарифа (cabinet)', + sync_squads=True, ) else: await service.create_remnawave_user( @@ -3144,7 +3145,7 @@ async def update_countries( try: subscription_service = SubscriptionService() if getattr(user, 'remnawave_uuid', None): - await subscription_service.update_remnawave_user(db, user.subscription) + await subscription_service.update_remnawave_user(db, user.subscription, sync_squads=True) else: await subscription_service.create_remnawave_user(db, user.subscription) except Exception as e: @@ -4174,6 +4175,7 @@ async def switch_tariff( subscription, reset_traffic=should_reset_traffic, reset_reason='смена тарифа', + sync_squads=True, ) else: await subscription_service.create_remnawave_user( diff --git a/app/handlers/subscription/purchase.py b/app/handlers/subscription/purchase.py index 1a985f24..2ed46304 100644 --- a/app/handlers/subscription/purchase.py +++ b/app/handlers/subscription/purchase.py @@ -2448,6 +2448,7 @@ async def confirm_purchase(callback: types.CallbackQuery, state: FSMContext, db_ subscription, reset_traffic=True, reset_reason='покупка подписки', + sync_squads=True, ) else: remnawave_user = await subscription_service.create_remnawave_user( diff --git a/app/services/subscription_auto_purchase_service.py b/app/services/subscription_auto_purchase_service.py index 27554d82..3ba80ba3 100644 --- a/app/services/subscription_auto_purchase_service.py +++ b/app/services/subscription_auto_purchase_service.py @@ -460,6 +460,7 @@ async def _auto_extend_subscription( updated_subscription, reset_traffic=should_reset_traffic, reset_reason='смена тарифа' if is_tariff_change else 'продление подписки', + sync_squads=is_tariff_change, ) except Exception as error: # pragma: no cover - defensive logging logger.error( diff --git a/app/services/subscription_purchase_service.py b/app/services/subscription_purchase_service.py index ac1fb806..c06b989a 100644 --- a/app/services/subscription_purchase_service.py +++ b/app/services/subscription_purchase_service.py @@ -1091,6 +1091,7 @@ class MiniAppSubscriptionPurchaseService: subscription, reset_traffic=True, reset_reason='miniapp purchase', + sync_squads=True, ) else: await subscription_service.create_remnawave_user( diff --git a/app/webapi/routes/miniapp.py b/app/webapi/routes/miniapp.py index 5ba65703..4e02a6f3 100644 --- a/app/webapi/routes/miniapp.py +++ b/app/webapi/routes/miniapp.py @@ -5691,7 +5691,7 @@ async def update_subscription_servers_endpoint( pass service = SubscriptionService() - await service.update_remnawave_user(db, subscription) + await service.update_remnawave_user(db, subscription, sync_squads=True) await with_admin_notification_service( lambda service: service.send_subscription_update_notification( @@ -6500,6 +6500,7 @@ async def purchase_tariff_endpoint( subscription, reset_traffic=True, reset_reason='покупка тарифа (miniapp)', + sync_squads=True, ) # Сохраняем корзину для автопродления @@ -6873,6 +6874,7 @@ async def switch_tariff_endpoint( subscription, reset_traffic=should_reset_traffic, reset_reason='смена тарифа', + sync_squads=True, ) except Exception as e: logger.error('Ошибка синхронизации с RemnaWave при смене тарифа', error=e)