diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 4a422647..5a4b9a89 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -136,8 +136,10 @@ docs/RbmMessageContentFile.md docs/RbmMessageContentRichCard.md docs/RbmMessageContentText.md docs/RbmMessageMedia.md +docs/RbmOpenUrlEnum.md docs/RbmStandaloneCard.md docs/RbmSuggestionResponse.md +docs/RbmWebViewEnum.md docs/RecordingAvailableCallback.md docs/RecordingCompleteCallback.md docs/RecordingStateEnum.md @@ -356,8 +358,10 @@ src/main/java/com/bandwidth/sdk/model/RbmMessageContentFile.java src/main/java/com/bandwidth/sdk/model/RbmMessageContentRichCard.java src/main/java/com/bandwidth/sdk/model/RbmMessageContentText.java src/main/java/com/bandwidth/sdk/model/RbmMessageMedia.java +src/main/java/com/bandwidth/sdk/model/RbmOpenUrlEnum.java src/main/java/com/bandwidth/sdk/model/RbmStandaloneCard.java src/main/java/com/bandwidth/sdk/model/RbmSuggestionResponse.java +src/main/java/com/bandwidth/sdk/model/RbmWebViewEnum.java src/main/java/com/bandwidth/sdk/model/RecordingAvailableCallback.java src/main/java/com/bandwidth/sdk/model/RecordingCompleteCallback.java src/main/java/com/bandwidth/sdk/model/RecordingStateEnum.java diff --git a/README.md b/README.md index 9cbddc78..11380861 100644 --- a/README.md +++ b/README.md @@ -309,8 +309,10 @@ Class | Method | HTTP request | Description - [RbmMessageContentRichCard](docs/RbmMessageContentRichCard.md) - [RbmMessageContentText](docs/RbmMessageContentText.md) - [RbmMessageMedia](docs/RbmMessageMedia.md) + - [RbmOpenUrlEnum](docs/RbmOpenUrlEnum.md) - [RbmStandaloneCard](docs/RbmStandaloneCard.md) - [RbmSuggestionResponse](docs/RbmSuggestionResponse.md) + - [RbmWebViewEnum](docs/RbmWebViewEnum.md) - [RecordingAvailableCallback](docs/RecordingAvailableCallback.md) - [RecordingCompleteCallback](docs/RecordingCompleteCallback.md) - [RecordingStateEnum](docs/RecordingStateEnum.md) diff --git a/api/openapi.yaml b/api/openapi.yaml index e36e7be4..58e13dcf 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -8994,6 +8994,26 @@ components: - REQUEST_LOCATION example: REPLY type: string + rbmOpenUrlEnum: + description: "Specifies how the URL should be opened on a mobile device.\n-\ + \ `BROWSER` Opens the URL in the device's default browser. If application\ + \ is not set or the device doesn’t support WebView, this option is used by\ + \ default. \n- `WEBVIEW` Opens the URL in an in-app WebView." + enum: + - BROWSER + - WEBVIEW + example: WEBVIEW + type: string + rbmWebViewEnum: + description: "Defines the layout of the WebView on a mobile device. It must\ + \ be defined when application is set to `WEBVIEW`\n- `FULL` WebView takes\ + \ the full screen. \n- `HALF` WebView takes half of the screen.\n- `TALL`\ + \ WebView takes three-quarters of the screen." + enum: + - FULL + - HALF + - TALL + type: string rbmActionText: description: Displayed text for user to click example: Hello world @@ -9112,6 +9132,10 @@ components: format: uri maxLength: 2048 type: string + application: + $ref: "#/components/schemas/rbmOpenUrlEnum" + webviewViewMode: + $ref: "#/components/schemas/rbmWebViewEnum" required: - url title: Open URL diff --git a/bandwidth.yml b/bandwidth.yml index 9ab77fd9..d7c32953 100644 --- a/bandwidth.yml +++ b/bandwidth.yml @@ -2378,6 +2378,35 @@ components: - OPEN_URL - REQUEST_LOCATION example: REPLY + rbmOpenUrlEnum: + type: string + description: >- + Specifies how the URL should be opened on a mobile device. + + - `BROWSER` Opens the URL in the device's default browser. If + application is not set or the device doesn’t support WebView, this + option is used by default. + + - `WEBVIEW` Opens the URL in an in-app WebView. + enum: + - BROWSER + - WEBVIEW + example: WEBVIEW + rbmWebViewEnum: + type: string + description: >- + Defines the layout of the WebView on a mobile device. It must be defined + when application is set to `WEBVIEW` + + - `FULL` WebView takes the full screen. + + - `HALF` WebView takes half of the screen. + + - `TALL` WebView takes three-quarters of the screen. + enum: + - FULL + - HALF + - TALL rbmActionText: title: Text type: string @@ -2482,6 +2511,10 @@ components: description: The URL to open in browser. example: https://dev.bandwidth.com maxLength: 2048 + application: + $ref: '#/components/schemas/rbmOpenUrlEnum' + webviewViewMode: + $ref: '#/components/schemas/rbmWebViewEnum' required: - url multiChannelFullActions: diff --git a/docs/MultiChannelAction.md b/docs/MultiChannelAction.md index e895a477..d34f2786 100644 --- a/docs/MultiChannelAction.md +++ b/docs/MultiChannelAction.md @@ -19,6 +19,8 @@ |**endTime** | **OffsetDateTime** | The end time of the event. | | |**description** | **String** | The description of the event. | [optional] | |**url** | **URI** | The URL to open in browser. | | +|**application** | **RbmOpenUrlEnum** | | [optional] | +|**webviewViewMode** | **RbmWebViewEnum** | | [optional] | diff --git a/docs/RbmActionOpenUrl.md b/docs/RbmActionOpenUrl.md index 5f97ed6a..fe27d6b0 100644 --- a/docs/RbmActionOpenUrl.md +++ b/docs/RbmActionOpenUrl.md @@ -11,6 +11,8 @@ |**text** | **String** | Displayed text for user to click | | |**postbackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. | | |**url** | **URI** | The URL to open in browser. | | +|**application** | **RbmOpenUrlEnum** | | [optional] | +|**webviewViewMode** | **RbmWebViewEnum** | | [optional] | diff --git a/docs/RbmOpenUrlEnum.md b/docs/RbmOpenUrlEnum.md new file mode 100644 index 00000000..838ab706 --- /dev/null +++ b/docs/RbmOpenUrlEnum.md @@ -0,0 +1,13 @@ + + +# RbmOpenUrlEnum + +## Enum + + +* `BROWSER` (value: `"BROWSER"`) + +* `WEBVIEW` (value: `"WEBVIEW"`) + + + diff --git a/docs/RbmWebViewEnum.md b/docs/RbmWebViewEnum.md new file mode 100644 index 00000000..e2e1f2dc --- /dev/null +++ b/docs/RbmWebViewEnum.md @@ -0,0 +1,15 @@ + + +# RbmWebViewEnum + +## Enum + + +* `FULL` (value: `"FULL"`) + +* `HALF` (value: `"HALF"`) + +* `TALL` (value: `"TALL"`) + + + diff --git a/src/main/java/com/bandwidth/sdk/model/MultiChannelAction.java b/src/main/java/com/bandwidth/sdk/model/MultiChannelAction.java index 1bb1149a..cea39854 100644 --- a/src/main/java/com/bandwidth/sdk/model/MultiChannelAction.java +++ b/src/main/java/com/bandwidth/sdk/model/MultiChannelAction.java @@ -21,6 +21,8 @@ import com.bandwidth.sdk.model.RbmActionOpenUrl; import com.bandwidth.sdk.model.RbmActionTypeEnum; import com.bandwidth.sdk.model.RbmActionViewLocation; +import com.bandwidth.sdk.model.RbmOpenUrlEnum; +import com.bandwidth.sdk.model.RbmWebViewEnum; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; diff --git a/src/main/java/com/bandwidth/sdk/model/RbmActionOpenUrl.java b/src/main/java/com/bandwidth/sdk/model/RbmActionOpenUrl.java index 9ea82f8e..99f8b4a0 100644 --- a/src/main/java/com/bandwidth/sdk/model/RbmActionOpenUrl.java +++ b/src/main/java/com/bandwidth/sdk/model/RbmActionOpenUrl.java @@ -16,6 +16,8 @@ import java.util.Objects; import java.util.Locale; import com.bandwidth.sdk.model.RbmActionTypeEnum; +import com.bandwidth.sdk.model.RbmOpenUrlEnum; +import com.bandwidth.sdk.model.RbmWebViewEnum; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -74,6 +76,16 @@ public class RbmActionOpenUrl { @javax.annotation.Nonnull private URI url; + public static final String SERIALIZED_NAME_APPLICATION = "application"; + @SerializedName(SERIALIZED_NAME_APPLICATION) + @javax.annotation.Nullable + private RbmOpenUrlEnum application; + + public static final String SERIALIZED_NAME_WEBVIEW_VIEW_MODE = "webviewViewMode"; + @SerializedName(SERIALIZED_NAME_WEBVIEW_VIEW_MODE) + @javax.annotation.Nullable + private RbmWebViewEnum webviewViewMode; + public RbmActionOpenUrl() { } @@ -152,6 +164,44 @@ public void setUrl(@javax.annotation.Nonnull URI url) { this.url = url; } + + public RbmActionOpenUrl application(@javax.annotation.Nullable RbmOpenUrlEnum application) { + this.application = application; + return this; + } + + /** + * Get application + * @return application + */ + @javax.annotation.Nullable + public RbmOpenUrlEnum getApplication() { + return application; + } + + public void setApplication(@javax.annotation.Nullable RbmOpenUrlEnum application) { + this.application = application; + } + + + public RbmActionOpenUrl webviewViewMode(@javax.annotation.Nullable RbmWebViewEnum webviewViewMode) { + this.webviewViewMode = webviewViewMode; + return this; + } + + /** + * Get webviewViewMode + * @return webviewViewMode + */ + @javax.annotation.Nullable + public RbmWebViewEnum getWebviewViewMode() { + return webviewViewMode; + } + + public void setWebviewViewMode(@javax.annotation.Nullable RbmWebViewEnum webviewViewMode) { + this.webviewViewMode = webviewViewMode; + } + /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -210,13 +260,15 @@ public boolean equals(Object o) { return Objects.equals(this.type, rbmActionOpenUrl.type) && Objects.equals(this.text, rbmActionOpenUrl.text) && Arrays.equals(this.postbackData, rbmActionOpenUrl.postbackData) && - Objects.equals(this.url, rbmActionOpenUrl.url)&& + Objects.equals(this.url, rbmActionOpenUrl.url) && + Objects.equals(this.application, rbmActionOpenUrl.application) && + Objects.equals(this.webviewViewMode, rbmActionOpenUrl.webviewViewMode)&& Objects.equals(this.additionalProperties, rbmActionOpenUrl.additionalProperties); } @Override public int hashCode() { - return Objects.hash(type, text, Arrays.hashCode(postbackData), url, additionalProperties); + return Objects.hash(type, text, Arrays.hashCode(postbackData), url, application, webviewViewMode, additionalProperties); } @Override @@ -227,6 +279,8 @@ public String toString() { sb.append(" text: ").append(toIndentedString(text)).append("\n"); sb.append(" postbackData: ").append(toIndentedString(postbackData)).append("\n"); sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append(" application: ").append(toIndentedString(application)).append("\n"); + sb.append(" webviewViewMode: ").append(toIndentedString(webviewViewMode)).append("\n"); sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); sb.append("}"); return sb.toString(); @@ -249,7 +303,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) - openapiFields = new HashSet(Arrays.asList("type", "text", "postbackData", "url")); + openapiFields = new HashSet(Arrays.asList("type", "text", "postbackData", "url", "application", "webviewViewMode")); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(Arrays.asList("type", "text", "postbackData", "url")); @@ -283,6 +337,14 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (!jsonObj.get("url").isJsonPrimitive()) { throw new IllegalArgumentException(String.format(Locale.ROOT, "Expected the field `url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("url").toString())); } + // validate the optional field `application` + if (jsonObj.get("application") != null && !jsonObj.get("application").isJsonNull()) { + RbmOpenUrlEnum.validateJsonElement(jsonObj.get("application")); + } + // validate the optional field `webviewViewMode` + if (jsonObj.get("webviewViewMode") != null && !jsonObj.get("webviewViewMode").isJsonNull()) { + RbmWebViewEnum.validateJsonElement(jsonObj.get("webviewViewMode")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/bandwidth/sdk/model/RbmOpenUrlEnum.java b/src/main/java/com/bandwidth/sdk/model/RbmOpenUrlEnum.java new file mode 100644 index 00000000..a5749e75 --- /dev/null +++ b/src/main/java/com/bandwidth/sdk/model/RbmOpenUrlEnum.java @@ -0,0 +1,80 @@ +/* + * Bandwidth + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * + * 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.bandwidth.sdk.model; + +import java.util.Objects; +import java.util.Locale; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import java.util.Locale; +import com.google.gson.TypeAdapter; +import com.google.gson.JsonElement; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Specifies how the URL should be opened on a mobile device. - `BROWSER` Opens the URL in the device's default browser. If application is not set or the device doesn’t support WebView, this option is used by default. - `WEBVIEW` Opens the URL in an in-app WebView. + */ +@JsonAdapter(RbmOpenUrlEnum.Adapter.class) +public enum RbmOpenUrlEnum { + + BROWSER("BROWSER"), + + WEBVIEW("WEBVIEW"); + + private String value; + + RbmOpenUrlEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RbmOpenUrlEnum fromValue(String value) { + for (RbmOpenUrlEnum b : RbmOpenUrlEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RbmOpenUrlEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RbmOpenUrlEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RbmOpenUrlEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + RbmOpenUrlEnum.fromValue(value); + } +} + diff --git a/src/main/java/com/bandwidth/sdk/model/RbmWebViewEnum.java b/src/main/java/com/bandwidth/sdk/model/RbmWebViewEnum.java new file mode 100644 index 00000000..882b76fd --- /dev/null +++ b/src/main/java/com/bandwidth/sdk/model/RbmWebViewEnum.java @@ -0,0 +1,82 @@ +/* + * Bandwidth + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * + * 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.bandwidth.sdk.model; + +import java.util.Objects; +import java.util.Locale; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import java.util.Locale; +import com.google.gson.TypeAdapter; +import com.google.gson.JsonElement; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Defines the layout of the WebView on a mobile device. It must be defined when application is set to `WEBVIEW` - `FULL` WebView takes the full screen. - `HALF` WebView takes half of the screen. - `TALL` WebView takes three-quarters of the screen. + */ +@JsonAdapter(RbmWebViewEnum.Adapter.class) +public enum RbmWebViewEnum { + + FULL("FULL"), + + HALF("HALF"), + + TALL("TALL"); + + private String value; + + RbmWebViewEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RbmWebViewEnum fromValue(String value) { + for (RbmWebViewEnum b : RbmWebViewEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RbmWebViewEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RbmWebViewEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RbmWebViewEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + RbmWebViewEnum.fromValue(value); + } +} + diff --git a/src/test/java/com/bandwidth/sdk/unit/models/RbmActionOpenUrlTest.java b/src/test/java/com/bandwidth/sdk/unit/models/RbmActionOpenUrlTest.java index 60d2587b..c7533f65 100644 --- a/src/test/java/com/bandwidth/sdk/unit/models/RbmActionOpenUrlTest.java +++ b/src/test/java/com/bandwidth/sdk/unit/models/RbmActionOpenUrlTest.java @@ -17,6 +17,8 @@ import com.bandwidth.sdk.model.RbmActionOpenUrl; import com.bandwidth.sdk.model.RbmActionTypeEnum; +import com.bandwidth.sdk.model.RbmOpenUrlEnum; +import com.bandwidth.sdk.model.RbmWebViewEnum; import static org.hamcrest.MatcherAssert.assertThat; @@ -32,7 +34,9 @@ public class RbmActionOpenUrlTest { .type(RbmActionTypeEnum.OPEN_URL) .text("text") .postbackData(new byte[]{1, 2, 3}) - .url(URI.create("https://bandwidth.com")); + .url(URI.create("https://bandwidth.com")) + .application(RbmOpenUrlEnum.BROWSER) + .webviewViewMode(RbmWebViewEnum.FULL); /** * Model tests for RbmActionOpenUrl diff --git a/src/test/java/com/bandwidth/sdk/unit/models/RbmOpenUrlEnumTest.java b/src/test/java/com/bandwidth/sdk/unit/models/RbmOpenUrlEnumTest.java new file mode 100644 index 00000000..7d10b2bd --- /dev/null +++ b/src/test/java/com/bandwidth/sdk/unit/models/RbmOpenUrlEnumTest.java @@ -0,0 +1,37 @@ +/* + * Bandwidth + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * + * 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.bandwidth.sdk.unit.models; + +import org.junit.jupiter.api.Test; + +import com.bandwidth.sdk.model.RbmOpenUrlEnum; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.MatcherAssert.assertThat; + + +/** + * Model tests for RbmOpenUrlEnum + */ +public class RbmOpenUrlEnumTest { + /** + * Model tests for RbmOpenUrlEnum + */ + @Test + public void testRbmOpenUrlEnum() { + assertThat(RbmOpenUrlEnum.BROWSER.toString(), equalTo("BROWSER")); + assertThat(RbmOpenUrlEnum.WEBVIEW.toString(), equalTo("WEBVIEW")); + } + +} diff --git a/src/test/java/com/bandwidth/sdk/unit/models/RbmWebViewEnumTest.java b/src/test/java/com/bandwidth/sdk/unit/models/RbmWebViewEnumTest.java new file mode 100644 index 00000000..2dff97b3 --- /dev/null +++ b/src/test/java/com/bandwidth/sdk/unit/models/RbmWebViewEnumTest.java @@ -0,0 +1,38 @@ +/* + * Bandwidth + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * + * 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.bandwidth.sdk.unit.models; + +import org.junit.jupiter.api.Test; + +import com.bandwidth.sdk.model.RbmWebViewEnum; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.MatcherAssert.assertThat; + + +/** + * Model tests for RbmWebViewEnum + */ +public class RbmWebViewEnumTest { + /** + * Model tests for RbmWebViewEnum + */ + @Test + public void testRbmWebViewEnum() { + assertThat(RbmWebViewEnum.FULL.toString(), equalTo("FULL")); + assertThat(RbmWebViewEnum.HALF.toString(), equalTo("HALF")); + assertThat(RbmWebViewEnum.TALL.toString(), equalTo("TALL")); + } + +}