diff --git a/codegen/internal/generator/templates/client.tmpl b/codegen/internal/generator/templates/client.tmpl index eff243a..bfbe438 100644 --- a/codegen/internal/generator/templates/client.tmpl +++ b/codegen/internal/generator/templates/client.tmpl @@ -162,7 +162,7 @@ public final class {{ .ClassName }} { {{- end }} String path = {{ quote .Path }}; {{- range .PathParams }} - path = path.replace({{ quote (printf "{%s}" .Name) }}, ApiClient.urlEncode(String.valueOf({{ .FieldName }}))); + path = path.replace({{ quote (printf "{%s}" .Name) }}, ApiClient.urlEncode(ApiClient.parameterValue({{ .FieldName }}))); {{- end }} {{- if or .RequiredQueryParams .OptionalQueryParams }} diff --git a/codegen/internal/generator/templates/client_async.tmpl b/codegen/internal/generator/templates/client_async.tmpl index b31c95e..335d1b8 100644 --- a/codegen/internal/generator/templates/client_async.tmpl +++ b/codegen/internal/generator/templates/client_async.tmpl @@ -164,7 +164,7 @@ public final class {{ .ClassName }} { {{- end }} String path = {{ quote .Path }}; {{- range .PathParams }} - path = path.replace({{ quote (printf "{%s}" .Name) }}, ApiClient.urlEncode(String.valueOf({{ .FieldName }}))); + path = path.replace({{ quote (printf "{%s}" .Name) }}, ApiClient.urlEncode(ApiClient.parameterValue({{ .FieldName }}))); {{- end }} {{- if or .RequiredQueryParams .OptionalQueryParams }} diff --git a/src/main/java/com/sumup/sdk/clients/CheckoutsAsyncClient.java b/src/main/java/com/sumup/sdk/clients/CheckoutsAsyncClient.java index 899fe32..1938ce2 100644 --- a/src/main/java/com/sumup/sdk/clients/CheckoutsAsyncClient.java +++ b/src/main/java/com/sumup/sdk/clients/CheckoutsAsyncClient.java @@ -88,7 +88,7 @@ public CompletableFuture> createApplePaySession( throws ApiException { Objects.requireNonNull(id, "id"); String path = "/v0.2/checkouts/{id}/apple-pay-session"; - path = path.replace("{id}", ApiClient.urlEncode(String.valueOf(id))); + path = path.replace("{id}", ApiClient.urlEncode(ApiClient.parameterValue(id))); return this.apiClient.sendAsync( HttpMethod.PUT, @@ -190,7 +190,7 @@ public CompletableFuture deactivateCheckout( String id, RequestOptions requestOptions) throws ApiException { Objects.requireNonNull(id, "id"); String path = "/v0.1/checkouts/{id}"; - path = path.replace("{id}", ApiClient.urlEncode(String.valueOf(id))); + path = path.replace("{id}", ApiClient.urlEncode(ApiClient.parameterValue(id))); return this.apiClient.sendAsync( HttpMethod.DELETE, @@ -239,7 +239,7 @@ public CompletableFuture getCheckout( String id, RequestOptions requestOptions) throws ApiException { Objects.requireNonNull(id, "id"); String path = "/v0.1/checkouts/{id}"; - path = path.replace("{id}", ApiClient.urlEncode(String.valueOf(id))); + path = path.replace("{id}", ApiClient.urlEncode(ApiClient.parameterValue(id))); return this.apiClient.sendAsync( HttpMethod.GET, @@ -312,7 +312,9 @@ public CompletableFuture getPaym throws ApiException { Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v0.1/merchants/{merchant_code}/payment-methods"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); Map queryParams = new LinkedHashMap<>(); if (getPaymentMethods != null) { queryParams.putAll(getPaymentMethods.toMap()); @@ -441,7 +443,7 @@ public CompletableFuture processCheckout( Objects.requireNonNull(id, "id"); Objects.requireNonNull(request, "request"); String path = "/v0.1/checkouts/{id}"; - path = path.replace("{id}", ApiClient.urlEncode(String.valueOf(id))); + path = path.replace("{id}", ApiClient.urlEncode(ApiClient.parameterValue(id))); return this.apiClient.sendAsync( HttpMethod.PUT, diff --git a/src/main/java/com/sumup/sdk/clients/CheckoutsClient.java b/src/main/java/com/sumup/sdk/clients/CheckoutsClient.java index 8710e82..3a703bc 100644 --- a/src/main/java/com/sumup/sdk/clients/CheckoutsClient.java +++ b/src/main/java/com/sumup/sdk/clients/CheckoutsClient.java @@ -87,7 +87,7 @@ public java.util.Map createApplePaySession( throws ApiException { Objects.requireNonNull(id, "id"); String path = "/v0.2/checkouts/{id}/apple-pay-session"; - path = path.replace("{id}", ApiClient.urlEncode(String.valueOf(id))); + path = path.replace("{id}", ApiClient.urlEncode(ApiClient.parameterValue(id))); return this.apiClient.send( HttpMethod.PUT, @@ -188,7 +188,7 @@ public com.sumup.sdk.models.Checkout deactivateCheckout(String id, RequestOption throws ApiException { Objects.requireNonNull(id, "id"); String path = "/v0.1/checkouts/{id}"; - path = path.replace("{id}", ApiClient.urlEncode(String.valueOf(id))); + path = path.replace("{id}", ApiClient.urlEncode(ApiClient.parameterValue(id))); return this.apiClient.send( HttpMethod.DELETE, @@ -236,7 +236,7 @@ public com.sumup.sdk.models.CheckoutSuccess getCheckout(String id, RequestOption throws ApiException { Objects.requireNonNull(id, "id"); String path = "/v0.1/checkouts/{id}"; - path = path.replace("{id}", ApiClient.urlEncode(String.valueOf(id))); + path = path.replace("{id}", ApiClient.urlEncode(ApiClient.parameterValue(id))); return this.apiClient.send( HttpMethod.GET, @@ -306,7 +306,9 @@ public com.sumup.sdk.models.GetPaymentMethodsResponse getPaymentMethods( throws ApiException { Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v0.1/merchants/{merchant_code}/payment-methods"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); Map queryParams = new LinkedHashMap<>(); if (getPaymentMethods != null) { queryParams.putAll(getPaymentMethods.toMap()); @@ -431,7 +433,7 @@ public com.sumup.sdk.models.CheckoutSuccess processCheckout( Objects.requireNonNull(id, "id"); Objects.requireNonNull(request, "request"); String path = "/v0.1/checkouts/{id}"; - path = path.replace("{id}", ApiClient.urlEncode(String.valueOf(id))); + path = path.replace("{id}", ApiClient.urlEncode(ApiClient.parameterValue(id))); return this.apiClient.send( HttpMethod.PUT, diff --git a/src/main/java/com/sumup/sdk/clients/CustomersAsyncClient.java b/src/main/java/com/sumup/sdk/clients/CustomersAsyncClient.java index 755693b..95bb02e 100644 --- a/src/main/java/com/sumup/sdk/clients/CustomersAsyncClient.java +++ b/src/main/java/com/sumup/sdk/clients/CustomersAsyncClient.java @@ -115,8 +115,8 @@ public CompletableFuture deactivatePaymentInstrument( Objects.requireNonNull(customerId, "customerId"); Objects.requireNonNull(token, "token"); String path = "/v0.1/customers/{customer_id}/payment-instruments/{token}"; - path = path.replace("{customer_id}", ApiClient.urlEncode(String.valueOf(customerId))); - path = path.replace("{token}", ApiClient.urlEncode(String.valueOf(token))); + path = path.replace("{customer_id}", ApiClient.urlEncode(ApiClient.parameterValue(customerId))); + path = path.replace("{token}", ApiClient.urlEncode(ApiClient.parameterValue(token))); return this.apiClient.sendAsync( HttpMethod.DELETE, path, null, null, null, null, requestOptions); @@ -159,7 +159,7 @@ public CompletableFuture getCustomer( String customerId, RequestOptions requestOptions) throws ApiException { Objects.requireNonNull(customerId, "customerId"); String path = "/v0.1/customers/{customer_id}"; - path = path.replace("{customer_id}", ApiClient.urlEncode(String.valueOf(customerId))); + path = path.replace("{customer_id}", ApiClient.urlEncode(ApiClient.parameterValue(customerId))); return this.apiClient.sendAsync( HttpMethod.GET, @@ -208,7 +208,7 @@ public CompletableFuture getCustomer( listPaymentInstruments(String customerId, RequestOptions requestOptions) throws ApiException { Objects.requireNonNull(customerId, "customerId"); String path = "/v0.1/customers/{customer_id}/payment-instruments"; - path = path.replace("{customer_id}", ApiClient.urlEncode(String.valueOf(customerId))); + path = path.replace("{customer_id}", ApiClient.urlEncode(ApiClient.parameterValue(customerId))); return this.apiClient.sendAsync( HttpMethod.GET, @@ -265,7 +265,7 @@ public CompletableFuture updateCustomer( Objects.requireNonNull(customerId, "customerId"); Objects.requireNonNull(request, "request"); String path = "/v0.1/customers/{customer_id}"; - path = path.replace("{customer_id}", ApiClient.urlEncode(String.valueOf(customerId))); + path = path.replace("{customer_id}", ApiClient.urlEncode(ApiClient.parameterValue(customerId))); return this.apiClient.sendAsync( HttpMethod.PUT, diff --git a/src/main/java/com/sumup/sdk/clients/CustomersClient.java b/src/main/java/com/sumup/sdk/clients/CustomersClient.java index f7fccc5..477c993 100644 --- a/src/main/java/com/sumup/sdk/clients/CustomersClient.java +++ b/src/main/java/com/sumup/sdk/clients/CustomersClient.java @@ -111,8 +111,8 @@ public void deactivatePaymentInstrument( Objects.requireNonNull(customerId, "customerId"); Objects.requireNonNull(token, "token"); String path = "/v0.1/customers/{customer_id}/payment-instruments/{token}"; - path = path.replace("{customer_id}", ApiClient.urlEncode(String.valueOf(customerId))); - path = path.replace("{token}", ApiClient.urlEncode(String.valueOf(token))); + path = path.replace("{customer_id}", ApiClient.urlEncode(ApiClient.parameterValue(customerId))); + path = path.replace("{token}", ApiClient.urlEncode(ApiClient.parameterValue(token))); this.apiClient.send(HttpMethod.DELETE, path, null, null, null, null, requestOptions); } @@ -153,7 +153,7 @@ public com.sumup.sdk.models.Customer getCustomer(String customerId, RequestOptio throws ApiException { Objects.requireNonNull(customerId, "customerId"); String path = "/v0.1/customers/{customer_id}"; - path = path.replace("{customer_id}", ApiClient.urlEncode(String.valueOf(customerId))); + path = path.replace("{customer_id}", ApiClient.urlEncode(ApiClient.parameterValue(customerId))); return this.apiClient.send( HttpMethod.GET, @@ -200,7 +200,7 @@ public java.util.List listPaymen String customerId, RequestOptions requestOptions) throws ApiException { Objects.requireNonNull(customerId, "customerId"); String path = "/v0.1/customers/{customer_id}/payment-instruments"; - path = path.replace("{customer_id}", ApiClient.urlEncode(String.valueOf(customerId))); + path = path.replace("{customer_id}", ApiClient.urlEncode(ApiClient.parameterValue(customerId))); return this.apiClient.send( HttpMethod.GET, @@ -257,7 +257,7 @@ public com.sumup.sdk.models.Customer updateCustomer( Objects.requireNonNull(customerId, "customerId"); Objects.requireNonNull(request, "request"); String path = "/v0.1/customers/{customer_id}"; - path = path.replace("{customer_id}", ApiClient.urlEncode(String.valueOf(customerId))); + path = path.replace("{customer_id}", ApiClient.urlEncode(ApiClient.parameterValue(customerId))); return this.apiClient.send( HttpMethod.PUT, diff --git a/src/main/java/com/sumup/sdk/clients/MembersAsyncClient.java b/src/main/java/com/sumup/sdk/clients/MembersAsyncClient.java index 598d89a..1662a82 100644 --- a/src/main/java/com/sumup/sdk/clients/MembersAsyncClient.java +++ b/src/main/java/com/sumup/sdk/clients/MembersAsyncClient.java @@ -71,7 +71,9 @@ public CompletableFuture createMerchantMember( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(request, "request"); String path = "/v0.1/merchants/{merchant_code}/members"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.sendAsync( HttpMethod.POST, @@ -121,8 +123,10 @@ public CompletableFuture deleteMerchantMember( Objects.requireNonNull(memberId, "memberId"); Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v0.1/merchants/{merchant_code}/members/{member_id}"; - path = path.replace("{member_id}", ApiClient.urlEncode(String.valueOf(memberId))); - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = path.replace("{member_id}", ApiClient.urlEncode(ApiClient.parameterValue(memberId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.sendAsync( HttpMethod.DELETE, path, null, null, null, null, requestOptions); @@ -166,8 +170,10 @@ public CompletableFuture getMerchantMember( Objects.requireNonNull(memberId, "memberId"); Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v0.1/merchants/{merchant_code}/members/{member_id}"; - path = path.replace("{member_id}", ApiClient.urlEncode(String.valueOf(memberId))); - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = path.replace("{member_id}", ApiClient.urlEncode(ApiClient.parameterValue(memberId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.sendAsync( HttpMethod.GET, @@ -240,7 +246,9 @@ public CompletableFuture listM throws ApiException { Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v0.1/merchants/{merchant_code}/members"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); Map queryParams = new LinkedHashMap<>(); if (listMerchantMembers != null) { queryParams.putAll(listMerchantMembers.toMap()); @@ -304,8 +312,10 @@ public CompletableFuture updateMerchantMember( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(request, "request"); String path = "/v0.1/merchants/{merchant_code}/members/{member_id}"; - path = path.replace("{member_id}", ApiClient.urlEncode(String.valueOf(memberId))); - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = path.replace("{member_id}", ApiClient.urlEncode(ApiClient.parameterValue(memberId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.sendAsync( HttpMethod.PUT, diff --git a/src/main/java/com/sumup/sdk/clients/MembersClient.java b/src/main/java/com/sumup/sdk/clients/MembersClient.java index 63e20d1..a0c5ff6 100644 --- a/src/main/java/com/sumup/sdk/clients/MembersClient.java +++ b/src/main/java/com/sumup/sdk/clients/MembersClient.java @@ -70,7 +70,9 @@ public com.sumup.sdk.models.Member createMerchantMember( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(request, "request"); String path = "/v0.1/merchants/{merchant_code}/members"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.send( HttpMethod.POST, @@ -117,8 +119,10 @@ public void deleteMerchantMember( Objects.requireNonNull(memberId, "memberId"); Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v0.1/merchants/{merchant_code}/members/{member_id}"; - path = path.replace("{member_id}", ApiClient.urlEncode(String.valueOf(memberId))); - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = path.replace("{member_id}", ApiClient.urlEncode(ApiClient.parameterValue(memberId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); this.apiClient.send(HttpMethod.DELETE, path, null, null, null, null, requestOptions); } @@ -161,8 +165,10 @@ public com.sumup.sdk.models.Member getMerchantMember( Objects.requireNonNull(memberId, "memberId"); Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v0.1/merchants/{merchant_code}/members/{member_id}"; - path = path.replace("{member_id}", ApiClient.urlEncode(String.valueOf(memberId))); - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = path.replace("{member_id}", ApiClient.urlEncode(ApiClient.parameterValue(memberId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.send( HttpMethod.GET, @@ -232,7 +238,9 @@ public com.sumup.sdk.models.ListMerchantMembersResponse listMerchantMembers( throws ApiException { Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v0.1/merchants/{merchant_code}/members"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); Map queryParams = new LinkedHashMap<>(); if (listMerchantMembers != null) { queryParams.putAll(listMerchantMembers.toMap()); @@ -296,8 +304,10 @@ public com.sumup.sdk.models.Member updateMerchantMember( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(request, "request"); String path = "/v0.1/merchants/{merchant_code}/members/{member_id}"; - path = path.replace("{member_id}", ApiClient.urlEncode(String.valueOf(memberId))); - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = path.replace("{member_id}", ApiClient.urlEncode(ApiClient.parameterValue(memberId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.send( HttpMethod.PUT, diff --git a/src/main/java/com/sumup/sdk/clients/MerchantsAsyncClient.java b/src/main/java/com/sumup/sdk/clients/MerchantsAsyncClient.java index 2aad8ab..7d6cf19 100644 --- a/src/main/java/com/sumup/sdk/clients/MerchantsAsyncClient.java +++ b/src/main/java/com/sumup/sdk/clients/MerchantsAsyncClient.java @@ -84,7 +84,9 @@ public CompletableFuture getMerchant( throws ApiException { Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v1/merchants/{merchant_code}"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); Map queryParams = new LinkedHashMap<>(); if (getMerchant != null) { queryParams.putAll(getMerchant.toMap()); @@ -163,8 +165,10 @@ public CompletableFuture getPerson( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(personId, "personId"); String path = "/v1/merchants/{merchant_code}/persons/{person_id}"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); - path = path.replace("{person_id}", ApiClient.urlEncode(String.valueOf(personId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); + path = path.replace("{person_id}", ApiClient.urlEncode(ApiClient.parameterValue(personId))); Map queryParams = new LinkedHashMap<>(); if (getPerson != null) { queryParams.putAll(getPerson.toMap()); @@ -239,7 +243,9 @@ public CompletableFuture listPerso throws ApiException { Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v1/merchants/{merchant_code}/persons"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); Map queryParams = new LinkedHashMap<>(); if (listPersons != null) { queryParams.putAll(listPersons.toMap()); diff --git a/src/main/java/com/sumup/sdk/clients/MerchantsClient.java b/src/main/java/com/sumup/sdk/clients/MerchantsClient.java index a6f1074..3d5cc53 100644 --- a/src/main/java/com/sumup/sdk/clients/MerchantsClient.java +++ b/src/main/java/com/sumup/sdk/clients/MerchantsClient.java @@ -82,7 +82,9 @@ public com.sumup.sdk.models.Merchant getMerchant( throws ApiException { Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v1/merchants/{merchant_code}"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); Map queryParams = new LinkedHashMap<>(); if (getMerchant != null) { queryParams.putAll(getMerchant.toMap()); @@ -161,8 +163,10 @@ public com.sumup.sdk.models.Person getPerson( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(personId, "personId"); String path = "/v1/merchants/{merchant_code}/persons/{person_id}"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); - path = path.replace("{person_id}", ApiClient.urlEncode(String.valueOf(personId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); + path = path.replace("{person_id}", ApiClient.urlEncode(ApiClient.parameterValue(personId))); Map queryParams = new LinkedHashMap<>(); if (getPerson != null) { queryParams.putAll(getPerson.toMap()); @@ -234,7 +238,9 @@ public com.sumup.sdk.models.ListPersonsResponseBody listPersons( throws ApiException { Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v1/merchants/{merchant_code}/persons"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); Map queryParams = new LinkedHashMap<>(); if (listPersons != null) { queryParams.putAll(listPersons.toMap()); diff --git a/src/main/java/com/sumup/sdk/clients/PayoutsAsyncClient.java b/src/main/java/com/sumup/sdk/clients/PayoutsAsyncClient.java index b9922a7..2b45270 100644 --- a/src/main/java/com/sumup/sdk/clients/PayoutsAsyncClient.java +++ b/src/main/java/com/sumup/sdk/clients/PayoutsAsyncClient.java @@ -186,7 +186,9 @@ public CompletableFuture listPayoutsV1( Objects.requireNonNull(endDate, "endDate"); Objects.requireNonNull(startDate, "startDate"); String path = "/v1.0/merchants/{merchant_code}/payouts"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); Map queryParams = new LinkedHashMap<>(); queryParams.put("end_date", endDate); queryParams.put("start_date", startDate); diff --git a/src/main/java/com/sumup/sdk/clients/PayoutsClient.java b/src/main/java/com/sumup/sdk/clients/PayoutsClient.java index ad523cc..9963286 100644 --- a/src/main/java/com/sumup/sdk/clients/PayoutsClient.java +++ b/src/main/java/com/sumup/sdk/clients/PayoutsClient.java @@ -185,7 +185,9 @@ public com.sumup.sdk.models.FinancialPayouts listPayoutsV1( Objects.requireNonNull(endDate, "endDate"); Objects.requireNonNull(startDate, "startDate"); String path = "/v1.0/merchants/{merchant_code}/payouts"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); Map queryParams = new LinkedHashMap<>(); queryParams.put("end_date", endDate); queryParams.put("start_date", startDate); diff --git a/src/main/java/com/sumup/sdk/clients/ReadersAsyncClient.java b/src/main/java/com/sumup/sdk/clients/ReadersAsyncClient.java index fb43978..e3b465d 100644 --- a/src/main/java/com/sumup/sdk/clients/ReadersAsyncClient.java +++ b/src/main/java/com/sumup/sdk/clients/ReadersAsyncClient.java @@ -70,7 +70,9 @@ public CompletableFuture createReader( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(request, "request"); String path = "/v0.1/merchants/{merchant_code}/readers"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.sendAsync( HttpMethod.POST, @@ -142,8 +144,10 @@ public CompletableFuture crea Objects.requireNonNull(readerId, "readerId"); Objects.requireNonNull(request, "request"); String path = "/v0.1/merchants/{merchant_code}/readers/{reader_id}/checkout"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); - path = path.replace("{reader_id}", ApiClient.urlEncode(String.valueOf(readerId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); + path = path.replace("{reader_id}", ApiClient.urlEncode(ApiClient.parameterValue(readerId))); return this.apiClient.sendAsync( HttpMethod.POST, @@ -214,8 +218,10 @@ public CompletableFuture createReaderTerminate( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(readerId, "readerId"); String path = "/v0.1/merchants/{merchant_code}/readers/{reader_id}/terminate"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); - path = path.replace("{reader_id}", ApiClient.urlEncode(String.valueOf(readerId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); + path = path.replace("{reader_id}", ApiClient.urlEncode(ApiClient.parameterValue(readerId))); return this.apiClient.sendAsync( HttpMethod.POST, path, null, null, request, null, requestOptions); @@ -260,8 +266,10 @@ public CompletableFuture deleteReader( Objects.requireNonNull(id, "id"); Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v0.1/merchants/{merchant_code}/readers/{id}"; - path = path.replace("{id}", ApiClient.urlEncode(String.valueOf(id))); - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = path.replace("{id}", ApiClient.urlEncode(ApiClient.parameterValue(id))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.sendAsync( HttpMethod.DELETE, path, null, null, null, null, requestOptions); @@ -331,8 +339,10 @@ public CompletableFuture getReader( Objects.requireNonNull(id, "id"); Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v0.1/merchants/{merchant_code}/readers/{id}"; - path = path.replace("{id}", ApiClient.urlEncode(String.valueOf(id))); - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = path.replace("{id}", ApiClient.urlEncode(ApiClient.parameterValue(id))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); Map headerParams = new LinkedHashMap<>(); if (getReader != null) { headerParams.putAll(getReader.toMap()); @@ -402,8 +412,10 @@ public CompletableFuture getReaderStatus( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(readerId, "readerId"); String path = "/v0.1/merchants/{merchant_code}/readers/{reader_id}/status"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); - path = path.replace("{reader_id}", ApiClient.urlEncode(String.valueOf(readerId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); + path = path.replace("{reader_id}", ApiClient.urlEncode(ApiClient.parameterValue(readerId))); return this.apiClient.sendAsync( HttpMethod.GET, @@ -452,7 +464,9 @@ public CompletableFuture listReaders( String merchantCode, RequestOptions requestOptions) throws ApiException { Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v0.1/merchants/{merchant_code}/readers"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.sendAsync( HttpMethod.GET, @@ -512,8 +526,10 @@ public CompletableFuture updateReader( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(request, "request"); String path = "/v0.1/merchants/{merchant_code}/readers/{id}"; - path = path.replace("{id}", ApiClient.urlEncode(String.valueOf(id))); - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = path.replace("{id}", ApiClient.urlEncode(ApiClient.parameterValue(id))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.sendAsync( HttpMethod.PATCH, diff --git a/src/main/java/com/sumup/sdk/clients/ReadersClient.java b/src/main/java/com/sumup/sdk/clients/ReadersClient.java index b4d1361..a1d3ff7 100644 --- a/src/main/java/com/sumup/sdk/clients/ReadersClient.java +++ b/src/main/java/com/sumup/sdk/clients/ReadersClient.java @@ -69,7 +69,9 @@ public com.sumup.sdk.models.Reader createReader( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(request, "request"); String path = "/v0.1/merchants/{merchant_code}/readers"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.send( HttpMethod.POST, @@ -139,8 +141,10 @@ public com.sumup.sdk.models.CreateReaderCheckoutResponse createReaderCheckout( Objects.requireNonNull(readerId, "readerId"); Objects.requireNonNull(request, "request"); String path = "/v0.1/merchants/{merchant_code}/readers/{reader_id}/checkout"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); - path = path.replace("{reader_id}", ApiClient.urlEncode(String.valueOf(readerId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); + path = path.replace("{reader_id}", ApiClient.urlEncode(ApiClient.parameterValue(readerId))); return this.apiClient.send( HttpMethod.POST, @@ -209,8 +213,10 @@ public void createReaderTerminate( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(readerId, "readerId"); String path = "/v0.1/merchants/{merchant_code}/readers/{reader_id}/terminate"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); - path = path.replace("{reader_id}", ApiClient.urlEncode(String.valueOf(readerId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); + path = path.replace("{reader_id}", ApiClient.urlEncode(ApiClient.parameterValue(readerId))); this.apiClient.send(HttpMethod.POST, path, null, null, request, null, requestOptions); } @@ -252,8 +258,10 @@ public void deleteReader( Objects.requireNonNull(id, "id"); Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v0.1/merchants/{merchant_code}/readers/{id}"; - path = path.replace("{id}", ApiClient.urlEncode(String.valueOf(id))); - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = path.replace("{id}", ApiClient.urlEncode(ApiClient.parameterValue(id))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); this.apiClient.send(HttpMethod.DELETE, path, null, null, null, null, requestOptions); } @@ -322,8 +330,10 @@ public com.sumup.sdk.models.Reader getReader( Objects.requireNonNull(id, "id"); Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v0.1/merchants/{merchant_code}/readers/{id}"; - path = path.replace("{id}", ApiClient.urlEncode(String.valueOf(id))); - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = path.replace("{id}", ApiClient.urlEncode(ApiClient.parameterValue(id))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); Map headerParams = new LinkedHashMap<>(); if (getReader != null) { headerParams.putAll(getReader.toMap()); @@ -393,8 +403,10 @@ public com.sumup.sdk.models.StatusResponse getReaderStatus( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(readerId, "readerId"); String path = "/v0.1/merchants/{merchant_code}/readers/{reader_id}/status"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); - path = path.replace("{reader_id}", ApiClient.urlEncode(String.valueOf(readerId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); + path = path.replace("{reader_id}", ApiClient.urlEncode(ApiClient.parameterValue(readerId))); return this.apiClient.send( HttpMethod.GET, @@ -441,7 +453,9 @@ public com.sumup.sdk.models.ListReadersResponse listReaders( String merchantCode, RequestOptions requestOptions) throws ApiException { Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v0.1/merchants/{merchant_code}/readers"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.send( HttpMethod.GET, @@ -501,8 +515,10 @@ public com.sumup.sdk.models.Reader updateReader( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(request, "request"); String path = "/v0.1/merchants/{merchant_code}/readers/{id}"; - path = path.replace("{id}", ApiClient.urlEncode(String.valueOf(id))); - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = path.replace("{id}", ApiClient.urlEncode(ApiClient.parameterValue(id))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.send( HttpMethod.PATCH, diff --git a/src/main/java/com/sumup/sdk/clients/ReceiptsAsyncClient.java b/src/main/java/com/sumup/sdk/clients/ReceiptsAsyncClient.java index f92b6ed..37d838b 100644 --- a/src/main/java/com/sumup/sdk/clients/ReceiptsAsyncClient.java +++ b/src/main/java/com/sumup/sdk/clients/ReceiptsAsyncClient.java @@ -88,7 +88,7 @@ public CompletableFuture getReceipt( Objects.requireNonNull(id, "id"); Objects.requireNonNull(mid, "mid"); String path = "/v1.1/receipts/{id}"; - path = path.replace("{id}", ApiClient.urlEncode(String.valueOf(id))); + path = path.replace("{id}", ApiClient.urlEncode(ApiClient.parameterValue(id))); Map queryParams = new LinkedHashMap<>(); queryParams.put("mid", mid); if (getReceipt != null) { diff --git a/src/main/java/com/sumup/sdk/clients/ReceiptsClient.java b/src/main/java/com/sumup/sdk/clients/ReceiptsClient.java index 2ab61b8..33e60c7 100644 --- a/src/main/java/com/sumup/sdk/clients/ReceiptsClient.java +++ b/src/main/java/com/sumup/sdk/clients/ReceiptsClient.java @@ -86,7 +86,7 @@ public com.sumup.sdk.models.Receipt getReceipt( Objects.requireNonNull(id, "id"); Objects.requireNonNull(mid, "mid"); String path = "/v1.1/receipts/{id}"; - path = path.replace("{id}", ApiClient.urlEncode(String.valueOf(id))); + path = path.replace("{id}", ApiClient.urlEncode(ApiClient.parameterValue(id))); Map queryParams = new LinkedHashMap<>(); queryParams.put("mid", mid); if (getReceipt != null) { diff --git a/src/main/java/com/sumup/sdk/clients/RolesAsyncClient.java b/src/main/java/com/sumup/sdk/clients/RolesAsyncClient.java index a12fab6..c1b7da0 100644 --- a/src/main/java/com/sumup/sdk/clients/RolesAsyncClient.java +++ b/src/main/java/com/sumup/sdk/clients/RolesAsyncClient.java @@ -72,7 +72,9 @@ public CompletableFuture createMerchantRole( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(request, "request"); String path = "/v0.1/merchants/{merchant_code}/roles"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.sendAsync( HttpMethod.POST, @@ -122,8 +124,10 @@ public CompletableFuture deleteMerchantRole( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(roleId, "roleId"); String path = "/v0.1/merchants/{merchant_code}/roles/{role_id}"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); - path = path.replace("{role_id}", ApiClient.urlEncode(String.valueOf(roleId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); + path = path.replace("{role_id}", ApiClient.urlEncode(ApiClient.parameterValue(roleId))); return this.apiClient.sendAsync( HttpMethod.DELETE, path, null, null, null, null, requestOptions); @@ -167,8 +171,10 @@ public CompletableFuture getMerchantRole( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(roleId, "roleId"); String path = "/v0.1/merchants/{merchant_code}/roles/{role_id}"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); - path = path.replace("{role_id}", ApiClient.urlEncode(String.valueOf(roleId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); + path = path.replace("{role_id}", ApiClient.urlEncode(ApiClient.parameterValue(roleId))); return this.apiClient.sendAsync( HttpMethod.GET, @@ -217,7 +223,9 @@ public CompletableFuture listMer String merchantCode, RequestOptions requestOptions) throws ApiException { Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v0.1/merchants/{merchant_code}/roles"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.sendAsync( HttpMethod.GET, @@ -275,8 +283,10 @@ public CompletableFuture updateMerchantRole( Objects.requireNonNull(roleId, "roleId"); Objects.requireNonNull(request, "request"); String path = "/v0.1/merchants/{merchant_code}/roles/{role_id}"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); - path = path.replace("{role_id}", ApiClient.urlEncode(String.valueOf(roleId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); + path = path.replace("{role_id}", ApiClient.urlEncode(ApiClient.parameterValue(roleId))); return this.apiClient.sendAsync( HttpMethod.PATCH, diff --git a/src/main/java/com/sumup/sdk/clients/RolesClient.java b/src/main/java/com/sumup/sdk/clients/RolesClient.java index 4da8610..7515c0a 100644 --- a/src/main/java/com/sumup/sdk/clients/RolesClient.java +++ b/src/main/java/com/sumup/sdk/clients/RolesClient.java @@ -71,7 +71,9 @@ public com.sumup.sdk.models.Role createMerchantRole( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(request, "request"); String path = "/v0.1/merchants/{merchant_code}/roles"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.send( HttpMethod.POST, @@ -118,8 +120,10 @@ public void deleteMerchantRole(String merchantCode, String roleId, RequestOption Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(roleId, "roleId"); String path = "/v0.1/merchants/{merchant_code}/roles/{role_id}"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); - path = path.replace("{role_id}", ApiClient.urlEncode(String.valueOf(roleId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); + path = path.replace("{role_id}", ApiClient.urlEncode(ApiClient.parameterValue(roleId))); this.apiClient.send(HttpMethod.DELETE, path, null, null, null, null, requestOptions); } @@ -162,8 +166,10 @@ public com.sumup.sdk.models.Role getMerchantRole( Objects.requireNonNull(merchantCode, "merchantCode"); Objects.requireNonNull(roleId, "roleId"); String path = "/v0.1/merchants/{merchant_code}/roles/{role_id}"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); - path = path.replace("{role_id}", ApiClient.urlEncode(String.valueOf(roleId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); + path = path.replace("{role_id}", ApiClient.urlEncode(ApiClient.parameterValue(roleId))); return this.apiClient.send( HttpMethod.GET, @@ -210,7 +216,9 @@ public com.sumup.sdk.models.ListMerchantRolesResponse listMerchantRoles( String merchantCode, RequestOptions requestOptions) throws ApiException { Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v0.1/merchants/{merchant_code}/roles"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); return this.apiClient.send( HttpMethod.GET, @@ -268,8 +276,10 @@ public com.sumup.sdk.models.Role updateMerchantRole( Objects.requireNonNull(roleId, "roleId"); Objects.requireNonNull(request, "request"); String path = "/v0.1/merchants/{merchant_code}/roles/{role_id}"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); - path = path.replace("{role_id}", ApiClient.urlEncode(String.valueOf(roleId))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); + path = path.replace("{role_id}", ApiClient.urlEncode(ApiClient.parameterValue(roleId))); return this.apiClient.send( HttpMethod.PATCH, diff --git a/src/main/java/com/sumup/sdk/clients/SubaccountsAsyncClient.java b/src/main/java/com/sumup/sdk/clients/SubaccountsAsyncClient.java index cfa4b09..1859c7b 100644 --- a/src/main/java/com/sumup/sdk/clients/SubaccountsAsyncClient.java +++ b/src/main/java/com/sumup/sdk/clients/SubaccountsAsyncClient.java @@ -63,7 +63,7 @@ public CompletableFuture compatGetOperator( Integer operatorId, RequestOptions requestOptions) throws ApiException { Objects.requireNonNull(operatorId, "operatorId"); String path = "/v0.1/me/accounts/{operator_id}"; - path = path.replace("{operator_id}", ApiClient.urlEncode(String.valueOf(operatorId))); + path = path.replace("{operator_id}", ApiClient.urlEncode(ApiClient.parameterValue(operatorId))); return this.apiClient.sendAsync( HttpMethod.GET, @@ -237,7 +237,7 @@ public CompletableFuture updateSubAccount( Objects.requireNonNull(operatorId, "operatorId"); Objects.requireNonNull(request, "request"); String path = "/v0.1/me/accounts/{operator_id}"; - path = path.replace("{operator_id}", ApiClient.urlEncode(String.valueOf(operatorId))); + path = path.replace("{operator_id}", ApiClient.urlEncode(ApiClient.parameterValue(operatorId))); return this.apiClient.sendAsync( HttpMethod.PUT, diff --git a/src/main/java/com/sumup/sdk/clients/SubaccountsClient.java b/src/main/java/com/sumup/sdk/clients/SubaccountsClient.java index 6d01315..a16e5d1 100644 --- a/src/main/java/com/sumup/sdk/clients/SubaccountsClient.java +++ b/src/main/java/com/sumup/sdk/clients/SubaccountsClient.java @@ -61,7 +61,7 @@ public com.sumup.sdk.models.Operator compatGetOperator( Integer operatorId, RequestOptions requestOptions) throws ApiException { Objects.requireNonNull(operatorId, "operatorId"); String path = "/v0.1/me/accounts/{operator_id}"; - path = path.replace("{operator_id}", ApiClient.urlEncode(String.valueOf(operatorId))); + path = path.replace("{operator_id}", ApiClient.urlEncode(ApiClient.parameterValue(operatorId))); return this.apiClient.send( HttpMethod.GET, @@ -231,7 +231,7 @@ public com.sumup.sdk.models.Operator updateSubAccount( Objects.requireNonNull(operatorId, "operatorId"); Objects.requireNonNull(request, "request"); String path = "/v0.1/me/accounts/{operator_id}"; - path = path.replace("{operator_id}", ApiClient.urlEncode(String.valueOf(operatorId))); + path = path.replace("{operator_id}", ApiClient.urlEncode(ApiClient.parameterValue(operatorId))); return this.apiClient.send( HttpMethod.PUT, diff --git a/src/main/java/com/sumup/sdk/clients/TransactionsAsyncClient.java b/src/main/java/com/sumup/sdk/clients/TransactionsAsyncClient.java index 9834ef1..d085d94 100644 --- a/src/main/java/com/sumup/sdk/clients/TransactionsAsyncClient.java +++ b/src/main/java/com/sumup/sdk/clients/TransactionsAsyncClient.java @@ -180,7 +180,9 @@ public CompletableFuture getTransactionV21 throws ApiException { Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v2.1/merchants/{merchant_code}/transactions"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); Map queryParams = new LinkedHashMap<>(); if (getTransactionV21 != null) { queryParams.putAll(getTransactionV21.toMap()); @@ -328,7 +330,9 @@ public CompletableFuture listT throws ApiException { Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v2.1/merchants/{merchant_code}/transactions/history"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); Map queryParams = new LinkedHashMap<>(); if (listTransactionsV21 != null) { queryParams.putAll(listTransactionsV21.toMap()); @@ -384,7 +388,7 @@ public CompletableFuture refundTransaction( throws ApiException { Objects.requireNonNull(txnId, "txnId"); String path = "/v0.1/me/refund/{txn_id}"; - path = path.replace("{txn_id}", ApiClient.urlEncode(String.valueOf(txnId))); + path = path.replace("{txn_id}", ApiClient.urlEncode(ApiClient.parameterValue(txnId))); return this.apiClient.sendAsync( HttpMethod.POST, path, null, null, request, null, requestOptions); diff --git a/src/main/java/com/sumup/sdk/clients/TransactionsClient.java b/src/main/java/com/sumup/sdk/clients/TransactionsClient.java index 7562d78..031bad5 100644 --- a/src/main/java/com/sumup/sdk/clients/TransactionsClient.java +++ b/src/main/java/com/sumup/sdk/clients/TransactionsClient.java @@ -178,7 +178,9 @@ public com.sumup.sdk.models.TransactionFull getTransactionV21( throws ApiException { Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v2.1/merchants/{merchant_code}/transactions"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); Map queryParams = new LinkedHashMap<>(); if (getTransactionV21 != null) { queryParams.putAll(getTransactionV21.toMap()); @@ -319,7 +321,9 @@ public com.sumup.sdk.models.ListTransactionsV21Response listTransactionsV21( throws ApiException { Objects.requireNonNull(merchantCode, "merchantCode"); String path = "/v2.1/merchants/{merchant_code}/transactions/history"; - path = path.replace("{merchant_code}", ApiClient.urlEncode(String.valueOf(merchantCode))); + path = + path.replace( + "{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode))); Map queryParams = new LinkedHashMap<>(); if (listTransactionsV21 != null) { queryParams.putAll(listTransactionsV21.toMap()); @@ -373,7 +377,7 @@ public void refundTransaction( throws ApiException { Objects.requireNonNull(txnId, "txnId"); String path = "/v0.1/me/refund/{txn_id}"; - path = path.replace("{txn_id}", ApiClient.urlEncode(String.valueOf(txnId))); + path = path.replace("{txn_id}", ApiClient.urlEncode(ApiClient.parameterValue(txnId))); this.apiClient.send(HttpMethod.POST, path, null, null, request, null, requestOptions); } diff --git a/src/main/java/com/sumup/sdk/core/ApiClient.java b/src/main/java/com/sumup/sdk/core/ApiClient.java index f35d07d..9d7bcbf 100644 --- a/src/main/java/com/sumup/sdk/core/ApiClient.java +++ b/src/main/java/com/sumup/sdk/core/ApiClient.java @@ -279,6 +279,26 @@ public static String urlEncode(String value) { return URLEncoder.encode(value, StandardCharsets.UTF_8); } + public static String parameterValue(Object value) { + Object unwrapped = unwrapSingleValueRecord(value); + return unwrapped == null ? null : unwrapped.toString(); + } + + private static Object unwrapSingleValueRecord(Object value) { + if (value == null || !value.getClass().isRecord()) { + return value; + } + var components = value.getClass().getRecordComponents(); + if (components.length != 1 || !"value".equals(components[0].getName())) { + return value; + } + try { + return components[0].getAccessor().invoke(value); + } catch (ReflectiveOperationException e) { + throw new ApiException("Failed to serialize request parameter", e); + } + } + public static String headerValue(Object value) { if (value == null) { return null; diff --git a/src/test/java/com/sumup/sdk/core/ApiClientTest.java b/src/test/java/com/sumup/sdk/core/ApiClientTest.java index b8e36a1..cf42b3d 100644 --- a/src/test/java/com/sumup/sdk/core/ApiClientTest.java +++ b/src/test/java/com/sumup/sdk/core/ApiClientTest.java @@ -3,6 +3,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; +import com.sumup.sdk.clients.ReadersClient; +import com.sumup.sdk.models.ReaderId; import java.net.Authenticator; import java.net.CookieHandler; import java.net.ProxySelector; @@ -110,6 +112,19 @@ void requestOptionsCanOverrideTimeout() { assertEquals(timeout, httpClient.lastRequest().timeout().get()); } + @Test + void pathParamsUnwrapSingleValueRecords() { + CapturingHttpClient httpClient = new CapturingHttpClient(); + ApiClient apiClient = ApiClient.builder().httpClient(httpClient).build(); + ReadersClient readersClient = new ReadersClient(apiClient); + + readersClient.deleteReader(new ReaderId("reader 123"), "merchant-code"); + + assertEquals( + URI.create("https://api.sumup.com/v0.1/merchants/merchant-code/readers/reader+123"), + httpClient.lastRequest().uri()); + } + private static final class CapturingHttpClient extends HttpClient { private HttpRequest lastRequest;