Skip to content

fix: initialize missing user balance during tier lookup - #17

Merged
suguanYang merged 1 commit into
stagingfrom
fix/wangbinqi/initialize-missing-user-balance
May 9, 2026
Merged

fix: initialize missing user balance during tier lookup#17
suguanYang merged 1 commit into
stagingfrom
fix/wangbinqi/initialize-missing-user-balance

Conversation

@suguanYang

Copy link
Copy Markdown
Contributor

Summary

  • initialize missing first-use user billing state from TierService.get_tier by reusing CreditsService.ensure_user_initialized
  • preserve the fast cache/existing-balance path and cache the initialized tier after repair
  • add a contract regression for API-key users with no user_balances row

Verification

  • uv run pytest apps/api/tests/contract/test_billing_contract.py::test_should_initialize_missing_user_balance_during_tier_lookup
  • uv run pytest apps/api/tests/contract/test_billing_contract.py
  • uv run pytest apps/api/tests/contract/test_api_key_contract.py
  • uv run pytest apps/api/tests/contract/test_job_creation_contract.py::test_should_create_a_waiting_file_job_for_an_authenticated_developer
  • uv run ruff check apps/api/app/services/rate_limit/tier_service.py apps/api/tests/contract/test_billing_contract.py packages/shared-python/shared/services/billing/credits_service.py
  • uv run pyright apps/api/app/services/rate_limit/tier_service.py apps/api/tests/contract/test_billing_contract.py packages/shared-python/shared/services/billing/credits_service.py

@suguanYang
suguanYang merged commit 3e7ab2f into staging May 9, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant