Commit Graph

365 Commits

Author SHA1 Message Date
Egor ec9eaf4271 Update subscription_conversion.py 2026-01-16 03:28:01 +03:00
Egor 176d17fe40 Update subscription_conversion.py 2026-01-16 03:18:53 +03:00
Egor 395646168d Update subscription.py 2026-01-16 00:50:03 +03:00
Egor c4382ff69d Add files via upload 2026-01-15 17:31:39 +03:00
Egor 13770a01c6 Add files via upload 2026-01-15 17:31:15 +03:00
Egor 7f65d398bf Update models.py 2026-01-15 16:56:19 +03:00
Egor 9c2b17af3b Update subscription.py 2026-01-14 04:12:18 +03:00
Egor a1ab2f3727 Update tariff.py 2026-01-14 02:39:58 +03:00
PEDZEO a686333603 Add support for custom days and traffic in tariffs
- Introduced fields for custom days and traffic in the tariff model, including enabling flags, pricing, and limits.
- Updated relevant routes and schemas to handle new tariff features.
- Implemented logic for purchasing and managing custom days and traffic in subscriptions.
- Added database migration scripts to accommodate new columns for tariffs and subscriptions.
2026-01-13 02:55:32 +03:00
PEDZEO ac5850746e Merge pull request #2271 from BEDOLAGA-DEV/main
merge main
2026-01-12 22:25:49 +03:00
Egor 40fad0d537 Update subscription.py 2026-01-12 18:56:24 +03:00
Egor 67f60ba41a Update subscription.py 2026-01-12 18:44:34 +03:00
Egor db54b01f04 Update subscription.py 2026-01-12 18:16:59 +03:00
Egor 26e242cac7 Update subscription.py 2026-01-12 18:12:14 +03:00
Egor 640a80953f Update subscription.py 2026-01-12 16:31:00 +03:00
Egor 472ef37490 Add files via upload 2026-01-12 15:25:25 +03:00
Egor 9e4fa9defe Add files via upload 2026-01-12 15:24:59 +03:00
PEDZEO 15f6108674 feat(tariffs): добавлена поддержка докупки трафика и улучшения тарифов
- Реализована возможность докупки трафика для тарифов с новыми параметрами: traffic_topup_enabled, traffic_topup_packages и max_topup_traffic_gb.
- Обновлены схемы и маршруты для управления тарифами и трафиком.
- Добавлены новые эндпоинты для работы с докупкой трафика в мини-приложении.
- Обновлены настройки и логика для проверки доступности докупки трафика в зависимости от тарифа.
- Внедрены улучшения в обработку платежей через Freekassa.

Обновлён .env.example с новыми параметрами для режима тарифов.
2026-01-12 07:47:35 +03:00
PEDZEO 0e24a5505c feat(subscription): добавлены новые функции для управления тарифами и трафиком
- Обновлены схемы и маршруты для поддержки покупки тарифов и управления трафиком.
- Реализована синхронизация тарифов и серверов из RemnaWave при запуске.
- Добавлены новые параметры в тарифы: server_traffic_limits и allow_traffic_topup.
- Обновлены настройки и логика для проверки доступности докупки трафика в зависимости от тарифа.
- Внедрены новые эндпоинты для работы с колесом удачи и обработка платежей через Stars.

Обновлён .env.example с новыми параметрами для режима продаж подписок.
2026-01-12 07:41:10 +03:00
Egor aa6935464b Update universal_migration.py 2026-01-11 03:04:57 +03:00
Egor ce66c08e1a Update tariff.py 2026-01-11 02:56:46 +03:00
Egor c58faff2df Update models.py 2026-01-11 02:56:14 +03:00
Egor 744428e4f6 Update tariff.py 2026-01-10 20:37:40 +03:00
Egor 5d1d561882 Update subscription.py 2026-01-10 20:33:55 +03:00
Egor 209ce2c25a Update universal_migration.py 2026-01-10 20:30:47 +03:00
Egor 90d090a048 Update models.py 2026-01-10 20:30:30 +03:00
Egor bc7470b39d Update subscription.py 2026-01-10 18:20:35 +03:00
Egor 4e6d5b4716 Update subscription.py 2026-01-09 19:30:53 +03:00
Mikhail f25ed360fc Merge branch 'BEDOLAGA-DEV:main' into main 2026-01-08 08:12:45 +03:00
Egor cc3f78c2f8 Update subscription.py 2026-01-08 03:07:31 +03:00
gy9vin 3299d47b11 merge: resolve conflict in universal_migration.py 2026-01-07 15:05:14 +03:00
gy9vin 4afefcafa4 Добавлена система вывода реферального баланса
Новая функциональность вывода средств:
  - config.py: добавлены настройки вывода (минимальная сумма, кулдаун, анализ подозрительности, тестовый режим)
  - models.py: добавлена модель WithdrawalRequest с полями для заявок, анализа рисков и обработки админ
