From 5cf19c76e6fa9456cee0157ac4a4c0742d0f7718 Mon Sep 17 00:00:00 2001 From: Fringg Date: Sun, 26 Apr 2026 19:39:09 +0300 Subject: [PATCH] fix: backup import crash + upload handler hardening MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix PaypearPayment → PayPearPayment (capital P) — import crash - Fix AurapayPayment → AuraPayPayment (capital P) — import crash - Update upload instruction message to mention .tar.gz format - Add null guard on document.file_name before extension check --- app/handlers/admin/backup.py | 4 ++-- app/services/backup_service.py | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/handlers/admin/backup.py b/app/handlers/admin/backup.py index 649388e1..778e11d6 100644 --- a/app/handlers/admin/backup.py +++ b/app/handlers/admin/backup.py @@ -313,7 +313,7 @@ async def restore_backup_start(callback: types.CallbackQuery, db_user: User, db: else: text = """📥 Восстановление из бекапа -📎 Отправьте файл бекапа (.json или .json.gz) +📎 Отправьте файл бекапа (.json, .json.gz или .tar.gz) ⚠️ ВАЖНО: • Файл должен быть создан этой системой бекапов @@ -393,7 +393,7 @@ async def handle_backup_file_upload(message: types.Message, db_user: User, db: A document = message.document allowed_extensions = ('.json', '.json.gz', '.tar.gz', '.tar') - if not any(document.file_name.endswith(ext) for ext in allowed_extensions): + if not document.file_name or not any(document.file_name.endswith(ext) for ext in allowed_extensions): await message.answer( '❌ Неподдерживаемый формат файла. Загрузите .json, .json.gz или .tar.gz файл', reply_markup=InlineKeyboardMarkup( diff --git a/app/services/backup_service.py b/app/services/backup_service.py index 35e29e62..2d3759d1 100644 --- a/app/services/backup_service.py +++ b/app/services/backup_service.py @@ -31,7 +31,7 @@ from app.database.models import ( AdminRole, AdvertisingCampaign, AdvertisingCampaignRegistration, - AurapayPayment, + AuraPayPayment, BroadcastHistory, ButtonClickLog, CabinetRefreshToken, @@ -61,7 +61,7 @@ from app.database.models import ( Pal24Payment, PartnerApplication, PaymentMethodConfig, - PaypearPayment, + PayPearPayment, PinnedMessage, PlategaPayment, Poll, @@ -200,10 +200,10 @@ class BackupService: KassaAiPayment, RioPayPayment, SeverPayPayment, - PaypearPayment, + PayPearPayment, RollyPayPayment, OverpayPayment, - AurapayPayment, + AuraPayPayment, SavedPaymentMethod, # --- Settings/content --- PaymentMethodConfig,