Skip to content

Set provider modes per call site#309

Merged
Amund211 merged 1 commit into
mainfrom
set-provider-modes
Jul 12, 2026
Merged

Set provider modes per call site#309
Amund211 merged 1 commit into
mainfrom
set-provider-modes

Conversation

@Amund211

Copy link
Copy Markdown
Owner

Summary

Sets the provider mode explicitly at each call site of GetAndPersistPlayerWithCache:

  • playerdata endpoint (internal/ports/player_data.go) → ProviderModeNever — never query the provider; serve stored stats only.
  • interval updater (internal/app/get_and_persist.go) → ProviderModeAlways — always fetch fresh data for current intervals.
  • milestone finder (internal/app/milestone.go) → ProviderModeAlways — always fetch fresh data before computing achievements.

Test assertions for the interval updater and milestone finder are updated to match.

Test plan

  • go build ./...
  • go test ./internal/app/ ./internal/ports/

🤖 Generated with Claude Code

Use ProviderModeNever for the playerdata endpoint and ProviderModeAlways
for the interval updater and milestone finder.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 12, 2026 00:20

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates how GetAndPersistPlayerWithCache is invoked across the codebase by explicitly selecting a ProviderMode per call site, aligning provider usage with each feature’s intended behavior (API handler vs. interval updates vs. milestone computation).

Changes:

  • Set the playerdata endpoint to ProviderModeNever to avoid querying the external provider.
  • Set the interval updater and milestone finder to ProviderModeAlways to prefer fresh provider-sourced data.
  • Update unit tests to assert the new provider modes at those call sites.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
internal/ports/player_data.go Switch playerdata handler to ProviderModeNever to serve only stored stats.
internal/app/milestone.go Switch milestone pre-refresh to ProviderModeAlways before repository query.
internal/app/milestone_test.go Update assertions to expect ProviderModeAlways.
internal/app/get_and_persist.go Switch interval updater refresh call to ProviderModeAlways.
internal/app/get_and_persist_test.go Update assertions to expect ProviderModeAlways in interval updater tests.

Comment on lines +129 to 130
player, err := getAndPersistPlayerWithCache(ctx, uuid, app.ProviderModeNever)
if errors.Is(err, domain.ErrPlayerNotFound) {
@Amund211 Amund211 merged commit b698263 into main Jul 12, 2026
10 checks passed
@Amund211 Amund211 deleted the set-provider-modes branch July 12, 2026 00:34
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.

2 participants