2026-01-07 14:54:50 +03:00
Egor 6ce87698bc Update tariff.py 2026-01-07 03:19:32 +03:00
Egor 203405438f Update tariff.py 2026-01-07 03:03:18 +03:00
Egor e32bf5f2c4 Add files via upload 2026-01-07 02:54:47 +03:00
Egor b50478eda0 Add files via upload 2026-01-07 02:16:33 +03:00
Egor cff00eb515 Add files via upload 2026-01-07 02:16:00 +03:00
Egor 7c2408209d Add files via upload 2026-01-06 20:54:46 +03:00
Egor 9fbc3a8312 Add FreekassaPayment model for payment processing 2026-01-06 20:54:18 +03:00
Egor dff08cbad2 Add create_freekassa_payments_table function 2026-01-06 20:53:55 +03:00
PEDZEO 258a4a5cb4 Merge pull request #2230 from BEDOLAGA-DEV/buttons
Buttons
2026-01-03 14:41:17 +03:00
gy9vin 2156f630dc Добавлена опция "только для первой покупки" в промокоды
- models.py: добавлено поле first_purchase_only в PromoCode
- universal_migration.py: миграция для добавления колонки first_purchase_only
- promocodes.py: добавлен хендлер toggle_promocode_first_purchase, отображение статуса в управлении промокодом
- promocode.py: обработка ошибки "not
2026-01-02 16:40:04 +03:00
gy9vin d524088bb8 Обязательная подписка на канал Доработка 2026-01-02 16:14:40 +03:00
PEDZEO 3f74005068 feat: add cabinet columns migration
Add automatic migration for cabinet (personal account) columns:
- email, email_verified, email_verified_at
- password_hash, email_verification_token/expires
- password_reset_token/expires, cabinet_last_login

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 23:58:47 +03:00
PEDZEO 6b69ec750e feat: add cabinet (personal account) backend API
- Add JWT authentication for cabinet users
- Add Telegram WebApp authentication
- Add subscription management endpoints
- Add balance and transactions endpoints
- Add referral system endpoints
- Add tickets support for cabinet
- Add webhooks and websocket for real-time updates
- Add email verification service

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 23:20:20 +03:00
gy9vin 8e6082ce15 fix Черный список, мониторинг суточно графика по регламенту
Исправленные файлы:

  1. app/services/traffic_monitoring_service.py — удалены неиспользуемые импорты Decimal, aiohttp
  2. app/services/blacklist_service.py — удалён неиспользуемый импорт re
  3. app/database/crud/user.py:998 — создана отсутствующая функция get_users_with_active_subscriptions:
  async def get_users_with_active_subscriptions(db: AsyncSession) -> List[User]:
  3. Функция:
    - Возвращает пользователей с активными подписками
    - Фильтрует по remnawave_uuid IS NOT NULL (нужен для API Remnawave)
    - Проверяет end_date > now и status == ACTIVE
2025-12-30 23:11:54 +03:00
gy9vin 08692145d2 fix Массовая синхронизация пользователей с Remnawave
app/database/crud/subscription.py:

  Добавлен await db.flush() в create_subscription_no_commit для консистентности с create_user_no_commit:

  db.add(subscription)

  # Выполняем flush, чтобы получить присвоенный первичный ключ
  await db.flush()

  # Не коммитим сразу, оставляем для пакетной обработки
2025-12-30 23:03:34 +03:00
gy9vin 56cc8bacf2 fix Простая покупка подписки
1. app/database/crud/subscription.py

  Объединены функции create_pending_subscription и create_pending_trial_subscription:
  - Добавлен параметр is_trial: bool = False в create_pending_subscription
  - create_pending_trial_subscription теперь просто вызывает create_pending_subscription(is_trial=True)
  - Сокращено ~75 строк дублированного кода

  Удалён лишний импорт:
  # Было внутри activate_pending_subscription:
  from sqlalchemy import and_  # Удалено — уже импортирован на уровне модуля

  2. app/handlers/subscription/purchase.py

  Устранено дублирование функций:
  - Удалены определения _calculate_simple_subscription_price() и _get_simple_subscription_payment_keyboard() (~75 строк)
  - Добавлен импорт из app.handlers.simple_subscription

  from app.handlers.simple_subscription import (
      _calculate_simple_subscription_price,
      _get_simple_subscription_payment_keyboard,
  )

  Итого сокращено: ~150 строк дублированного кода
2025-12-30 22:56:24 +03:00
gy9vin 180cba4561 fix Расширение фильтров 2025-12-30 22:14:09 +03:00
Egor 76f465e0f6 Update subscription.py 2025-12-30 18:13:18 +04:00