-
Notifications
You must be signed in to change notification settings - Fork 144
Generate Balance Webhooks models #1607
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,173 @@ | ||
| /* | ||
| * Balance webhook | ||
| * | ||
| * The version of the OpenAPI document: 1 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
|
|
||
| package com.adyen.model.balancewebhooks; | ||
|
|
||
| import com.fasterxml.jackson.annotation.JsonInclude; | ||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||
| import com.fasterxml.jackson.annotation.JsonPropertyOrder; | ||
| import com.fasterxml.jackson.core.JsonProcessingException; | ||
| import java.util.*; | ||
|
|
||
| /** Amount */ | ||
| @JsonPropertyOrder({Amount.JSON_PROPERTY_CURRENCY, Amount.JSON_PROPERTY_VALUE}) | ||
| public class Amount { | ||
| public static final String JSON_PROPERTY_CURRENCY = "currency"; | ||
| private String currency; | ||
|
|
||
| public static final String JSON_PROPERTY_VALUE = "value"; | ||
| private Long value; | ||
|
|
||
| public Amount() {} | ||
|
|
||
| /** | ||
| * The three-character [ISO currency | ||
| * code](https://docs.adyen.com/development-resources/currency-codes#currency-codes) of the | ||
| * amount. | ||
| * | ||
| * @param currency The three-character [ISO currency | ||
| * code](https://docs.adyen.com/development-resources/currency-codes#currency-codes) of the | ||
| * amount. | ||
| * @return the current {@code Amount} instance, allowing for method chaining | ||
| */ | ||
| public Amount currency(String currency) { | ||
| this.currency = currency; | ||
| return this; | ||
| } | ||
|
|
||
| /** | ||
| * The three-character [ISO currency | ||
| * code](https://docs.adyen.com/development-resources/currency-codes#currency-codes) of the | ||
| * amount. | ||
| * | ||
| * @return currency The three-character [ISO currency | ||
| * code](https://docs.adyen.com/development-resources/currency-codes#currency-codes) of the | ||
| * amount. | ||
| */ | ||
| @JsonProperty(JSON_PROPERTY_CURRENCY) | ||
| @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) | ||
| public String getCurrency() { | ||
| return currency; | ||
| } | ||
|
|
||
| /** | ||
| * The three-character [ISO currency | ||
| * code](https://docs.adyen.com/development-resources/currency-codes#currency-codes) of the | ||
| * amount. | ||
| * | ||
| * @param currency The three-character [ISO currency | ||
| * code](https://docs.adyen.com/development-resources/currency-codes#currency-codes) of the | ||
| * amount. | ||
| */ | ||
| @JsonProperty(JSON_PROPERTY_CURRENCY) | ||
| @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) | ||
| public void setCurrency(String currency) { | ||
| this.currency = currency; | ||
| } | ||
|
|
||
| /** | ||
| * The numeric value of the amount, in [minor | ||
| * units](https://docs.adyen.com/development-resources/currency-codes#minor-units). | ||
| * | ||
| * @param value The numeric value of the amount, in [minor | ||
| * units](https://docs.adyen.com/development-resources/currency-codes#minor-units). | ||
| * @return the current {@code Amount} instance, allowing for method chaining | ||
| */ | ||
| public Amount value(Long value) { | ||
| this.value = value; | ||
| return this; | ||
| } | ||
|
|
||
| /** | ||
| * The numeric value of the amount, in [minor | ||
| * units](https://docs.adyen.com/development-resources/currency-codes#minor-units). | ||
| * | ||
| * @return value The numeric value of the amount, in [minor | ||
| * units](https://docs.adyen.com/development-resources/currency-codes#minor-units). | ||
| */ | ||
| @JsonProperty(JSON_PROPERTY_VALUE) | ||
| @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) | ||
| public Long getValue() { | ||
| return value; | ||
| } | ||
|
|
||
| /** | ||
| * The numeric value of the amount, in [minor | ||
| * units](https://docs.adyen.com/development-resources/currency-codes#minor-units). | ||
| * | ||
| * @param value The numeric value of the amount, in [minor | ||
| * units](https://docs.adyen.com/development-resources/currency-codes#minor-units). | ||
| */ | ||
| @JsonProperty(JSON_PROPERTY_VALUE) | ||
| @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) | ||
| public void setValue(Long value) { | ||
| this.value = value; | ||
| } | ||
|
|
||
| /** Return true if this Amount object is equal to o. */ | ||
| @Override | ||
| public boolean equals(Object o) { | ||
| if (this == o) { | ||
| return true; | ||
| } | ||
| if (o == null || getClass() != o.getClass()) { | ||
| return false; | ||
| } | ||
| Amount amount = (Amount) o; | ||
| return Objects.equals(this.currency, amount.currency) | ||
| && Objects.equals(this.value, amount.value); | ||
| } | ||
|
|
||
| @Override | ||
| public int hashCode() { | ||
| return Objects.hash(currency, value); | ||
| } | ||
|
|
||
| @Override | ||
| public String toString() { | ||
| StringBuilder sb = new StringBuilder(); | ||
| sb.append("class Amount {\n"); | ||
| sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); | ||
| sb.append(" value: ").append(toIndentedString(value)).append("\n"); | ||
| sb.append("}"); | ||
| return sb.toString(); | ||
| } | ||
|
|
||
| /** | ||
| * Convert the given object to string with each line indented by 4 spaces (except the first line). | ||
| */ | ||
| private String toIndentedString(Object o) { | ||
| if (o == null) { | ||
| return "null"; | ||
| } | ||
| return o.toString().replace("\n", "\n "); | ||
| } | ||
|
|
||
| /** | ||
| * Create an instance of Amount given an JSON string | ||
| * | ||
| * @param jsonString JSON string | ||
| * @return An instance of Amount | ||
| * @throws JsonProcessingException if the JSON string is invalid with respect to Amount | ||
| */ | ||
| public static Amount fromJson(String jsonString) throws JsonProcessingException { | ||
| return JSON.getMapper().readValue(jsonString, Amount.class); | ||
| } | ||
|
|
||
| /** | ||
| * Convert an instance of Amount to an JSON string | ||
| * | ||
| * @return JSON string | ||
| */ | ||
| public String toJson() throws JsonProcessingException { | ||
| return JSON.getMapper().writeValueAsString(this); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -58,6 +58,30 @@ public BalanceWebhooksHandler(String payload) { | |
| return Optional.empty(); | ||
| } | ||
|
|
||
| /** | ||
| * Attempts to deserialize the webhook payload into a ReleasedBlockedBalanceNotificationRequest | ||
| * | ||
| * @return an Optional containing the deserialized object, or empty if deserialization fails | ||
| */ | ||
| public Optional<ReleasedBlockedBalanceNotificationRequest> | ||
| getReleasedBlockedBalanceNotificationRequest() { | ||
|
|
||
| var optionalReleasedBlockedBalanceNotificationRequest = | ||
| getOptionalField(ReleasedBlockedBalanceNotificationRequest.class); | ||
|
|
||
| if (optionalReleasedBlockedBalanceNotificationRequest.isPresent()) { | ||
| // verify event type | ||
| for (var value : ReleasedBlockedBalanceNotificationRequest.TypeEnum.values()) { | ||
| if (value.equals(optionalReleasedBlockedBalanceNotificationRequest.get().getType())) { | ||
| // found matching event type | ||
| return optionalReleasedBlockedBalanceNotificationRequest; | ||
| } | ||
| } | ||
| } | ||
|
|
||
| return Optional.empty(); | ||
| } | ||
|
Comment on lines
+66
to
+83
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The logic in this new method This can be simplified significantly using public Optional<ReleasedBlockedBalanceNotificationRequest>
getReleasedBlockedBalanceNotificationRequest() {
return getOptionalField(ReleasedBlockedBalanceNotificationRequest.class)
.filter(req -> req.getType() != null);
}
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added to the backlog |
||
|
|
||
| /** | ||
| * Deserializes the payload into the specified class type. | ||
| * | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.