feat(admin): add never-subscribed broadcast target with audience counts

Add a broadcast audience for users who registered but never had any subscription or trial (no Subscription rows at all), backed by a new get_user_ids_without_any_subscription DAL helper and a 'never' target in the webapp broadcast route.

Add GET /api/admin/broadcast/audience-counts so the audience dropdown shows the recipient count next to each option, with graceful fallback when counts are unavailable.
This commit is contained in:
3252a8
2026-06-01 23:37:59 +03:00
parent 619a13128c
commit 56796d9f22
9 changed files with 84 additions and 4 deletions
+1
View File
@@ -1143,6 +1143,7 @@
"admin_broadcast_target_active": "With subscription",
"admin_broadcast_target_inactive": "No subscription",
"admin_broadcast_target_expired": "Expired subscription",
"admin_broadcast_target_never": "No subscription, no history",
"admin_expired_at": "Expired {date}",
"admin_expired_badge": "Expired {date}",
"admin_stats_error": "Failed to load statistics: {error}",
+1
View File
@@ -1143,6 +1143,7 @@
"admin_broadcast_target_active": "С подпиской",
"admin_broadcast_target_inactive": "Без подписки",
"admin_broadcast_target_expired": "С просроченной подпиской",
"admin_broadcast_target_never": "Без подписки и без истории",
"admin_expired_at": "Истекла {date}",
"admin_expired_badge": "Expired {date}",
"admin_stats_error": "Не удалось загрузить статистику: {error}",