promotions/main
Ali Asadi 45a64f0013 FEATURE(promotions): route capture/first_ad_create payouts to advertising transit wallet
PromotionTypeChoices was an empty enum, so Recipient.promotion_type could
never hold a real value and every payout without an explicit
Recipient.wallet_uuid fell through to the same default wallet regardless of
what kind of promotion it was.

Give PromotionTypeChoices real values (first_ad_view, capture,
first_ad_create) and branch Recipient.get_wallet_category_uuid() on it:
first_ad_view (or unset) still pays into the user's cash-like reward wallet
(WALLET_USER_BILLBOARD_VISIT_INCOME); capture/first_ad_create are billboard/ad
credit, not a cash reward, so they route to the new WALLET_ADVERTISING_TRANSIT
setting (same wallet-service UUID as the advertising repo's own setting of
that name) instead. An explicit Recipient.wallet_uuid still wins over
promotion_type.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-25 16:57:44 +03:30
..
__init__.py add celery 2025-07-22 18:03:24 +03:30
asgi.py init 2025-07-22 16:05:03 +03:30
celery.py add celery 2025-07-22 18:03:24 +03:30
settings.py FEATURE(promotions): route capture/first_ad_create payouts to advertising transit wallet 2026-08-25 16:57:44 +03:30
urls.py get user from accounts 2026-07-07 16:42:34 +03:30
wsgi.py init 2025-07-22 16:05:03 +03:30