diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 3ceb3aa40..25b00795d 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.500.0" + ".": "0.501.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index d5a949352..3e05b57f8 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 236 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-c8283ca199163ab2079f2cafac18348f54e96e9049864f39cd7e89958e80db0d.yml -openapi_spec_hash: a4f32a1c462a8ad1380f6a7a1d7b75ec +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-e3103e9bb8480e11581841c322e0bd0255b64413d401873c96cd00a3e6d6c3f7.yml +openapi_spec_hash: 962e1efe27066cf84b405a6695dd8288 config_hash: 4945e03affdf289484733306e4797f81 diff --git a/CHANGELOG.md b/CHANGELOG.md index a6720f32d..9c1a995fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## 0.501.0 (2026-04-02) + +Full Changelog: [v0.500.0...v0.501.0](https://github.com/Increase/increase-java/compare/v0.500.0...v0.501.0) + +### Features + +* **api:** api update ([d0acaa1](https://github.com/Increase/increase-java/commit/d0acaa1d195a2294f401c9998f95c20a5a4011f3)) + + +### Chores + +* **tests:** bump steady to v0.20.2 ([a4959e8](https://github.com/Increase/increase-java/commit/a4959e8519172b29f627a66217ea7e126765ab2d)) + ## 0.500.0 (2026-03-31) Full Changelog: [v0.499.0...v0.500.0](https://github.com/Increase/increase-java/compare/v0.499.0...v0.500.0) diff --git a/README.md b/README.md index a7737b491..733951020 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@ -[![Maven Central](https://img.shields.io/maven-central/v/com.increase.api/increase-java)](https://central.sonatype.com/artifact/com.increase.api/increase-java/0.500.0) -[![javadoc](https://javadoc.io/badge2/com.increase.api/increase-java/0.500.0/javadoc.svg)](https://javadoc.io/doc/com.increase.api/increase-java/0.500.0) +[![Maven Central](https://img.shields.io/maven-central/v/com.increase.api/increase-java)](https://central.sonatype.com/artifact/com.increase.api/increase-java/0.501.0) +[![javadoc](https://javadoc.io/badge2/com.increase.api/increase-java/0.501.0/javadoc.svg)](https://javadoc.io/doc/com.increase.api/increase-java/0.501.0) @@ -13,7 +13,7 @@ The Increase Java SDK is similar to the Increase Kotlin SDK but with minor diffe -The REST API documentation can be found on [increase.com](https://increase.com/documentation). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.increase.api/increase-java/0.500.0). +The REST API documentation can be found on [increase.com](https://increase.com/documentation). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.increase.api/increase-java/0.501.0). @@ -24,7 +24,7 @@ The REST API documentation can be found on [increase.com](https://increase.com/d ### Gradle ```kotlin -implementation("com.increase.api:increase-java:0.500.0") +implementation("com.increase.api:increase-java:0.501.0") ``` ### Maven @@ -33,7 +33,7 @@ implementation("com.increase.api:increase-java:0.500.0") com.increase.api increase-java - 0.500.0 + 0.501.0 ``` diff --git a/build.gradle.kts b/build.gradle.kts index 16b5bd49a..fa9d63672 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,7 @@ repositories { allprojects { group = "com.increase.api" - version = "0.500.0" // x-release-please-version + version = "0.501.0" // x-release-please-version } subprojects { diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/groups/Group.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/groups/Group.kt index db01d9e63..1777c3b37 100644 --- a/increase-java-core/src/main/kotlin/com/increase/api/models/groups/Group.kt +++ b/increase-java-core/src/main/kotlin/com/increase/api/models/groups/Group.kt @@ -28,8 +28,6 @@ class Group @JsonCreator(mode = JsonCreator.Mode.DISABLED) private constructor( private val id: JsonField, - private val achDebitStatus: JsonField, - private val activationStatus: JsonField, private val createdAt: JsonField, private val type: JsonField, private val additionalProperties: MutableMap, @@ -38,17 +36,11 @@ private constructor( @JsonCreator private constructor( @JsonProperty("id") @ExcludeMissing id: JsonField = JsonMissing.of(), - @JsonProperty("ach_debit_status") - @ExcludeMissing - achDebitStatus: JsonField = JsonMissing.of(), - @JsonProperty("activation_status") - @ExcludeMissing - activationStatus: JsonField = JsonMissing.of(), @JsonProperty("created_at") @ExcludeMissing createdAt: JsonField = JsonMissing.of(), @JsonProperty("type") @ExcludeMissing type: JsonField = JsonMissing.of(), - ) : this(id, achDebitStatus, activationStatus, createdAt, type, mutableMapOf()) + ) : this(id, createdAt, type, mutableMapOf()) /** * The Group identifier. @@ -58,22 +50,6 @@ private constructor( */ fun id(): String = id.getRequired("id") - /** - * If the Group is allowed to create ACH debits. - * - * @throws IncreaseInvalidDataException if the JSON field has an unexpected type or is - * unexpectedly missing or null (e.g. if the server responded with an unexpected value). - */ - fun achDebitStatus(): AchDebitStatus = achDebitStatus.getRequired("ach_debit_status") - - /** - * If the Group is activated or not. - * - * @throws IncreaseInvalidDataException if the JSON field has an unexpected type or is - * unexpectedly missing or null (e.g. if the server responded with an unexpected value). - */ - fun activationStatus(): ActivationStatus = activationStatus.getRequired("activation_status") - /** * The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the Group was created. * @@ -97,25 +73,6 @@ private constructor( */ @JsonProperty("id") @ExcludeMissing fun _id(): JsonField = id - /** - * Returns the raw JSON value of [achDebitStatus]. - * - * Unlike [achDebitStatus], this method doesn't throw if the JSON field has an unexpected type. - */ - @JsonProperty("ach_debit_status") - @ExcludeMissing - fun _achDebitStatus(): JsonField = achDebitStatus - - /** - * Returns the raw JSON value of [activationStatus]. - * - * Unlike [activationStatus], this method doesn't throw if the JSON field has an unexpected - * type. - */ - @JsonProperty("activation_status") - @ExcludeMissing - fun _activationStatus(): JsonField = activationStatus - /** * Returns the raw JSON value of [createdAt]. * @@ -152,8 +109,6 @@ private constructor( * The following fields are required: * ```java * .id() - * .achDebitStatus() - * .activationStatus() * .createdAt() * .type() * ``` @@ -165,8 +120,6 @@ private constructor( class Builder internal constructor() { private var id: JsonField? = null - private var achDebitStatus: JsonField? = null - private var activationStatus: JsonField? = null private var createdAt: JsonField? = null private var type: JsonField? = null private var additionalProperties: MutableMap = mutableMapOf() @@ -174,8 +127,6 @@ private constructor( @JvmSynthetic internal fun from(group: Group) = apply { id = group.id - achDebitStatus = group.achDebitStatus - activationStatus = group.activationStatus createdAt = group.createdAt type = group.type additionalProperties = group.additionalProperties.toMutableMap() @@ -192,36 +143,6 @@ private constructor( */ fun id(id: JsonField) = apply { this.id = id } - /** If the Group is allowed to create ACH debits. */ - fun achDebitStatus(achDebitStatus: AchDebitStatus) = - achDebitStatus(JsonField.of(achDebitStatus)) - - /** - * Sets [Builder.achDebitStatus] to an arbitrary JSON value. - * - * You should usually call [Builder.achDebitStatus] with a well-typed [AchDebitStatus] value - * instead. This method is primarily for setting the field to an undocumented or not yet - * supported value. - */ - fun achDebitStatus(achDebitStatus: JsonField) = apply { - this.achDebitStatus = achDebitStatus - } - - /** If the Group is activated or not. */ - fun activationStatus(activationStatus: ActivationStatus) = - activationStatus(JsonField.of(activationStatus)) - - /** - * Sets [Builder.activationStatus] to an arbitrary JSON value. - * - * You should usually call [Builder.activationStatus] with a well-typed [ActivationStatus] - * value instead. This method is primarily for setting the field to an undocumented or not - * yet supported value. - */ - fun activationStatus(activationStatus: JsonField) = apply { - this.activationStatus = activationStatus - } - /** * The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the Group was * created. @@ -277,8 +198,6 @@ private constructor( * The following fields are required: * ```java * .id() - * .achDebitStatus() - * .activationStatus() * .createdAt() * .type() * ``` @@ -288,8 +207,6 @@ private constructor( fun build(): Group = Group( checkRequired("id", id), - checkRequired("achDebitStatus", achDebitStatus), - checkRequired("activationStatus", activationStatus), checkRequired("createdAt", createdAt), checkRequired("type", type), additionalProperties.toMutableMap(), @@ -304,8 +221,6 @@ private constructor( } id() - achDebitStatus().validate() - activationStatus().validate() createdAt() type().validate() validated = true @@ -327,287 +242,9 @@ private constructor( @JvmSynthetic internal fun validity(): Int = (if (id.asKnown().isPresent) 1 else 0) + - (achDebitStatus.asKnown().getOrNull()?.validity() ?: 0) + - (activationStatus.asKnown().getOrNull()?.validity() ?: 0) + (if (createdAt.asKnown().isPresent) 1 else 0) + (type.asKnown().getOrNull()?.validity() ?: 0) - /** If the Group is allowed to create ACH debits. */ - class AchDebitStatus @JsonCreator private constructor(private val value: JsonField) : - Enum { - - /** - * Returns this class instance's raw value. - * - * This is usually only useful if this instance was deserialized from data that doesn't - * match any known member, and you want to know that value. For example, if the SDK is on an - * older version than the API, then the API may respond with new members that the SDK is - * unaware of. - */ - @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value - - companion object { - - /** The Group cannot make ACH debits. */ - @JvmField val DISABLED = of("disabled") - - /** The Group can make ACH debits. */ - @JvmField val ENABLED = of("enabled") - - @JvmStatic fun of(value: String) = AchDebitStatus(JsonField.of(value)) - } - - /** An enum containing [AchDebitStatus]'s known values. */ - enum class Known { - /** The Group cannot make ACH debits. */ - DISABLED, - /** The Group can make ACH debits. */ - ENABLED, - } - - /** - * An enum containing [AchDebitStatus]'s known values, as well as an [_UNKNOWN] member. - * - * An instance of [AchDebitStatus] can contain an unknown value in a couple of cases: - * - It was deserialized from data that doesn't match any known member. For example, if the - * SDK is on an older version than the API, then the API may respond with new members that - * the SDK is unaware of. - * - It was constructed with an arbitrary value using the [of] method. - */ - enum class Value { - /** The Group cannot make ACH debits. */ - DISABLED, - /** The Group can make ACH debits. */ - ENABLED, - /** - * An enum member indicating that [AchDebitStatus] was instantiated with an unknown - * value. - */ - _UNKNOWN, - } - - /** - * Returns an enum member corresponding to this class instance's value, or [Value._UNKNOWN] - * if the class was instantiated with an unknown value. - * - * Use the [known] method instead if you're certain the value is always known or if you want - * to throw for the unknown case. - */ - fun value(): Value = - when (this) { - DISABLED -> Value.DISABLED - ENABLED -> Value.ENABLED - else -> Value._UNKNOWN - } - - /** - * Returns an enum member corresponding to this class instance's value. - * - * Use the [value] method instead if you're uncertain the value is always known and don't - * want to throw for the unknown case. - * - * @throws IncreaseInvalidDataException if this class instance's value is a not a known - * member. - */ - fun known(): Known = - when (this) { - DISABLED -> Known.DISABLED - ENABLED -> Known.ENABLED - else -> throw IncreaseInvalidDataException("Unknown AchDebitStatus: $value") - } - - /** - * Returns this class instance's primitive wire representation. - * - * This differs from the [toString] method because that method is primarily for debugging - * and generally doesn't throw. - * - * @throws IncreaseInvalidDataException if this class instance's value does not have the - * expected primitive type. - */ - fun asString(): String = - _value().asString().orElseThrow { - IncreaseInvalidDataException("Value is not a String") - } - - private var validated: Boolean = false - - fun validate(): AchDebitStatus = apply { - if (validated) { - return@apply - } - - known() - validated = true - } - - fun isValid(): Boolean = - try { - validate() - true - } catch (e: IncreaseInvalidDataException) { - false - } - - /** - * Returns a score indicating how many valid values are contained in this object - * recursively. - * - * Used for best match union deserialization. - */ - @JvmSynthetic internal fun validity(): Int = if (value() == Value._UNKNOWN) 0 else 1 - - override fun equals(other: Any?): Boolean { - if (this === other) { - return true - } - - return other is AchDebitStatus && value == other.value - } - - override fun hashCode() = value.hashCode() - - override fun toString() = value.toString() - } - - /** If the Group is activated or not. */ - class ActivationStatus @JsonCreator private constructor(private val value: JsonField) : - Enum { - - /** - * Returns this class instance's raw value. - * - * This is usually only useful if this instance was deserialized from data that doesn't - * match any known member, and you want to know that value. For example, if the SDK is on an - * older version than the API, then the API may respond with new members that the SDK is - * unaware of. - */ - @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value - - companion object { - - /** The Group is not activated. */ - @JvmField val UNACTIVATED = of("unactivated") - - /** The Group is activated. */ - @JvmField val ACTIVATED = of("activated") - - @JvmStatic fun of(value: String) = ActivationStatus(JsonField.of(value)) - } - - /** An enum containing [ActivationStatus]'s known values. */ - enum class Known { - /** The Group is not activated. */ - UNACTIVATED, - /** The Group is activated. */ - ACTIVATED, - } - - /** - * An enum containing [ActivationStatus]'s known values, as well as an [_UNKNOWN] member. - * - * An instance of [ActivationStatus] can contain an unknown value in a couple of cases: - * - It was deserialized from data that doesn't match any known member. For example, if the - * SDK is on an older version than the API, then the API may respond with new members that - * the SDK is unaware of. - * - It was constructed with an arbitrary value using the [of] method. - */ - enum class Value { - /** The Group is not activated. */ - UNACTIVATED, - /** The Group is activated. */ - ACTIVATED, - /** - * An enum member indicating that [ActivationStatus] was instantiated with an unknown - * value. - */ - _UNKNOWN, - } - - /** - * Returns an enum member corresponding to this class instance's value, or [Value._UNKNOWN] - * if the class was instantiated with an unknown value. - * - * Use the [known] method instead if you're certain the value is always known or if you want - * to throw for the unknown case. - */ - fun value(): Value = - when (this) { - UNACTIVATED -> Value.UNACTIVATED - ACTIVATED -> Value.ACTIVATED - else -> Value._UNKNOWN - } - - /** - * Returns an enum member corresponding to this class instance's value. - * - * Use the [value] method instead if you're uncertain the value is always known and don't - * want to throw for the unknown case. - * - * @throws IncreaseInvalidDataException if this class instance's value is a not a known - * member. - */ - fun known(): Known = - when (this) { - UNACTIVATED -> Known.UNACTIVATED - ACTIVATED -> Known.ACTIVATED - else -> throw IncreaseInvalidDataException("Unknown ActivationStatus: $value") - } - - /** - * Returns this class instance's primitive wire representation. - * - * This differs from the [toString] method because that method is primarily for debugging - * and generally doesn't throw. - * - * @throws IncreaseInvalidDataException if this class instance's value does not have the - * expected primitive type. - */ - fun asString(): String = - _value().asString().orElseThrow { - IncreaseInvalidDataException("Value is not a String") - } - - private var validated: Boolean = false - - fun validate(): ActivationStatus = apply { - if (validated) { - return@apply - } - - known() - validated = true - } - - fun isValid(): Boolean = - try { - validate() - true - } catch (e: IncreaseInvalidDataException) { - false - } - - /** - * Returns a score indicating how many valid values are contained in this object - * recursively. - * - * Used for best match union deserialization. - */ - @JvmSynthetic internal fun validity(): Int = if (value() == Value._UNKNOWN) 0 else 1 - - override fun equals(other: Any?): Boolean { - if (this === other) { - return true - } - - return other is ActivationStatus && value == other.value - } - - override fun hashCode() = value.hashCode() - - override fun toString() = value.toString() - } - /** A constant representing the object's type. For this resource it will always be `group`. */ class Type @JsonCreator private constructor(private val value: JsonField) : Enum { @@ -737,19 +374,15 @@ private constructor( return other is Group && id == other.id && - achDebitStatus == other.achDebitStatus && - activationStatus == other.activationStatus && createdAt == other.createdAt && type == other.type && additionalProperties == other.additionalProperties } - private val hashCode: Int by lazy { - Objects.hash(id, achDebitStatus, activationStatus, createdAt, type, additionalProperties) - } + private val hashCode: Int by lazy { Objects.hash(id, createdAt, type, additionalProperties) } override fun hashCode(): Int = hashCode override fun toString() = - "Group{id=$id, achDebitStatus=$achDebitStatus, activationStatus=$activationStatus, createdAt=$createdAt, type=$type, additionalProperties=$additionalProperties}" + "Group{id=$id, createdAt=$createdAt, type=$type, additionalProperties=$additionalProperties}" } diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/groups/GroupTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/groups/GroupTest.kt index 1aca08776..85175130a 100644 --- a/increase-java-core/src/test/kotlin/com/increase/api/models/groups/GroupTest.kt +++ b/increase-java-core/src/test/kotlin/com/increase/api/models/groups/GroupTest.kt @@ -15,15 +15,11 @@ internal class GroupTest { val group = Group.builder() .id("group_1g4mhziu6kvrs3vz35um") - .achDebitStatus(Group.AchDebitStatus.DISABLED) - .activationStatus(Group.ActivationStatus.ACTIVATED) .createdAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) .type(Group.Type.GROUP) .build() assertThat(group.id()).isEqualTo("group_1g4mhziu6kvrs3vz35um") - assertThat(group.achDebitStatus()).isEqualTo(Group.AchDebitStatus.DISABLED) - assertThat(group.activationStatus()).isEqualTo(Group.ActivationStatus.ACTIVATED) assertThat(group.createdAt()).isEqualTo(OffsetDateTime.parse("2020-01-31T23:59:59Z")) assertThat(group.type()).isEqualTo(Group.Type.GROUP) } @@ -34,8 +30,6 @@ internal class GroupTest { val group = Group.builder() .id("group_1g4mhziu6kvrs3vz35um") - .achDebitStatus(Group.AchDebitStatus.DISABLED) - .activationStatus(Group.ActivationStatus.ACTIVATED) .createdAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) .type(Group.Type.GROUP) .build() diff --git a/scripts/mock b/scripts/mock index 01313f231..1aea7aabe 100755 --- a/scripts/mock +++ b/scripts/mock @@ -22,9 +22,9 @@ echo "==> Starting mock server with URL ${URL}" # Run steady mock on the given spec if [ "$1" == "--daemon" ]; then # Pre-install the package so the download doesn't eat into the startup timeout - npm exec --package=@stdy/cli@0.20.1 -- steady --version + npm exec --package=@stdy/cli@0.20.2 -- steady --version - npm exec --package=@stdy/cli@0.20.1 -- steady --host 127.0.0.1 -p 4010 --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=dots --validator-form-object-format=dots "$URL" &> .stdy.log & + npm exec --package=@stdy/cli@0.20.2 -- steady --host 127.0.0.1 -p 4010 --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=dots --validator-form-object-format=dots "$URL" &> .stdy.log & # Wait for server to come online via health endpoint (max 30s) echo -n "Waiting for server" @@ -48,5 +48,5 @@ if [ "$1" == "--daemon" ]; then echo else - npm exec --package=@stdy/cli@0.20.1 -- steady --host 127.0.0.1 -p 4010 --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=dots --validator-form-object-format=dots "$URL" + npm exec --package=@stdy/cli@0.20.2 -- steady --host 127.0.0.1 -p 4010 --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=dots --validator-form-object-format=dots "$URL" fi diff --git a/scripts/test b/scripts/test index 103a32894..473c4547c 100755 --- a/scripts/test +++ b/scripts/test @@ -43,7 +43,7 @@ elif ! steady_is_running ; then echo -e "To run the server, pass in the path or url of your OpenAPI" echo -e "spec to the steady command:" echo - echo -e " \$ ${YELLOW}npm exec --package=@stdy/cli@0.20.1 -- steady path/to/your.openapi.yml --host 127.0.0.1 -p 4010 --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=dots --validator-form-object-format=dots${NC}" + echo -e " \$ ${YELLOW}npm exec --package=@stdy/cli@0.20.2 -- steady path/to/your.openapi.yml --host 127.0.0.1 -p 4010 --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=dots --validator-form-object-format=dots${NC}" echo exit 1