From 954b3b9ae3b00d96ab10e3def7a0092ddd526353 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 17 Jul 2025 19:34:45 +0000 Subject: [PATCH 1/3] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 076aae75a..e5f614ec2 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 202 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-c9d527ceb849bd9a01edc968016381f25fcc375a1409eb113d7e876ae0f2f529.yml -openapi_spec_hash: c7820089282fc6db267d08eaa465075f +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-c3c84498ed204ebe6297ac77700cd63bf1353915e4577508baabf8ed1e4201ae.yml +openapi_spec_hash: e6cfa093a4bba7d0d1961515b0aed651 config_hash: a185e9a72778cc4658ea73fb3a7f1354 From 2c1eded480a9e5cce5c5166ea73288745fd2d4e5 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 18 Jul 2025 17:13:12 +0000 Subject: [PATCH 2/3] feat(api): api update --- .stats.yml | 4 +- .../models/accounts/AccountUpdateParams.kt | 84 +++++++++++++++++-- .../accounts/AccountUpdateParamsTest.kt | 3 + .../services/async/AccountServiceAsyncTest.kt | 1 + .../services/blocking/AccountServiceTest.kt | 1 + 5 files changed, 84 insertions(+), 9 deletions(-) diff --git a/.stats.yml b/.stats.yml index e5f614ec2..b26d90908 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 202 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-c3c84498ed204ebe6297ac77700cd63bf1353915e4577508baabf8ed1e4201ae.yml -openapi_spec_hash: e6cfa093a4bba7d0d1961515b0aed651 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-7f26440e2137fb4f39521c361e76d56bad7c56d81cd06d0677d7735e73f7c160.yml +openapi_spec_hash: aa475d425f493e41eb8485ae17a3d0f9 config_hash: a185e9a72778cc4658ea73fb3a7f1354 diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/accounts/AccountUpdateParams.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/accounts/AccountUpdateParams.kt index c7b4c9b04..6e538c4c7 100644 --- a/increase-java-core/src/main/kotlin/com/increase/api/models/accounts/AccountUpdateParams.kt +++ b/increase-java-core/src/main/kotlin/com/increase/api/models/accounts/AccountUpdateParams.kt @@ -31,6 +31,14 @@ private constructor( /** The identifier of the Account to update. */ fun accountId(): Optional = Optional.ofNullable(accountId) + /** + * The new credit limit of the Account, if and only if the Account is a loan account. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if the + * server responded with an unexpected value). + */ + fun creditLimit(): Optional = body.creditLimit() + /** * The new name of the Account. * @@ -39,6 +47,13 @@ private constructor( */ fun name(): Optional = body.name() + /** + * Returns the raw JSON value of [creditLimit]. + * + * Unlike [creditLimit], this method doesn't throw if the JSON field has an unexpected type. + */ + fun _creditLimit(): JsonField = body._creditLimit() + /** * Returns the raw JSON value of [name]. * @@ -89,10 +104,23 @@ private constructor( * * This is generally only useful if you are already constructing the body separately. * Otherwise, it's more convenient to use the top-level setters instead: + * - [creditLimit] * - [name] */ fun body(body: Body) = apply { this.body = body.toBuilder() } + /** The new credit limit of the Account, if and only if the Account is a loan account. */ + fun creditLimit(creditLimit: Long) = apply { body.creditLimit(creditLimit) } + + /** + * Sets [Builder.creditLimit] to an arbitrary JSON value. + * + * You should usually call [Builder.creditLimit] with a well-typed [Long] value instead. + * This method is primarily for setting the field to an undocumented or not yet supported + * value. + */ + fun creditLimit(creditLimit: JsonField) = apply { body.creditLimit(creditLimit) } + /** The new name of the Account. */ fun name(name: String) = apply { body.name(name) } @@ -249,14 +277,26 @@ private constructor( class Body private constructor( + private val creditLimit: JsonField, private val name: JsonField, private val additionalProperties: MutableMap, ) { @JsonCreator private constructor( - @JsonProperty("name") @ExcludeMissing name: JsonField = JsonMissing.of() - ) : this(name, mutableMapOf()) + @JsonProperty("credit_limit") + @ExcludeMissing + creditLimit: JsonField = JsonMissing.of(), + @JsonProperty("name") @ExcludeMissing name: JsonField = JsonMissing.of(), + ) : this(creditLimit, name, mutableMapOf()) + + /** + * The new credit limit of the Account, if and only if the Account is a loan account. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if + * the server responded with an unexpected value). + */ + fun creditLimit(): Optional = creditLimit.getOptional("credit_limit") /** * The new name of the Account. @@ -266,6 +306,15 @@ private constructor( */ fun name(): Optional = name.getOptional("name") + /** + * Returns the raw JSON value of [creditLimit]. + * + * Unlike [creditLimit], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("credit_limit") + @ExcludeMissing + fun _creditLimit(): JsonField = creditLimit + /** * Returns the raw JSON value of [name]. * @@ -294,15 +343,31 @@ private constructor( /** A builder for [Body]. */ class Builder internal constructor() { + private var creditLimit: JsonField = JsonMissing.of() private var name: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @JvmSynthetic internal fun from(body: Body) = apply { + creditLimit = body.creditLimit name = body.name additionalProperties = body.additionalProperties.toMutableMap() } + /** + * The new credit limit of the Account, if and only if the Account is a loan account. + */ + fun creditLimit(creditLimit: Long) = creditLimit(JsonField.of(creditLimit)) + + /** + * Sets [Builder.creditLimit] to an arbitrary JSON value. + * + * You should usually call [Builder.creditLimit] with a well-typed [Long] value instead. + * This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun creditLimit(creditLimit: JsonField) = apply { this.creditLimit = creditLimit } + /** The new name of the Account. */ fun name(name: String) = name(JsonField.of(name)) @@ -339,7 +404,7 @@ private constructor( * * Further updates to this [Builder] will not mutate the returned instance. */ - fun build(): Body = Body(name, additionalProperties.toMutableMap()) + fun build(): Body = Body(creditLimit, name, additionalProperties.toMutableMap()) } private var validated: Boolean = false @@ -349,6 +414,7 @@ private constructor( return@apply } + creditLimit() name() validated = true } @@ -367,23 +433,27 @@ private constructor( * * Used for best match union deserialization. */ - @JvmSynthetic internal fun validity(): Int = (if (name.asKnown().isPresent) 1 else 0) + @JvmSynthetic + internal fun validity(): Int = + (if (creditLimit.asKnown().isPresent) 1 else 0) + + (if (name.asKnown().isPresent) 1 else 0) override fun equals(other: Any?): Boolean { if (this === other) { return true } - return /* spotless:off */ other is Body && name == other.name && additionalProperties == other.additionalProperties /* spotless:on */ + return /* spotless:off */ other is Body && creditLimit == other.creditLimit && name == other.name && additionalProperties == other.additionalProperties /* spotless:on */ } /* spotless:off */ - private val hashCode: Int by lazy { Objects.hash(name, additionalProperties) } + private val hashCode: Int by lazy { Objects.hash(creditLimit, name, additionalProperties) } /* spotless:on */ override fun hashCode(): Int = hashCode - override fun toString() = "Body{name=$name, additionalProperties=$additionalProperties}" + override fun toString() = + "Body{creditLimit=$creditLimit, name=$name, additionalProperties=$additionalProperties}" } override fun equals(other: Any?): Boolean { diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/accounts/AccountUpdateParamsTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/accounts/AccountUpdateParamsTest.kt index bd0e0b3e9..f5cb65853 100644 --- a/increase-java-core/src/test/kotlin/com/increase/api/models/accounts/AccountUpdateParamsTest.kt +++ b/increase-java-core/src/test/kotlin/com/increase/api/models/accounts/AccountUpdateParamsTest.kt @@ -11,6 +11,7 @@ internal class AccountUpdateParamsTest { fun create() { AccountUpdateParams.builder() .accountId("account_in71c4amph0vgo2qllky") + .creditLimit(0L) .name("My renamed account") .build() } @@ -29,11 +30,13 @@ internal class AccountUpdateParamsTest { val params = AccountUpdateParams.builder() .accountId("account_in71c4amph0vgo2qllky") + .creditLimit(0L) .name("My renamed account") .build() val body = params._body() + assertThat(body.creditLimit()).contains(0L) assertThat(body.name()).contains("My renamed account") } diff --git a/increase-java-core/src/test/kotlin/com/increase/api/services/async/AccountServiceAsyncTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/services/async/AccountServiceAsyncTest.kt index 8363c6030..0483ee5a1 100644 --- a/increase-java-core/src/test/kotlin/com/increase/api/services/async/AccountServiceAsyncTest.kt +++ b/increase-java-core/src/test/kotlin/com/increase/api/services/async/AccountServiceAsyncTest.kt @@ -65,6 +65,7 @@ internal class AccountServiceAsyncTest { accountServiceAsync.update( AccountUpdateParams.builder() .accountId("account_in71c4amph0vgo2qllky") + .creditLimit(0L) .name("My renamed account") .build() ) diff --git a/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/AccountServiceTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/AccountServiceTest.kt index c942dafad..299f3c373 100644 --- a/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/AccountServiceTest.kt +++ b/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/AccountServiceTest.kt @@ -63,6 +63,7 @@ internal class AccountServiceTest { accountService.update( AccountUpdateParams.builder() .accountId("account_in71c4amph0vgo2qllky") + .creditLimit(0L) .name("My renamed account") .build() ) From c3d574231e331fb3ec9571792081226f01d878e0 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 18 Jul 2025 17:13:46 +0000 Subject: [PATCH 3/3] release: 0.262.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 8 ++++++++ README.md | 10 +++++----- build.gradle.kts | 2 +- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 28af77b1d..37458fa12 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.261.1" + ".": "0.262.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ebd13b22..0cf6e97eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.262.0 (2025-07-18) + +Full Changelog: [v0.261.1...v0.262.0](https://github.com/Increase/increase-java/compare/v0.261.1...v0.262.0) + +### Features + +* **api:** api update ([2c1eded](https://github.com/Increase/increase-java/commit/2c1eded480a9e5cce5c5166ea73288745fd2d4e5)) + ## 0.261.1 (2025-07-17) Full Changelog: [v0.261.0...v0.261.1](https://github.com/Increase/increase-java/compare/v0.261.0...v0.261.1) diff --git a/README.md b/README.md index d5ab6c6e7..d33e33ee9 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.261.1) -[![javadoc](https://javadoc.io/badge2/com.increase.api/increase-java/0.261.1/javadoc.svg)](https://javadoc.io/doc/com.increase.api/increase-java/0.261.1) +[![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.262.0) +[![javadoc](https://javadoc.io/badge2/com.increase.api/increase-java/0.262.0/javadoc.svg)](https://javadoc.io/doc/com.increase.api/increase-java/0.262.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.261.1). +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.262.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.261.1") +implementation("com.increase.api:increase-java:0.262.0") ``` ### Maven @@ -33,7 +33,7 @@ implementation("com.increase.api:increase-java:0.261.1") com.increase.api increase-java - 0.261.1 + 0.262.0 ``` diff --git a/build.gradle.kts b/build.gradle.kts index 25e9a3aba..0a341c72e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,7 @@ repositories { allprojects { group = "com.increase.api" - version = "0.261.1" // x-release-please-version + version = "0.262.0" // x-release-please-version } subprojects {