[PR #502] [MERGED] Add --paginate support to subscription price-points equalizations #576

Closed
opened 2026-02-26 22:31:36 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/502
Author: @humblemuzzu
Created: 2/11/2026
Status: Merged
Merged: 2/11/2026
Merged by: @rudrankriyam

Base: mainHead: fix/equalizations-pagination


📝 Commits (3)

  • 523ace7 Add --paginate support to subscription price-points equalizations
  • 2df0577 Optimize paginated subscription price-point equalizations.
  • f339a8f Expand subscription equalizations pagination tests.

📊 Changes

4 files changed (+212 additions, -3 deletions)

View changed files

📝 internal/asc/client_subscription_resources.go (+15 -1)
📝 internal/asc/subscriptions_resources_http_test.go (+44 -0)
📝 internal/cli/cmdtest/subscriptions_price_points_test.go (+129 -0)
📝 internal/cli/subscriptions/price_points.go (+24 -2)

📄 Description

Problem

The subscriptions price-points equalizations command only returns the first page (50 items) from Apple's API. Since every subscription has 175 territories, the remaining 124+ equalized price points are silently truncated with no way to retrieve them.

This makes it impossible to programmatically set equalized prices for all territories — you can only reach the first 50.

Fix

Added --paginate flag to the equalizations subcommand, using the same PaginateAll pattern already used by the price-points list command.

Changes

internal/asc/client_subscription_resources.go

  • GetSubscriptionPricePointEqualizations now accepts ...SubscriptionPricePointsOption so callers can pass a nextURL for pagination (same pattern as GetSubscriptionPricePoints)

internal/cli/subscriptions/price_points.go

  • Added --paginate flag to the equalizations subcommand
  • When set, uses asc.PaginateAll() to aggregate all pages before output

Before / After

# Before: silently returns only 50 of 174 territories
asc subscriptions price-points equalizations --id "PRICE_POINT_ID"
# → 50 items

# After: returns all 174 territories
asc subscriptions price-points equalizations --id "PRICE_POINT_ID" --paginate
# → 174 items

Without --paginate, behavior is unchanged (backward compatible).

All existing tests pass.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/502 **Author:** [@humblemuzzu](https://github.com/humblemuzzu) **Created:** 2/11/2026 **Status:** ✅ Merged **Merged:** 2/11/2026 **Merged by:** [@rudrankriyam](https://github.com/rudrankriyam) **Base:** `main` ← **Head:** `fix/equalizations-pagination` --- ### 📝 Commits (3) - [`523ace7`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/523ace73f4e11871f55573139a9927d39a519df7) Add --paginate support to subscription price-points equalizations - [`2df0577`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/2df05773a1085827d1dd4813b6160f9997cc0a8d) Optimize paginated subscription price-point equalizations. - [`f339a8f`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/f339a8f8af4c78f4bed2273d88ae26e2fab5026d) Expand subscription equalizations pagination tests. ### 📊 Changes **4 files changed** (+212 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `internal/asc/client_subscription_resources.go` (+15 -1) 📝 `internal/asc/subscriptions_resources_http_test.go` (+44 -0) 📝 `internal/cli/cmdtest/subscriptions_price_points_test.go` (+129 -0) 📝 `internal/cli/subscriptions/price_points.go` (+24 -2) </details> ### 📄 Description ## Problem The `subscriptions price-points equalizations` command only returns the first page (50 items) from Apple's API. Since every subscription has 175 territories, the remaining 124+ equalized price points are silently truncated with no way to retrieve them. This makes it impossible to programmatically set equalized prices for all territories — you can only reach the first 50. ## Fix Added `--paginate` flag to the equalizations subcommand, using the same `PaginateAll` pattern already used by the `price-points list` command. ### Changes **`internal/asc/client_subscription_resources.go`** - `GetSubscriptionPricePointEqualizations` now accepts `...SubscriptionPricePointsOption` so callers can pass a `nextURL` for pagination (same pattern as `GetSubscriptionPricePoints`) **`internal/cli/subscriptions/price_points.go`** - Added `--paginate` flag to the equalizations subcommand - When set, uses `asc.PaginateAll()` to aggregate all pages before output ### Before / After ```bash # Before: silently returns only 50 of 174 territories asc subscriptions price-points equalizations --id "PRICE_POINT_ID" # → 50 items # After: returns all 174 territories asc subscriptions price-points equalizations --id "PRICE_POINT_ID" --paginate # → 174 items ``` Without `--paginate`, behavior is unchanged (backward compatible). All existing tests pass. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-26 22:31:36 +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#576
No description provided.