• shaw's avatar
    refactor(affiliate): tighten DI and harden inviter code validation · f97e866b
    shaw authored and 陈曦's avatar 陈曦 committed
    - Drop SetAffiliateService setters and ProvideAuthService /
      ProvidePaymentService / ProvideUserHandler wrappers in favor of direct
      Wire constructor injection. AffiliateService has no back-edge to
      Auth/Payment/User, so the indirection was never required.
    - Change RegisterWithVerification's variadic affiliateCode to a fixed
      parameter; adjust all call sites.
    - Validate aff_code length and charset in BindInviterByCode before any
      DB lookup, eliminating timing-side-channel and useless DB roundtrips
      on malformed input.
    - Make affiliate cache invalidation synchronous; surface Redis errors
      via the project logger instead of swallowing them in a detached
      goroutine.
    - Add an integration test guarding cross-layer tx propagation in
      AccrueQuota and a unit test pinning the aff_code format rules.
    f97e866b
payment_handler_resume_test.go 11.8 KB