[GH-ISSUE #365] Parity: App Info categories and encryption relationships #105

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

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

Overview

Expose missing App Info category relationships and App Encryption Declaration relationships for parity.

Scope (OpenAPI resources)

  • /v1/appInfos/{id}/primaryCategory
  • /v1/appInfos/{id}/primarySubcategoryOne
  • /v1/appInfos/{id}/primarySubcategoryTwo
  • /v1/appInfos/{id}/secondaryCategory
  • /v1/appInfos/{id}/secondarySubcategoryOne
  • /v1/appInfos/{id}/secondarySubcategoryTwo
  • /v1/appInfos/{id}/territoryAgeRatings
  • /v1/appEncryptionDeclarations/{id}/app
  • /v1/appEncryptionDeclarations/{id}/appEncryptionDeclarationDocument
  • /v1/apps/{id}/appEncryptionDeclarations
  • /v1/builds/{id}/appEncryptionDeclaration

Proposed CLI

  • asc app-info ...
  • asc app-encryption ...
  • asc apps ...
  • asc builds ...

Examples:

  • asc app-info relationships primary-category --id "APP_INFO_ID"
  • asc app-info territory-age-ratings list --id "APP_INFO_ID"
  • asc app-encryption declarations app get --id "DECLARATION_ID"
  • asc apps app-encryption-declarations list --id "APP_ID"
  • asc builds app-encryption-declaration get --id "BUILD_ID"

Flag patterns

Common: --id, --output, --pretty, --limit, --next, --paginate

Output

  • JSON minified by default
  • --pretty for JSON
  • --output table/markdown for list commands

Detailed TODO

  • Add client methods for app info relationships
  • Add client methods for app encryption relationships
  • Implement CLI subcommands and relationship helpers
  • Add cmdtests + HTTP client tests (mocked)

Acceptance criteria

  • App Info category relationships accessible via CLI
  • App encryption relationships accessible via CLI

Tests

  • Flag validation tests
  • HTTP client tests for each endpoint
  • Output tests for list commands

Implementation notes

  • Add client methods in internal/asc/client_app_info.go, client_app_encryption.go, client_builds.go
  • Add CLI in internal/cli/apps, internal/cli/encryption, internal/cli/versions

References

  • docs/openapi/latest.json
  • docs/openapi/paths.txt
Originally created by @rudrankriyam on GitHub (Jan 31, 2026). Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/365 # Overview Expose missing App Info category relationships and App Encryption Declaration relationships for parity. # Scope (OpenAPI resources) - `/v1/appInfos/{id}/primaryCategory` - `/v1/appInfos/{id}/primarySubcategoryOne` - `/v1/appInfos/{id}/primarySubcategoryTwo` - `/v1/appInfos/{id}/secondaryCategory` - `/v1/appInfos/{id}/secondarySubcategoryOne` - `/v1/appInfos/{id}/secondarySubcategoryTwo` - `/v1/appInfos/{id}/territoryAgeRatings` - `/v1/appEncryptionDeclarations/{id}/app` - `/v1/appEncryptionDeclarations/{id}/appEncryptionDeclarationDocument` - `/v1/apps/{id}/appEncryptionDeclarations` - `/v1/builds/{id}/appEncryptionDeclaration` # Proposed CLI - `asc app-info ...` - `asc app-encryption ...` - `asc apps ...` - `asc builds ...` Examples: - `asc app-info relationships primary-category --id "APP_INFO_ID"` - `asc app-info territory-age-ratings list --id "APP_INFO_ID"` - `asc app-encryption declarations app get --id "DECLARATION_ID"` - `asc apps app-encryption-declarations list --id "APP_ID"` - `asc builds app-encryption-declaration get --id "BUILD_ID"` # Flag patterns Common: `--id`, `--output`, `--pretty`, `--limit`, `--next`, `--paginate` # Output - JSON minified by default - `--pretty` for JSON - `--output table/markdown` for list commands # Detailed TODO - [ ] Add client methods for app info relationships - [ ] Add client methods for app encryption relationships - [ ] Implement CLI subcommands and relationship helpers - [ ] Add cmdtests + HTTP client tests (mocked) # Acceptance criteria - [ ] App Info category relationships accessible via CLI - [ ] App encryption relationships accessible via CLI # Tests - Flag validation tests - HTTP client tests for each endpoint - Output tests for list commands # Implementation notes - Add client methods in `internal/asc/client_app_info.go`, `client_app_encryption.go`, `client_builds.go` - Add CLI in `internal/cli/apps`, `internal/cli/encryption`, `internal/cli/versions` # References - `docs/openapi/latest.json` - `docs/openapi/paths.txt`
kerem closed this issue 2026-02-26 21:33:26 +03:00
Author
Owner

@rudrankriyam commented on GitHub (Jan 31, 2026):

@cursor please implement

<!-- gh-comment-id:3828610866 --> @rudrankriyam commented on GitHub (Jan 31, 2026): @cursor please implement
Author
Owner

@cursor[bot] commented on GitHub (Jan 31, 2026):

  • I added client support for the new app-info category/territory age rating related resources and the encryption relationships (declaration app/document, apps list, build declaration), wired up new CLI subcommands (app-info relationships …, app-info territory-age-ratings list, apps app-encryption-declarations list, builds app-encryption-declaration get, encryption declarations app get, and encryption declarations app-encryption-declaration-document get), and added territory age rating table/markdown output plus pagination handling.
  • I added/updated cmdtests, client HTTP tests, and output tests to cover the new endpoints and CLI validations.

Tests run:

  • make test
  • Walkthrough video runs focused tests: go test ./internal/asc -run TestGetAppInfoTerritoryAgeRatings_SendsRequest, go test ./internal/cli/cmdtest -run TestEncryptionValidationErrors, and go test ./internal/cli/cmdtest -run TestAppsAppEncryptionDeclarationsValidationErrors.

Walkthrough artifact (video): /opt/cursor/artifacts/test_walkthrough_app_info_encryption_cli_clear/recording_demo.mp4.

View PR
Open in Cursor Open in Web

<!-- gh-comment-id:3828611014 --> @cursor[bot] commented on GitHub (Jan 31, 2026): - I added client support for the new app-info category/territory age rating related resources and the encryption relationships (declaration app/document, apps list, build declaration), wired up new CLI subcommands (`app-info relationships …`, `app-info territory-age-ratings list`, `apps app-encryption-declarations list`, `builds app-encryption-declaration get`, `encryption declarations app get`, and `encryption declarations app-encryption-declaration-document get`), and added territory age rating table/markdown output plus pagination handling. - I added/updated cmdtests, client HTTP tests, and output tests to cover the new endpoints and CLI validations. Tests run: - `make test` - Walkthrough video runs focused tests: `go test ./internal/asc -run TestGetAppInfoTerritoryAgeRatings_SendsRequest`, `go test ./internal/cli/cmdtest -run TestEncryptionValidationErrors`, and `go test ./internal/cli/cmdtest -run TestAppsAppEncryptionDeclarationsValidationErrors`. Walkthrough artifact (video): `/opt/cursor/artifacts/test_walkthrough_app_info_encryption_cli_clear/recording_demo.mp4`. <a href="https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/376"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/view-pr-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/view-pr-light.png"><img alt="View PR" width="86" height="28" src="https://cursor.com/assets/images/view-pr-light.png"></picture></a> <a href="https://cursor.com/background-agent?bcId=bc-339117b3-01ed-4261-b5be-17af5e69ab2a"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-cursor-light.png"><img alt="Open in Cursor" width="131" height="28" src="https://cursor.com/assets/images/open-in-cursor-dark.png"></picture></a>&nbsp;<a href="https://cursor.com/agents?id=bc-339117b3-01ed-4261-b5be-17af5e69ab2a"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-web-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-web-light.png"><img alt="Open in Web" width="114" height="28" src="https://cursor.com/assets/images/open-in-web-dark.png"></picture></a>
Author
Owner

@rudrankriyam commented on GitHub (Jan 31, 2026):

Closed by #376.

<!-- gh-comment-id:3829220669 --> @rudrankriyam commented on GitHub (Jan 31, 2026): Closed by #376.
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#105
No description provided.