diff --git a/membership/src/main/java/de/bstly/we/membership/businesslogic/MembershipManager.java b/membership/src/main/java/de/bstly/we/membership/businesslogic/MembershipManager.java index 18ab913..80a5334 100644 --- a/membership/src/main/java/de/bstly/we/membership/businesslogic/MembershipManager.java +++ b/membership/src/main/java/de/bstly/we/membership/businesslogic/MembershipManager.java @@ -717,6 +717,19 @@ public class MembershipManager { */ protected List fetchAllOrderPositions(String path, MultiValueMap queryParams, List result) { + return fetchAllOrderPositions(path, queryParams, result, 1); + } + + /** + * Fetch all order positions. + * + * @param path the path + * @param queryParams the query params + * @param result the result + * @return the list + */ + protected List fetchAllOrderPositions(String path, MultiValueMap queryParams, + List result, int page) { JsonElement response = pretixManager.request(path, HttpMethod.GET, queryParams); if (response == null) { @@ -732,7 +745,10 @@ public class MembershipManager { } if (orderPositions.has("next") && !orderPositions.get("next").isJsonNull()) { - return fetchAllOrderPositions(orderPositions.get("next").getAsString(), new LinkedMultiValueMap(), result); + page += 1; + queryParams.remove("page"); + queryParams.set("page", String.valueOf(page)); + return fetchAllOrderPositions(path, queryParams, result, page); } logger.debug("results: " + result.size() + " ? " + queryParams.getFirst("item"));