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
@@ -183,6 +183,7 @@ class WebAppRouteContractTests(unittest.TestCase):
("PATCH", "/api/admin/promos/{promo_id}"): "admin_promo_update_route",
("DELETE", "/api/admin/promos/{promo_id}"): "admin_promo_delete_route",
("GET", "/api/admin/logs"): "admin_logs_route",
("GET", "/api/admin/broadcast/audience-counts"): "admin_broadcast_audience_counts_route",
("POST", "/api/admin/broadcast"): "admin_broadcast_route",
("POST", "/api/admin/sync"): "admin_sync_route",
("GET", "/api/admin/ads"): "admin_ads_list_route",