[GH-ISSUE #616] coverage: Add missing Game Center detail/group relationship endpoints (OpenAPI) #172

Closed
opened 2026-02-26 21:33:53 +03:00 by kerem · 0 comments
Owner

Originally created by @rudrankriyam on GitHub (Feb 18, 2026).
Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/616

Context

These endpoints exist in the offline OpenAPI snapshot (docs/openapi/latest.json, indexed by docs/openapi/paths.txt) but are currently missing from internal/asc client coverage.

Goal

Add ASC client methods for the endpoints below (method + path).

Missing endpoints

  • GET /v1/gameCenterDetails/{id}/relationships/achievementReleases
  • GET /v1/gameCenterDetails/{id}/relationships/activityReleases
  • GET /v1/gameCenterDetails/{id}/relationships/challengeReleases
  • GET /v1/gameCenterDetails/{id}/relationships/gameCenterAchievements
  • GET /v1/gameCenterDetails/{id}/relationships/gameCenterAchievementsV2
  • GET /v1/gameCenterDetails/{id}/relationships/gameCenterActivities
  • GET /v1/gameCenterDetails/{id}/relationships/gameCenterAppVersions
  • GET /v1/gameCenterDetails/{id}/relationships/gameCenterChallenges
  • GET /v1/gameCenterDetails/{id}/relationships/gameCenterGroup
  • GET /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardSets
  • GET /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardSetsV2
  • GET /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboards
  • GET /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardsV2
  • GET /v1/gameCenterDetails/{id}/relationships/leaderboardReleases
  • GET /v1/gameCenterDetails/{id}/relationships/leaderboardSetReleases
  • GET /v1/gameCenterGroups/{id}/relationships/gameCenterAchievements
  • GET /v1/gameCenterGroups/{id}/relationships/gameCenterAchievementsV2
  • GET /v1/gameCenterGroups/{id}/relationships/gameCenterActivities
  • GET /v1/gameCenterGroups/{id}/relationships/gameCenterChallenges
  • GET /v1/gameCenterGroups/{id}/relationships/gameCenterDetails
  • GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardSets
  • GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardSetsV2
  • GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboards
  • GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardsV2
  • PATCH /v1/gameCenterDetails/{id}/relationships/challengesMinimumPlatformVersions
  • PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterAchievements
  • PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterAchievementsV2
  • PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardSets
  • PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardSetsV2
  • PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboards
  • PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardsV2
  • PATCH /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardSets
  • PATCH /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardSetsV2

Where/what to add

  • Implement in internal/asc/client_game_center_details.go and internal/asc/client_game_center_groups.go (or new *_relationships.go files).
  • Add Get...Relationships methods that return LinkagesResponse.
  • Add PATCH relationship setters where missing (use RelationshipRequest + buildRelationshipData).
  • Tests: internal/asc/client_http_test.go + client_http_relationships_test.go patterns (assert method + path).

Test plan

  • Add request-shaping tests using newTestClient (assert method + path + query).
  • For mutation endpoints (POST/PATCH/DELETE), assert request method + path and (when applicable) JSON relationship payload shape.

Acceptance criteria

  • All endpoints listed are implemented in internal/asc with tests.
  • ASC_BYPASS_KEYCHAIN=1 make test passes.
Originally created by @rudrankriyam on GitHub (Feb 18, 2026). Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/616 ## Context These endpoints exist in the offline OpenAPI snapshot (`docs/openapi/latest.json`, indexed by `docs/openapi/paths.txt`) but are currently missing from `internal/asc` client coverage. ## Goal Add ASC client methods for the endpoints below (method + path). ## Missing endpoints - [ ] GET /v1/gameCenterDetails/{id}/relationships/achievementReleases - [ ] GET /v1/gameCenterDetails/{id}/relationships/activityReleases - [ ] GET /v1/gameCenterDetails/{id}/relationships/challengeReleases - [ ] GET /v1/gameCenterDetails/{id}/relationships/gameCenterAchievements - [ ] GET /v1/gameCenterDetails/{id}/relationships/gameCenterAchievementsV2 - [ ] GET /v1/gameCenterDetails/{id}/relationships/gameCenterActivities - [ ] GET /v1/gameCenterDetails/{id}/relationships/gameCenterAppVersions - [ ] GET /v1/gameCenterDetails/{id}/relationships/gameCenterChallenges - [ ] GET /v1/gameCenterDetails/{id}/relationships/gameCenterGroup - [ ] GET /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardSets - [ ] GET /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardSetsV2 - [ ] GET /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboards - [ ] GET /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardsV2 - [ ] GET /v1/gameCenterDetails/{id}/relationships/leaderboardReleases - [ ] GET /v1/gameCenterDetails/{id}/relationships/leaderboardSetReleases - [ ] GET /v1/gameCenterGroups/{id}/relationships/gameCenterAchievements - [ ] GET /v1/gameCenterGroups/{id}/relationships/gameCenterAchievementsV2 - [ ] GET /v1/gameCenterGroups/{id}/relationships/gameCenterActivities - [ ] GET /v1/gameCenterGroups/{id}/relationships/gameCenterChallenges - [ ] GET /v1/gameCenterGroups/{id}/relationships/gameCenterDetails - [ ] GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardSets - [ ] GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardSetsV2 - [ ] GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboards - [ ] GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardsV2 - [ ] PATCH /v1/gameCenterDetails/{id}/relationships/challengesMinimumPlatformVersions - [ ] PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterAchievements - [ ] PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterAchievementsV2 - [ ] PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardSets - [ ] PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardSetsV2 - [ ] PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboards - [ ] PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardsV2 - [ ] PATCH /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardSets - [ ] PATCH /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardSetsV2 ## Where/what to add - Implement in `internal/asc/client_game_center_details.go` and `internal/asc/client_game_center_groups.go` (or new `*_relationships.go` files). - Add `Get...Relationships` methods that return `LinkagesResponse`. - Add `PATCH` relationship setters where missing (use `RelationshipRequest` + `buildRelationshipData`). - Tests: `internal/asc/client_http_test.go` + `client_http_relationships_test.go` patterns (assert method + path). ## Test plan - Add request-shaping tests using `newTestClient` (assert method + path + query). - For mutation endpoints (POST/PATCH/DELETE), assert request method + path and (when applicable) JSON relationship payload shape. ## Acceptance criteria - All endpoints listed are implemented in `internal/asc` with tests. - `ASC_BYPASS_KEYCHAIN=1 make test` passes.
kerem 2026-02-26 21:33:53 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/App-Store-Connect-CLI#172
No description provided.