[GH-ISSUE #618] coverage: Add missing Game Center relationship endpoints (achievements/activities/challenges/versions/etc) (OpenAPI) #174

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

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

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

  • DELETE /v1/gameCenterActivities/{id}/relationships/achievementsV2
  • DELETE /v1/gameCenterActivities/{id}/relationships/leaderboardsV2
  • DELETE /v1/gameCenterAppVersions/{id}/relationships/compatibilityVersions
  • DELETE /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions
  • GET /v1/gameCenterAchievementLocalizations/{id}/relationships/gameCenterAchievement
  • GET /v1/gameCenterAchievementLocalizations/{id}/relationships/gameCenterAchievementImage
  • GET /v1/gameCenterAchievements/{id}/relationships/groupAchievement
  • GET /v1/gameCenterAchievements/{id}/relationships/localizations
  • GET /v1/gameCenterAchievements/{id}/relationships/releases
  • GET /v1/gameCenterActivities/{id}/relationships/versions
  • GET /v1/gameCenterActivityLocalizations/{id}/relationships/image
  • GET /v1/gameCenterActivityVersions/{id}/relationships/defaultImage
  • GET /v1/gameCenterActivityVersions/{id}/relationships/localizations
  • GET /v1/gameCenterAppVersions/{id}/relationships/appStoreVersion
  • GET /v1/gameCenterAppVersions/{id}/relationships/compatibilityVersions
  • GET /v1/gameCenterChallengeLocalizations/{id}/relationships/image
  • GET /v1/gameCenterChallengeVersions/{id}/relationships/defaultImage
  • GET /v1/gameCenterChallengeVersions/{id}/relationships/localizations
  • GET /v1/gameCenterChallenges/{id}/relationships/versions
  • GET /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions
  • GET /v1/gameCenterLeaderboardLocalizations/{id}/relationships/gameCenterLeaderboardImage
  • GET /v1/gameCenterLeaderboardSetMemberLocalizations/{id}/relationships/gameCenterLeaderboard
  • GET /v1/gameCenterLeaderboardSetMemberLocalizations/{id}/relationships/gameCenterLeaderboardSet
  • GET /v1/gameCenterMatchmakingRuleSets/{id}/relationships/matchmakingQueues
  • GET /v1/gameCenterMatchmakingRuleSets/{id}/relationships/rules
  • GET /v1/gameCenterMatchmakingRuleSets/{id}/relationships/teams
  • GET /v2/gameCenterAchievements/{id}/relationships/versions
  • PATCH /v1/gameCenterAchievements/{id}/relationships/activity
  • PATCH /v1/gameCenterAchievements/{id}/relationships/groupAchievement
  • PATCH /v1/gameCenterChallenges/{id}/relationships/leaderboard
  • PATCH /v1/gameCenterChallenges/{id}/relationships/leaderboardV2
  • PATCH /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions
  • PATCH /v2/gameCenterAchievements/{id}/relationships/activity
  • POST /v1/gameCenterActivities/{id}/relationships/achievementsV2
  • POST /v1/gameCenterActivities/{id}/relationships/leaderboardsV2
  • POST /v1/gameCenterAppVersions/{id}/relationships/compatibilityVersions
  • POST /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions

Where/what to add

  • Implement in existing Game Center client files under internal/asc/ (e.g. client_game_center_achievements.go, client_game_center_activities.go, etc.).
  • Use the same relationship patterns already used elsewhere in ASC client: GET returns LinkagesResponse, mutations use RelationshipRequest/RelationshipList.
  • Add request-shaping tests for representative endpoints.

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/618 ## 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 - [ ] DELETE /v1/gameCenterActivities/{id}/relationships/achievementsV2 - [ ] DELETE /v1/gameCenterActivities/{id}/relationships/leaderboardsV2 - [ ] DELETE /v1/gameCenterAppVersions/{id}/relationships/compatibilityVersions - [ ] DELETE /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions - [ ] GET /v1/gameCenterAchievementLocalizations/{id}/relationships/gameCenterAchievement - [ ] GET /v1/gameCenterAchievementLocalizations/{id}/relationships/gameCenterAchievementImage - [ ] GET /v1/gameCenterAchievements/{id}/relationships/groupAchievement - [ ] GET /v1/gameCenterAchievements/{id}/relationships/localizations - [ ] GET /v1/gameCenterAchievements/{id}/relationships/releases - [ ] GET /v1/gameCenterActivities/{id}/relationships/versions - [ ] GET /v1/gameCenterActivityLocalizations/{id}/relationships/image - [ ] GET /v1/gameCenterActivityVersions/{id}/relationships/defaultImage - [ ] GET /v1/gameCenterActivityVersions/{id}/relationships/localizations - [ ] GET /v1/gameCenterAppVersions/{id}/relationships/appStoreVersion - [ ] GET /v1/gameCenterAppVersions/{id}/relationships/compatibilityVersions - [ ] GET /v1/gameCenterChallengeLocalizations/{id}/relationships/image - [ ] GET /v1/gameCenterChallengeVersions/{id}/relationships/defaultImage - [ ] GET /v1/gameCenterChallengeVersions/{id}/relationships/localizations - [ ] GET /v1/gameCenterChallenges/{id}/relationships/versions - [ ] GET /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions - [ ] GET /v1/gameCenterLeaderboardLocalizations/{id}/relationships/gameCenterLeaderboardImage - [ ] GET /v1/gameCenterLeaderboardSetMemberLocalizations/{id}/relationships/gameCenterLeaderboard - [ ] GET /v1/gameCenterLeaderboardSetMemberLocalizations/{id}/relationships/gameCenterLeaderboardSet - [ ] GET /v1/gameCenterMatchmakingRuleSets/{id}/relationships/matchmakingQueues - [ ] GET /v1/gameCenterMatchmakingRuleSets/{id}/relationships/rules - [ ] GET /v1/gameCenterMatchmakingRuleSets/{id}/relationships/teams - [ ] GET /v2/gameCenterAchievements/{id}/relationships/versions - [ ] PATCH /v1/gameCenterAchievements/{id}/relationships/activity - [ ] PATCH /v1/gameCenterAchievements/{id}/relationships/groupAchievement - [ ] PATCH /v1/gameCenterChallenges/{id}/relationships/leaderboard - [ ] PATCH /v1/gameCenterChallenges/{id}/relationships/leaderboardV2 - [ ] PATCH /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions - [ ] PATCH /v2/gameCenterAchievements/{id}/relationships/activity - [ ] POST /v1/gameCenterActivities/{id}/relationships/achievementsV2 - [ ] POST /v1/gameCenterActivities/{id}/relationships/leaderboardsV2 - [ ] POST /v1/gameCenterAppVersions/{id}/relationships/compatibilityVersions - [ ] POST /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions ## Where/what to add - Implement in existing Game Center client files under `internal/asc/` (e.g. `client_game_center_achievements.go`, `client_game_center_activities.go`, etc.). - Use the same relationship patterns already used elsewhere in ASC client: GET returns `LinkagesResponse`, mutations use `RelationshipRequest`/`RelationshipList`. - Add request-shaping tests for representative endpoints. ## 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
Author
Owner

@rudrankriyam commented on GitHub (Feb 18, 2026):

Closed by #637 (merged).

<!-- gh-comment-id:3919768834 --> @rudrankriyam commented on GitHub (Feb 18, 2026): Closed by #637 (merged).
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#174
No description provided.