Commit Graph

58 Commits

Author SHA1 Message Date
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
180cba4561 fix Расширение фильтров 2025-12-30 22:14:09 +03:00
gy9vin
54ffe3e126 feat(transactions): добавлен параметр payment_method для ручных пополнений баланса
Добавлена поддержка указания способа оплаты при пополнении баланса:

- add_user_balance(): новый параметр payment_method для передачи в транзакцию
- add_user_balance_by_id(): поддержка payment_method
- UserService: ручные пополнения админом пом
2025-12-26 08:53:08 +03:00
gy9vin
80785f22b0 Черный список, мониторинг суточно графика по регламенту 2025-12-10 19:13:52 +03:00
c0mrade
c6c112fd17 refactor: improve logging level for balance subtraction debug info 2025-11-12 10:21:28 +03:00
Egor
7d7c5f3972 Update user.py 2025-11-05 18:51:35 +03:00
Egor
c15b7a63fb Flush user before returning from create_user_no_commit 2025-11-05 18:19:22 +03:00
reshifter1
3201b60ff2 Merge branch 'dev4' into main 2025-11-04 22:57:38 +03:00
Pavel Stryuk
427011fe41 1) Отображение скидки на кнопках (красивое!)
2) У промогрупп появится приоритет
3) У пользователя может быть несколько промогрупп, но влиять будет только с наивысшим приоритетом
4) К промокодам можно будет добавить промогруппу. Все активировавшие промокод получат её
5) При выводе пользователей с промогруппой будет также выводиться ссылка на каждого. Можно будет отследить сливы промокодов "для своих". Я в целом это добавлю во все места, где пользователь выводится в админке
6) Исправить баг исчезновения триалки при пополнении
7) Исправить падающие тесты и добавить новых
8) Трафик: 0 ГБ в тестовой подписке исправить на Трафик: Безлимит
2025-11-04 13:05:02 +01:00
Egor
71c219e6ea Update user.py 2025-11-04 09:29:46 +03:00
Egor
06323f7168 Enhance search functionality for telegram_id
Added error handling for converting search input to int for telegram_id.
2025-11-04 07:39:12 +03:00
Mikhail
92cb1e3971 Merge branch 'Fr1ngg:main' into main 2025-11-02 15:08:01 +03:00
gy9vin
005fc95433 Массовая синхронизация пользователей с ремнем! 2025-11-02 15:07:28 +03:00
Egor
165691412b Clear referral edit state when returning to list 2025-11-01 01:58:08 +03:00
gy9vin
f26df389b4 СРОЧНЫЙ ФИКС 2025-10-31 22:13:23 +03:00
Egor
e592b3e5c4 Revert "Revert "Add poll management and delivery system"" 2025-10-23 06:03:41 +03:00
Egor
7b4cbb27b7 Revert "Add poll management and delivery system" 2025-10-23 05:37:40 +03:00
Egor
93554c7034 Add poll management and delivery system 2025-10-23 05:28:13 +03:00
Egor
de57db14ea Delay first-topup flag until after referral processing 2025-10-11 08:25:11 +03:00
Egor
5d576bc727 Add expiration control for promo offer discounts 2025-10-05 17:01:11 +03:00
Egor
45586277ab fix: rollback session after promo log failures 2025-10-05 04:05:43 +03:00
Egor
6f67a36a58 Fix promo discount consumption and admin copy 2025-10-04 12:25:00 +03:00
Egor
db9f91b336 Revert "Clear expired promo discounts when preparing checkout summaries" 2025-10-04 10:55:32 +03:00
Egor
0e0569fe23 Clear expired promo discounts before checkout 2025-10-04 10:53:09 +03:00
Egor
b96d530808 Fix promo segment no subscription join 2025-10-04 10:13:45 +03:00
Egor
e4c7a9cf15 Add admin promo offers and targeted discount workflows 2025-10-04 10:05:31 +03:00
Egor
c4fa25321e Handle users sequence desync after backup restore 2025-10-03 23:35:47 +03:00
gy9vin
c344f418c5 Расширение фильтров 2025-09-30 12:39:15 +03:00
Egor
fb4d714441 Log admin balance deductions as transactions 2025-09-29 15:10:47 +03:00
PEDZEO
c4b5db9002 fix(validation): sanitize имён + HTML-escape только в /start 2025-09-29 02:17:19 +03:00
Egor
bb5af66656 Fix duplicate import and referral code generation 2025-09-23 23:24:24 +03:00
Egor
177862f178 Add admin promo groups and integrate discounts 2025-09-20 07:48:41 +03:00
gy9vin
7f4899b885 Добавлена фильтрация пользователей по балансу 2025-09-19 08:40:29 +03:00
Egor
f756c9a7f9 Update user.py 2025-09-06 17:48:53 +03:00
Egor
f0d74185a1 Update user.py 2025-09-06 17:34:09 +03:00
Egor
4c3a3b91a6 Update user.py 2025-09-05 22:15:41 +03:00
Egor
29db1f4e56 Update user.py 2025-09-05 18:40:05 +03:00
Egor
755ef03f98 Update user.py 2025-09-05 18:32:09 +03:00
Egor
458b71ea28 Update user.py 2025-09-05 18:28:34 +03:00
Egor
64d0f9fc2d Update user.py 2025-09-05 18:17:45 +03:00
Egor
674e1b73f6 Update user.py 2025-09-05 18:06:27 +03:00
Egor
b09b7a0c84 Add files via upload 2025-08-30 23:21:04 +03:00
Egor
b3711a590d Update user.py 2025-08-30 19:08:50 +03:00
Egor
7738bc83af Update user.py 2025-08-30 18:57:32 +03:00
Egor
d39eb3f79f Update user.py 2025-08-30 13:00:32 +03:00
Egor
7f0ce61126 Update user.py 2025-08-30 05:00:44 +03:00
Egor
775056da6f Update user.py 2025-08-30 04:57:06 +03:00
Egor
a15ecb375b Update user.py 2025-08-30 04:53:34 +03:00
Egor
410f0aba95 Update user.py 2025-08-30 04:43:51 +03:00