mirror of
https://github.com/BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot.git
synced 2026-03-05 05:13:21 +00:00
Merge pull request #1716 from Fr1ngg/bedolaga/fix-remnawave-sync-error
Ensure RemnaWave service exposes create_user_no_commit
This commit is contained in:
@@ -283,7 +283,14 @@ class MonitoringService:
|
||||
is_active = False
|
||||
logger.info(f"📝 Статус подписки {subscription.id} обновлен на 'expired'")
|
||||
|
||||
async with self.api as api:
|
||||
if not self.subscription_service.is_configured:
|
||||
logger.warning(
|
||||
"RemnaWave API не настроен. Пропускаем обновление пользователя %s",
|
||||
subscription.user_id,
|
||||
)
|
||||
return None
|
||||
|
||||
async with self.subscription_service.get_api_client() as api:
|
||||
hwid_limit = resolve_hwid_device_limit_for_payload(subscription)
|
||||
|
||||
update_kwargs = dict(
|
||||
@@ -1488,7 +1495,11 @@ class MonitoringService:
|
||||
if now.minute != 0:
|
||||
return
|
||||
|
||||
async with self.subscription_service.api as api:
|
||||
if not self.subscription_service.is_configured:
|
||||
logger.warning("RemnaWave API не настроен. Пропускаем синхронизацию")
|
||||
return
|
||||
|
||||
async with self.subscription_service.get_api_client() as api:
|
||||
system_stats = await api.get_system_stats()
|
||||
|
||||
await self._log_monitoring_event(
|
||||
|
||||
@@ -17,7 +17,7 @@ from sqlalchemy.exc import IntegrityError
|
||||
from sqlalchemy.orm import selectinload
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from app.database.crud.user import (
|
||||
create_user,
|
||||
create_user_no_commit,
|
||||
get_users_list,
|
||||
get_user_by_telegram_id,
|
||||
update_user,
|
||||
@@ -302,7 +302,7 @@ class RemnaWaveService:
|
||||
first_name_from_desc, last_name_from_desc, username_from_desc = self._extract_user_data_from_description(description)
|
||||
|
||||
# Используем извлеченное имя или дефолтное значение
|
||||
fallback_first_name = f"Panel User {telegram_id}"
|
||||
fallback_first_name = f"User {telegram_id}"
|
||||
full_first_name = fallback_first_name
|
||||
full_last_name = None
|
||||
|
||||
@@ -321,13 +321,11 @@ class RemnaWaveService:
|
||||
telegram_id=telegram_id,
|
||||
username=username,
|
||||
first_name=full_first_name,
|
||||
last_name=full_last_name,
|
||||
language="ru",
|
||||
)
|
||||
|
||||
if full_last_name:
|
||||
create_kwargs["last_name"] = full_last_name
|
||||
|
||||
db_user = await create_user(**create_kwargs)
|
||||
db_user = await create_user_no_commit(**create_kwargs)
|
||||
return db_user, True
|
||||
except IntegrityError as create_error:
|
||||
logger.info(
|
||||
@@ -338,7 +336,7 @@ class RemnaWaveService:
|
||||
try:
|
||||
await db.rollback()
|
||||
except Exception:
|
||||
# create_user уже выполняет rollback при необходимости
|
||||
# create_user_no_commit уже выполняет rollback при необходимости
|
||||
pass
|
||||
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user