From a9473be1bd53f82d47215f4b3b1f8c128a921823 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 23:28:34 +0000 Subject: [PATCH 1/2] feat(api): api update --- .stats.yml | 4 +- .../com/increase/api/models/exports/Export.kt | 350 ++++++++++++++++- .../api/models/exports/ExportCreateParams.kt | 351 +++++++++++++++++- .../api/models/exports/ExportListParams.kt | 18 + .../models/exports/ExportCreateParamsTest.kt | 22 ++ .../exports/ExportListPageResponseTest.kt | 21 ++ .../increase/api/models/exports/ExportTest.kt | 22 ++ .../services/async/ExportServiceAsyncTest.kt | 7 + .../services/blocking/ExportServiceTest.kt | 7 + 9 files changed, 798 insertions(+), 4 deletions(-) diff --git a/.stats.yml b/.stats.yml index cc2badb61..cbaea0f5d 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 241 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-8bbf0093efa65975131da3735f2adc0ec05432cde8c05e9c9796bc7d553103ae.yml -openapi_spec_hash: 5080ba849a5b100ace3bec9da24d4dc7 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-f4f26466e66f9f8c45d2291dac32c1de360e4bb73cac74c5ea5125359dc75fa5.yml +openapi_spec_hash: 4aa51886cd76bc38a881dcea41020d99 config_hash: d48e9f65bcf642f92610034d6c43f07a diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/exports/Export.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/exports/Export.kt index 08d60d4ec..88b551fd6 100644 --- a/increase-java-core/src/main/kotlin/com/increase/api/models/exports/Export.kt +++ b/increase-java-core/src/main/kotlin/com/increase/api/models/exports/Export.kt @@ -39,6 +39,7 @@ private constructor( private val bookkeepingAccountBalanceCsv: JsonField, private val category: JsonField, private val createdAt: JsonField, + private val dailyAccountBalanceCsv: JsonField, private val dashboardTableCsv: JsonField, private val entityCsv: JsonField, private val feeCsv: JsonField, @@ -77,6 +78,9 @@ private constructor( @JsonProperty("created_at") @ExcludeMissing createdAt: JsonField = JsonMissing.of(), + @JsonProperty("daily_account_balance_csv") + @ExcludeMissing + dailyAccountBalanceCsv: JsonField = JsonMissing.of(), @JsonProperty("dashboard_table_csv") @ExcludeMissing dashboardTableCsv: JsonField = JsonMissing.of(), @@ -117,6 +121,7 @@ private constructor( bookkeepingAccountBalanceCsv, category, createdAt, + dailyAccountBalanceCsv, dashboardTableCsv, entityCsv, feeCsv, @@ -207,6 +212,16 @@ private constructor( */ fun createdAt(): OffsetDateTime = createdAt.getRequired("created_at") + /** + * Details of the daily account balance CSV export. This field will be present when the + * `category` is equal to `daily_account_balance_csv`. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if the + * server responded with an unexpected value). + */ + fun dailyAccountBalanceCsv(): Optional = + dailyAccountBalanceCsv.getOptional("daily_account_balance_csv") + /** * Details of the dashboard table CSV export. This field will be present when the `category` is * equal to `dashboard_table_csv`. @@ -399,6 +414,16 @@ private constructor( @ExcludeMissing fun _createdAt(): JsonField = createdAt + /** + * Returns the raw JSON value of [dailyAccountBalanceCsv]. + * + * Unlike [dailyAccountBalanceCsv], this method doesn't throw if the JSON field has an + * unexpected type. + */ + @JsonProperty("daily_account_balance_csv") + @ExcludeMissing + fun _dailyAccountBalanceCsv(): JsonField = dailyAccountBalanceCsv + /** * Returns the raw JSON value of [dashboardTableCsv]. * @@ -533,6 +558,7 @@ private constructor( * .bookkeepingAccountBalanceCsv() * .category() * .createdAt() + * .dailyAccountBalanceCsv() * .dashboardTableCsv() * .entityCsv() * .feeCsv() @@ -562,6 +588,7 @@ private constructor( private var bookkeepingAccountBalanceCsv: JsonField? = null private var category: JsonField? = null private var createdAt: JsonField? = null + private var dailyAccountBalanceCsv: JsonField? = null private var dashboardTableCsv: JsonField? = null private var entityCsv: JsonField? = null private var feeCsv: JsonField? = null @@ -587,6 +614,7 @@ private constructor( bookkeepingAccountBalanceCsv = export.bookkeepingAccountBalanceCsv category = export.category createdAt = export.createdAt + dailyAccountBalanceCsv = export.dailyAccountBalanceCsv dashboardTableCsv = export.dashboardTableCsv entityCsv = export.entityCsv feeCsv = export.feeCsv @@ -761,6 +789,32 @@ private constructor( */ fun createdAt(createdAt: JsonField) = apply { this.createdAt = createdAt } + /** + * Details of the daily account balance CSV export. This field will be present when the + * `category` is equal to `daily_account_balance_csv`. + */ + fun dailyAccountBalanceCsv(dailyAccountBalanceCsv: DailyAccountBalanceCsv?) = + dailyAccountBalanceCsv(JsonField.ofNullable(dailyAccountBalanceCsv)) + + /** + * Alias for calling [Builder.dailyAccountBalanceCsv] with + * `dailyAccountBalanceCsv.orElse(null)`. + */ + fun dailyAccountBalanceCsv(dailyAccountBalanceCsv: Optional) = + dailyAccountBalanceCsv(dailyAccountBalanceCsv.getOrNull()) + + /** + * Sets [Builder.dailyAccountBalanceCsv] to an arbitrary JSON value. + * + * You should usually call [Builder.dailyAccountBalanceCsv] with a well-typed + * [DailyAccountBalanceCsv] value instead. This method is primarily for setting the field to + * an undocumented or not yet supported value. + */ + fun dailyAccountBalanceCsv(dailyAccountBalanceCsv: JsonField) = + apply { + this.dailyAccountBalanceCsv = dailyAccountBalanceCsv + } + /** * Details of the dashboard table CSV export. This field will be present when the `category` * is equal to `dashboard_table_csv`. @@ -1042,6 +1096,7 @@ private constructor( * .bookkeepingAccountBalanceCsv() * .category() * .createdAt() + * .dailyAccountBalanceCsv() * .dashboardTableCsv() * .entityCsv() * .feeCsv() @@ -1069,6 +1124,7 @@ private constructor( checkRequired("bookkeepingAccountBalanceCsv", bookkeepingAccountBalanceCsv), checkRequired("category", category), checkRequired("createdAt", createdAt), + checkRequired("dailyAccountBalanceCsv", dailyAccountBalanceCsv), checkRequired("dashboardTableCsv", dashboardTableCsv), checkRequired("entityCsv", entityCsv), checkRequired("feeCsv", feeCsv), @@ -1101,6 +1157,7 @@ private constructor( bookkeepingAccountBalanceCsv().ifPresent { it.validate() } category().validate() createdAt() + dailyAccountBalanceCsv().ifPresent { it.validate() } dashboardTableCsv().ifPresent { it.validate() } entityCsv().ifPresent { it.validate() } feeCsv().ifPresent { it.validate() } @@ -1140,6 +1197,7 @@ private constructor( (bookkeepingAccountBalanceCsv.asKnown().getOrNull()?.validity() ?: 0) + (category.asKnown().getOrNull()?.validity() ?: 0) + (if (createdAt.asKnown().isPresent) 1 else 0) + + (dailyAccountBalanceCsv.asKnown().getOrNull()?.validity() ?: 0) + (dashboardTableCsv.asKnown().getOrNull()?.validity() ?: 0) + (entityCsv.asKnown().getOrNull()?.validity() ?: 0) + (feeCsv.asKnown().getOrNull()?.validity() ?: 0) + @@ -3012,6 +3070,12 @@ private constructor( /** A PDF of a voided check. */ @JvmField val VOIDED_CHECK = of("voided_check") + /** + * Export a CSV of daily account balances with starting and ending balances for a given + * date range. + */ + @JvmField val DAILY_ACCOUNT_BALANCE_CSV = of("daily_account_balance_csv") + @JvmStatic fun of(value: String) = Category(JsonField.of(value)) } @@ -3057,6 +3121,11 @@ private constructor( FEE_CSV, /** A PDF of a voided check. */ VOIDED_CHECK, + /** + * Export a CSV of daily account balances with starting and ending balances for a given + * date range. + */ + DAILY_ACCOUNT_BALANCE_CSV, } /** @@ -3109,6 +3178,11 @@ private constructor( FEE_CSV, /** A PDF of a voided check. */ VOIDED_CHECK, + /** + * Export a CSV of daily account balances with starting and ending balances for a given + * date range. + */ + DAILY_ACCOUNT_BALANCE_CSV, /** An enum member indicating that [Category] was instantiated with an unknown value. */ _UNKNOWN, } @@ -3136,6 +3210,7 @@ private constructor( FORM_1099_MISC -> Value.FORM_1099_MISC FEE_CSV -> Value.FEE_CSV VOIDED_CHECK -> Value.VOIDED_CHECK + DAILY_ACCOUNT_BALANCE_CSV -> Value.DAILY_ACCOUNT_BALANCE_CSV else -> Value._UNKNOWN } @@ -3164,6 +3239,7 @@ private constructor( FORM_1099_MISC -> Known.FORM_1099_MISC FEE_CSV -> Known.FEE_CSV VOIDED_CHECK -> Known.VOIDED_CHECK + DAILY_ACCOUNT_BALANCE_CSV -> Known.DAILY_ACCOUNT_BALANCE_CSV else -> throw IncreaseInvalidDataException("Unknown Category: $value") } @@ -3221,6 +3297,276 @@ private constructor( override fun toString() = value.toString() } + /** + * Details of the daily account balance CSV export. This field will be present when the + * `category` is equal to `daily_account_balance_csv`. + */ + class DailyAccountBalanceCsv + @JsonCreator(mode = JsonCreator.Mode.DISABLED) + private constructor( + private val accountId: JsonField, + private val onOrAfterDate: JsonField, + private val onOrBeforeDate: JsonField, + private val additionalProperties: MutableMap, + ) { + + @JsonCreator + private constructor( + @JsonProperty("account_id") + @ExcludeMissing + accountId: JsonField = JsonMissing.of(), + @JsonProperty("on_or_after_date") + @ExcludeMissing + onOrAfterDate: JsonField = JsonMissing.of(), + @JsonProperty("on_or_before_date") + @ExcludeMissing + onOrBeforeDate: JsonField = JsonMissing.of(), + ) : this(accountId, onOrAfterDate, onOrBeforeDate, mutableMapOf()) + + /** + * Filter results by Account. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if + * the server responded with an unexpected value). + */ + fun accountId(): Optional = accountId.getOptional("account_id") + + /** + * Filter balances on or after this date. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if + * the server responded with an unexpected value). + */ + fun onOrAfterDate(): Optional = onOrAfterDate.getOptional("on_or_after_date") + + /** + * Filter balances on or before this date. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if + * the server responded with an unexpected value). + */ + fun onOrBeforeDate(): Optional = onOrBeforeDate.getOptional("on_or_before_date") + + /** + * Returns the raw JSON value of [accountId]. + * + * Unlike [accountId], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("account_id") @ExcludeMissing fun _accountId(): JsonField = accountId + + /** + * Returns the raw JSON value of [onOrAfterDate]. + * + * Unlike [onOrAfterDate], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("on_or_after_date") + @ExcludeMissing + fun _onOrAfterDate(): JsonField = onOrAfterDate + + /** + * Returns the raw JSON value of [onOrBeforeDate]. + * + * Unlike [onOrBeforeDate], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("on_or_before_date") + @ExcludeMissing + fun _onOrBeforeDate(): JsonField = onOrBeforeDate + + @JsonAnySetter + private fun putAdditionalProperty(key: String, value: JsonValue) { + additionalProperties.put(key, value) + } + + @JsonAnyGetter + @ExcludeMissing + fun _additionalProperties(): Map = + Collections.unmodifiableMap(additionalProperties) + + fun toBuilder() = Builder().from(this) + + companion object { + + /** + * Returns a mutable builder for constructing an instance of [DailyAccountBalanceCsv]. + * + * The following fields are required: + * ```java + * .accountId() + * .onOrAfterDate() + * .onOrBeforeDate() + * ``` + */ + @JvmStatic fun builder() = Builder() + } + + /** A builder for [DailyAccountBalanceCsv]. */ + class Builder internal constructor() { + + private var accountId: JsonField? = null + private var onOrAfterDate: JsonField? = null + private var onOrBeforeDate: JsonField? = null + private var additionalProperties: MutableMap = mutableMapOf() + + @JvmSynthetic + internal fun from(dailyAccountBalanceCsv: DailyAccountBalanceCsv) = apply { + accountId = dailyAccountBalanceCsv.accountId + onOrAfterDate = dailyAccountBalanceCsv.onOrAfterDate + onOrBeforeDate = dailyAccountBalanceCsv.onOrBeforeDate + additionalProperties = dailyAccountBalanceCsv.additionalProperties.toMutableMap() + } + + /** Filter results by Account. */ + fun accountId(accountId: String?) = accountId(JsonField.ofNullable(accountId)) + + /** Alias for calling [Builder.accountId] with `accountId.orElse(null)`. */ + fun accountId(accountId: Optional) = accountId(accountId.getOrNull()) + + /** + * Sets [Builder.accountId] to an arbitrary JSON value. + * + * You should usually call [Builder.accountId] with a well-typed [String] value instead. + * This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun accountId(accountId: JsonField) = apply { this.accountId = accountId } + + /** Filter balances on or after this date. */ + fun onOrAfterDate(onOrAfterDate: LocalDate?) = + onOrAfterDate(JsonField.ofNullable(onOrAfterDate)) + + /** Alias for calling [Builder.onOrAfterDate] with `onOrAfterDate.orElse(null)`. */ + fun onOrAfterDate(onOrAfterDate: Optional) = + onOrAfterDate(onOrAfterDate.getOrNull()) + + /** + * Sets [Builder.onOrAfterDate] to an arbitrary JSON value. + * + * You should usually call [Builder.onOrAfterDate] with a well-typed [LocalDate] value + * instead. This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun onOrAfterDate(onOrAfterDate: JsonField) = apply { + this.onOrAfterDate = onOrAfterDate + } + + /** Filter balances on or before this date. */ + fun onOrBeforeDate(onOrBeforeDate: LocalDate?) = + onOrBeforeDate(JsonField.ofNullable(onOrBeforeDate)) + + /** Alias for calling [Builder.onOrBeforeDate] with `onOrBeforeDate.orElse(null)`. */ + fun onOrBeforeDate(onOrBeforeDate: Optional) = + onOrBeforeDate(onOrBeforeDate.getOrNull()) + + /** + * Sets [Builder.onOrBeforeDate] to an arbitrary JSON value. + * + * You should usually call [Builder.onOrBeforeDate] with a well-typed [LocalDate] value + * instead. This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun onOrBeforeDate(onOrBeforeDate: JsonField) = apply { + this.onOrBeforeDate = onOrBeforeDate + } + + fun additionalProperties(additionalProperties: Map) = apply { + this.additionalProperties.clear() + putAllAdditionalProperties(additionalProperties) + } + + fun putAdditionalProperty(key: String, value: JsonValue) = apply { + additionalProperties.put(key, value) + } + + fun putAllAdditionalProperties(additionalProperties: Map) = apply { + this.additionalProperties.putAll(additionalProperties) + } + + fun removeAdditionalProperty(key: String) = apply { additionalProperties.remove(key) } + + fun removeAllAdditionalProperties(keys: Set) = apply { + keys.forEach(::removeAdditionalProperty) + } + + /** + * Returns an immutable instance of [DailyAccountBalanceCsv]. + * + * Further updates to this [Builder] will not mutate the returned instance. + * + * The following fields are required: + * ```java + * .accountId() + * .onOrAfterDate() + * .onOrBeforeDate() + * ``` + * + * @throws IllegalStateException if any required field is unset. + */ + fun build(): DailyAccountBalanceCsv = + DailyAccountBalanceCsv( + checkRequired("accountId", accountId), + checkRequired("onOrAfterDate", onOrAfterDate), + checkRequired("onOrBeforeDate", onOrBeforeDate), + additionalProperties.toMutableMap(), + ) + } + + private var validated: Boolean = false + + fun validate(): DailyAccountBalanceCsv = apply { + if (validated) { + return@apply + } + + accountId() + onOrAfterDate() + onOrBeforeDate() + 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 (accountId.asKnown().isPresent) 1 else 0) + + (if (onOrAfterDate.asKnown().isPresent) 1 else 0) + + (if (onOrBeforeDate.asKnown().isPresent) 1 else 0) + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return other is DailyAccountBalanceCsv && + accountId == other.accountId && + onOrAfterDate == other.onOrAfterDate && + onOrBeforeDate == other.onOrBeforeDate && + additionalProperties == other.additionalProperties + } + + private val hashCode: Int by lazy { + Objects.hash(accountId, onOrAfterDate, onOrBeforeDate, additionalProperties) + } + + override fun hashCode(): Int = hashCode + + override fun toString() = + "DailyAccountBalanceCsv{accountId=$accountId, onOrAfterDate=$onOrAfterDate, onOrBeforeDate=$onOrBeforeDate, additionalProperties=$additionalProperties}" + } + /** * Details of the dashboard table CSV export. This field will be present when the `category` is * equal to `dashboard_table_csv`. @@ -5894,6 +6240,7 @@ private constructor( bookkeepingAccountBalanceCsv == other.bookkeepingAccountBalanceCsv && category == other.category && createdAt == other.createdAt && + dailyAccountBalanceCsv == other.dailyAccountBalanceCsv && dashboardTableCsv == other.dashboardTableCsv && entityCsv == other.entityCsv && feeCsv == other.feeCsv && @@ -5920,6 +6267,7 @@ private constructor( bookkeepingAccountBalanceCsv, category, createdAt, + dailyAccountBalanceCsv, dashboardTableCsv, entityCsv, feeCsv, @@ -5940,5 +6288,5 @@ private constructor( override fun hashCode(): Int = hashCode override fun toString() = - "Export{id=$id, accountStatementBai2=$accountStatementBai2, accountStatementOfx=$accountStatementOfx, accountVerificationLetter=$accountVerificationLetter, balanceCsv=$balanceCsv, bookkeepingAccountBalanceCsv=$bookkeepingAccountBalanceCsv, category=$category, createdAt=$createdAt, dashboardTableCsv=$dashboardTableCsv, entityCsv=$entityCsv, feeCsv=$feeCsv, form1099Int=$form1099Int, form1099Misc=$form1099Misc, fundingInstructions=$fundingInstructions, idempotencyKey=$idempotencyKey, result=$result, status=$status, transactionCsv=$transactionCsv, type=$type, vendorCsv=$vendorCsv, voidedCheck=$voidedCheck, additionalProperties=$additionalProperties}" + "Export{id=$id, accountStatementBai2=$accountStatementBai2, accountStatementOfx=$accountStatementOfx, accountVerificationLetter=$accountVerificationLetter, balanceCsv=$balanceCsv, bookkeepingAccountBalanceCsv=$bookkeepingAccountBalanceCsv, category=$category, createdAt=$createdAt, dailyAccountBalanceCsv=$dailyAccountBalanceCsv, dashboardTableCsv=$dashboardTableCsv, entityCsv=$entityCsv, feeCsv=$feeCsv, form1099Int=$form1099Int, form1099Misc=$form1099Misc, fundingInstructions=$fundingInstructions, idempotencyKey=$idempotencyKey, result=$result, status=$status, transactionCsv=$transactionCsv, type=$type, vendorCsv=$vendorCsv, voidedCheck=$voidedCheck, additionalProperties=$additionalProperties}" } diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/exports/ExportCreateParams.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/exports/ExportCreateParams.kt index 632e4d5f6..09a37644a 100644 --- a/increase-java-core/src/main/kotlin/com/increase/api/models/exports/ExportCreateParams.kt +++ b/increase-java-core/src/main/kotlin/com/increase/api/models/exports/ExportCreateParams.kt @@ -85,6 +85,15 @@ private constructor( fun bookkeepingAccountBalanceCsv(): Optional = body.bookkeepingAccountBalanceCsv() + /** + * Options for the created export. Required if `category` is equal to + * `daily_account_balance_csv`. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if the + * server responded with an unexpected value). + */ + fun dailyAccountBalanceCsv(): Optional = body.dailyAccountBalanceCsv() + /** * Options for the created export. Required if `category` is equal to `entity_csv`. * @@ -173,6 +182,15 @@ private constructor( fun _bookkeepingAccountBalanceCsv(): JsonField = body._bookkeepingAccountBalanceCsv() + /** + * Returns the raw JSON value of [dailyAccountBalanceCsv]. + * + * Unlike [dailyAccountBalanceCsv], this method doesn't throw if the JSON field has an + * unexpected type. + */ + fun _dailyAccountBalanceCsv(): JsonField = + body._dailyAccountBalanceCsv() + /** * Returns the raw JSON value of [entityCsv]. * @@ -361,6 +379,26 @@ private constructor( bookkeepingAccountBalanceCsv: JsonField ) = apply { body.bookkeepingAccountBalanceCsv(bookkeepingAccountBalanceCsv) } + /** + * Options for the created export. Required if `category` is equal to + * `daily_account_balance_csv`. + */ + fun dailyAccountBalanceCsv(dailyAccountBalanceCsv: DailyAccountBalanceCsv) = apply { + body.dailyAccountBalanceCsv(dailyAccountBalanceCsv) + } + + /** + * Sets [Builder.dailyAccountBalanceCsv] to an arbitrary JSON value. + * + * You should usually call [Builder.dailyAccountBalanceCsv] with a well-typed + * [DailyAccountBalanceCsv] value instead. This method is primarily for setting the field to + * an undocumented or not yet supported value. + */ + fun dailyAccountBalanceCsv(dailyAccountBalanceCsv: JsonField) = + apply { + body.dailyAccountBalanceCsv(dailyAccountBalanceCsv) + } + /** Options for the created export. Required if `category` is equal to `entity_csv`. */ fun entityCsv(entityCsv: EntityCsv) = apply { body.entityCsv(entityCsv) } @@ -586,6 +624,7 @@ private constructor( private val accountVerificationLetter: JsonField, private val balanceCsv: JsonField, private val bookkeepingAccountBalanceCsv: JsonField, + private val dailyAccountBalanceCsv: JsonField, private val entityCsv: JsonField, private val fundingInstructions: JsonField, private val transactionCsv: JsonField, @@ -615,6 +654,9 @@ private constructor( @ExcludeMissing bookkeepingAccountBalanceCsv: JsonField = JsonMissing.of(), + @JsonProperty("daily_account_balance_csv") + @ExcludeMissing + dailyAccountBalanceCsv: JsonField = JsonMissing.of(), @JsonProperty("entity_csv") @ExcludeMissing entityCsv: JsonField = JsonMissing.of(), @@ -637,6 +679,7 @@ private constructor( accountVerificationLetter, balanceCsv, bookkeepingAccountBalanceCsv, + dailyAccountBalanceCsv, entityCsv, fundingInstructions, transactionCsv, @@ -701,6 +744,16 @@ private constructor( fun bookkeepingAccountBalanceCsv(): Optional = bookkeepingAccountBalanceCsv.getOptional("bookkeeping_account_balance_csv") + /** + * Options for the created export. Required if `category` is equal to + * `daily_account_balance_csv`. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if + * the server responded with an unexpected value). + */ + fun dailyAccountBalanceCsv(): Optional = + dailyAccountBalanceCsv.getOptional("daily_account_balance_csv") + /** * Options for the created export. Required if `category` is equal to `entity_csv`. * @@ -802,6 +855,16 @@ private constructor( fun _bookkeepingAccountBalanceCsv(): JsonField = bookkeepingAccountBalanceCsv + /** + * Returns the raw JSON value of [dailyAccountBalanceCsv]. + * + * Unlike [dailyAccountBalanceCsv], this method doesn't throw if the JSON field has an + * unexpected type. + */ + @JsonProperty("daily_account_balance_csv") + @ExcludeMissing + fun _dailyAccountBalanceCsv(): JsonField = dailyAccountBalanceCsv + /** * Returns the raw JSON value of [entityCsv]. * @@ -885,6 +948,7 @@ private constructor( private var balanceCsv: JsonField = JsonMissing.of() private var bookkeepingAccountBalanceCsv: JsonField = JsonMissing.of() + private var dailyAccountBalanceCsv: JsonField = JsonMissing.of() private var entityCsv: JsonField = JsonMissing.of() private var fundingInstructions: JsonField = JsonMissing.of() private var transactionCsv: JsonField = JsonMissing.of() @@ -900,6 +964,7 @@ private constructor( accountVerificationLetter = body.accountVerificationLetter balanceCsv = body.balanceCsv bookkeepingAccountBalanceCsv = body.bookkeepingAccountBalanceCsv + dailyAccountBalanceCsv = body.dailyAccountBalanceCsv entityCsv = body.entityCsv fundingInstructions = body.fundingInstructions transactionCsv = body.transactionCsv @@ -1008,6 +1073,25 @@ private constructor( bookkeepingAccountBalanceCsv: JsonField ) = apply { this.bookkeepingAccountBalanceCsv = bookkeepingAccountBalanceCsv } + /** + * Options for the created export. Required if `category` is equal to + * `daily_account_balance_csv`. + */ + fun dailyAccountBalanceCsv(dailyAccountBalanceCsv: DailyAccountBalanceCsv) = + dailyAccountBalanceCsv(JsonField.of(dailyAccountBalanceCsv)) + + /** + * Sets [Builder.dailyAccountBalanceCsv] to an arbitrary JSON value. + * + * You should usually call [Builder.dailyAccountBalanceCsv] with a well-typed + * [DailyAccountBalanceCsv] value instead. This method is primarily for setting the + * field to an undocumented or not yet supported value. + */ + fun dailyAccountBalanceCsv(dailyAccountBalanceCsv: JsonField) = + apply { + this.dailyAccountBalanceCsv = dailyAccountBalanceCsv + } + /** Options for the created export. Required if `category` is equal to `entity_csv`. */ fun entityCsv(entityCsv: EntityCsv) = entityCsv(JsonField.of(entityCsv)) @@ -1122,6 +1206,7 @@ private constructor( accountVerificationLetter, balanceCsv, bookkeepingAccountBalanceCsv, + dailyAccountBalanceCsv, entityCsv, fundingInstructions, transactionCsv, @@ -1144,6 +1229,7 @@ private constructor( accountVerificationLetter().ifPresent { it.validate() } balanceCsv().ifPresent { it.validate() } bookkeepingAccountBalanceCsv().ifPresent { it.validate() } + dailyAccountBalanceCsv().ifPresent { it.validate() } entityCsv().ifPresent { it.validate() } fundingInstructions().ifPresent { it.validate() } transactionCsv().ifPresent { it.validate() } @@ -1174,6 +1260,7 @@ private constructor( (accountVerificationLetter.asKnown().getOrNull()?.validity() ?: 0) + (balanceCsv.asKnown().getOrNull()?.validity() ?: 0) + (bookkeepingAccountBalanceCsv.asKnown().getOrNull()?.validity() ?: 0) + + (dailyAccountBalanceCsv.asKnown().getOrNull()?.validity() ?: 0) + (entityCsv.asKnown().getOrNull()?.validity() ?: 0) + (fundingInstructions.asKnown().getOrNull()?.validity() ?: 0) + (transactionCsv.asKnown().getOrNull()?.validity() ?: 0) + @@ -1192,6 +1279,7 @@ private constructor( accountVerificationLetter == other.accountVerificationLetter && balanceCsv == other.balanceCsv && bookkeepingAccountBalanceCsv == other.bookkeepingAccountBalanceCsv && + dailyAccountBalanceCsv == other.dailyAccountBalanceCsv && entityCsv == other.entityCsv && fundingInstructions == other.fundingInstructions && transactionCsv == other.transactionCsv && @@ -1208,6 +1296,7 @@ private constructor( accountVerificationLetter, balanceCsv, bookkeepingAccountBalanceCsv, + dailyAccountBalanceCsv, entityCsv, fundingInstructions, transactionCsv, @@ -1220,7 +1309,7 @@ private constructor( override fun hashCode(): Int = hashCode override fun toString() = - "Body{category=$category, accountStatementBai2=$accountStatementBai2, accountStatementOfx=$accountStatementOfx, accountVerificationLetter=$accountVerificationLetter, balanceCsv=$balanceCsv, bookkeepingAccountBalanceCsv=$bookkeepingAccountBalanceCsv, entityCsv=$entityCsv, fundingInstructions=$fundingInstructions, transactionCsv=$transactionCsv, vendorCsv=$vendorCsv, voidedCheck=$voidedCheck, additionalProperties=$additionalProperties}" + "Body{category=$category, accountStatementBai2=$accountStatementBai2, accountStatementOfx=$accountStatementOfx, accountVerificationLetter=$accountVerificationLetter, balanceCsv=$balanceCsv, bookkeepingAccountBalanceCsv=$bookkeepingAccountBalanceCsv, dailyAccountBalanceCsv=$dailyAccountBalanceCsv, entityCsv=$entityCsv, fundingInstructions=$fundingInstructions, transactionCsv=$transactionCsv, vendorCsv=$vendorCsv, voidedCheck=$voidedCheck, additionalProperties=$additionalProperties}" } /** The type of Export to create. */ @@ -1274,6 +1363,12 @@ private constructor( /** A PDF of a voided check. */ @JvmField val VOIDED_CHECK = of("voided_check") + /** + * Export a CSV of daily account balances with starting and ending balances for a given + * date range. + */ + @JvmField val DAILY_ACCOUNT_BALANCE_CSV = of("daily_account_balance_csv") + @JvmStatic fun of(value: String) = Category(JsonField.of(value)) } @@ -1305,6 +1400,11 @@ private constructor( FUNDING_INSTRUCTIONS, /** A PDF of a voided check. */ VOIDED_CHECK, + /** + * Export a CSV of daily account balances with starting and ending balances for a given + * date range. + */ + DAILY_ACCOUNT_BALANCE_CSV, } /** @@ -1343,6 +1443,11 @@ private constructor( FUNDING_INSTRUCTIONS, /** A PDF of a voided check. */ VOIDED_CHECK, + /** + * Export a CSV of daily account balances with starting and ending balances for a given + * date range. + */ + DAILY_ACCOUNT_BALANCE_CSV, /** An enum member indicating that [Category] was instantiated with an unknown value. */ _UNKNOWN, } @@ -1366,6 +1471,7 @@ private constructor( ACCOUNT_VERIFICATION_LETTER -> Value.ACCOUNT_VERIFICATION_LETTER FUNDING_INSTRUCTIONS -> Value.FUNDING_INSTRUCTIONS VOIDED_CHECK -> Value.VOIDED_CHECK + DAILY_ACCOUNT_BALANCE_CSV -> Value.DAILY_ACCOUNT_BALANCE_CSV else -> Value._UNKNOWN } @@ -1390,6 +1496,7 @@ private constructor( ACCOUNT_VERIFICATION_LETTER -> Known.ACCOUNT_VERIFICATION_LETTER FUNDING_INSTRUCTIONS -> Known.FUNDING_INSTRUCTIONS VOIDED_CHECK -> Known.VOIDED_CHECK + DAILY_ACCOUNT_BALANCE_CSV -> Known.DAILY_ACCOUNT_BALANCE_CSV else -> throw IncreaseInvalidDataException("Unknown Category: $value") } @@ -3394,6 +3501,248 @@ private constructor( "BookkeepingAccountBalanceCsv{bookkeepingAccountId=$bookkeepingAccountId, createdAt=$createdAt, additionalProperties=$additionalProperties}" } + /** + * Options for the created export. Required if `category` is equal to + * `daily_account_balance_csv`. + */ + class DailyAccountBalanceCsv + @JsonCreator(mode = JsonCreator.Mode.DISABLED) + private constructor( + private val accountId: JsonField, + private val onOrAfterDate: JsonField, + private val onOrBeforeDate: JsonField, + private val additionalProperties: MutableMap, + ) { + + @JsonCreator + private constructor( + @JsonProperty("account_id") + @ExcludeMissing + accountId: JsonField = JsonMissing.of(), + @JsonProperty("on_or_after_date") + @ExcludeMissing + onOrAfterDate: JsonField = JsonMissing.of(), + @JsonProperty("on_or_before_date") + @ExcludeMissing + onOrBeforeDate: JsonField = JsonMissing.of(), + ) : this(accountId, onOrAfterDate, onOrBeforeDate, mutableMapOf()) + + /** + * Filter exported Balances to the specified Account. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if + * the server responded with an unexpected value). + */ + fun accountId(): Optional = accountId.getOptional("account_id") + + /** + * Filter exported Balances to those on or after this date. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if + * the server responded with an unexpected value). + */ + fun onOrAfterDate(): Optional = onOrAfterDate.getOptional("on_or_after_date") + + /** + * Filter exported Balances to those on or before this date. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if + * the server responded with an unexpected value). + */ + fun onOrBeforeDate(): Optional = onOrBeforeDate.getOptional("on_or_before_date") + + /** + * Returns the raw JSON value of [accountId]. + * + * Unlike [accountId], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("account_id") @ExcludeMissing fun _accountId(): JsonField = accountId + + /** + * Returns the raw JSON value of [onOrAfterDate]. + * + * Unlike [onOrAfterDate], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("on_or_after_date") + @ExcludeMissing + fun _onOrAfterDate(): JsonField = onOrAfterDate + + /** + * Returns the raw JSON value of [onOrBeforeDate]. + * + * Unlike [onOrBeforeDate], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("on_or_before_date") + @ExcludeMissing + fun _onOrBeforeDate(): JsonField = onOrBeforeDate + + @JsonAnySetter + private fun putAdditionalProperty(key: String, value: JsonValue) { + additionalProperties.put(key, value) + } + + @JsonAnyGetter + @ExcludeMissing + fun _additionalProperties(): Map = + Collections.unmodifiableMap(additionalProperties) + + fun toBuilder() = Builder().from(this) + + companion object { + + /** + * Returns a mutable builder for constructing an instance of [DailyAccountBalanceCsv]. + */ + @JvmStatic fun builder() = Builder() + } + + /** A builder for [DailyAccountBalanceCsv]. */ + class Builder internal constructor() { + + private var accountId: JsonField = JsonMissing.of() + private var onOrAfterDate: JsonField = JsonMissing.of() + private var onOrBeforeDate: JsonField = JsonMissing.of() + private var additionalProperties: MutableMap = mutableMapOf() + + @JvmSynthetic + internal fun from(dailyAccountBalanceCsv: DailyAccountBalanceCsv) = apply { + accountId = dailyAccountBalanceCsv.accountId + onOrAfterDate = dailyAccountBalanceCsv.onOrAfterDate + onOrBeforeDate = dailyAccountBalanceCsv.onOrBeforeDate + additionalProperties = dailyAccountBalanceCsv.additionalProperties.toMutableMap() + } + + /** Filter exported Balances to the specified Account. */ + fun accountId(accountId: String) = accountId(JsonField.of(accountId)) + + /** + * Sets [Builder.accountId] to an arbitrary JSON value. + * + * You should usually call [Builder.accountId] with a well-typed [String] value instead. + * This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun accountId(accountId: JsonField) = apply { this.accountId = accountId } + + /** Filter exported Balances to those on or after this date. */ + fun onOrAfterDate(onOrAfterDate: LocalDate) = onOrAfterDate(JsonField.of(onOrAfterDate)) + + /** + * Sets [Builder.onOrAfterDate] to an arbitrary JSON value. + * + * You should usually call [Builder.onOrAfterDate] with a well-typed [LocalDate] value + * instead. This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun onOrAfterDate(onOrAfterDate: JsonField) = apply { + this.onOrAfterDate = onOrAfterDate + } + + /** Filter exported Balances to those on or before this date. */ + fun onOrBeforeDate(onOrBeforeDate: LocalDate) = + onOrBeforeDate(JsonField.of(onOrBeforeDate)) + + /** + * Sets [Builder.onOrBeforeDate] to an arbitrary JSON value. + * + * You should usually call [Builder.onOrBeforeDate] with a well-typed [LocalDate] value + * instead. This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun onOrBeforeDate(onOrBeforeDate: JsonField) = apply { + this.onOrBeforeDate = onOrBeforeDate + } + + fun additionalProperties(additionalProperties: Map) = apply { + this.additionalProperties.clear() + putAllAdditionalProperties(additionalProperties) + } + + fun putAdditionalProperty(key: String, value: JsonValue) = apply { + additionalProperties.put(key, value) + } + + fun putAllAdditionalProperties(additionalProperties: Map) = apply { + this.additionalProperties.putAll(additionalProperties) + } + + fun removeAdditionalProperty(key: String) = apply { additionalProperties.remove(key) } + + fun removeAllAdditionalProperties(keys: Set) = apply { + keys.forEach(::removeAdditionalProperty) + } + + /** + * Returns an immutable instance of [DailyAccountBalanceCsv]. + * + * Further updates to this [Builder] will not mutate the returned instance. + */ + fun build(): DailyAccountBalanceCsv = + DailyAccountBalanceCsv( + accountId, + onOrAfterDate, + onOrBeforeDate, + additionalProperties.toMutableMap(), + ) + } + + private var validated: Boolean = false + + fun validate(): DailyAccountBalanceCsv = apply { + if (validated) { + return@apply + } + + accountId() + onOrAfterDate() + onOrBeforeDate() + 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 (accountId.asKnown().isPresent) 1 else 0) + + (if (onOrAfterDate.asKnown().isPresent) 1 else 0) + + (if (onOrBeforeDate.asKnown().isPresent) 1 else 0) + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return other is DailyAccountBalanceCsv && + accountId == other.accountId && + onOrAfterDate == other.onOrAfterDate && + onOrBeforeDate == other.onOrBeforeDate && + additionalProperties == other.additionalProperties + } + + private val hashCode: Int by lazy { + Objects.hash(accountId, onOrAfterDate, onOrBeforeDate, additionalProperties) + } + + override fun hashCode(): Int = hashCode + + override fun toString() = + "DailyAccountBalanceCsv{accountId=$accountId, onOrAfterDate=$onOrAfterDate, onOrBeforeDate=$onOrBeforeDate, additionalProperties=$additionalProperties}" + } + /** Options for the created export. Required if `category` is equal to `entity_csv`. */ class EntityCsv @JsonCreator(mode = JsonCreator.Mode.DISABLED) diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/exports/ExportListParams.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/exports/ExportListParams.kt index 41623784c..068123ef1 100644 --- a/increase-java-core/src/main/kotlin/com/increase/api/models/exports/ExportListParams.kt +++ b/increase-java-core/src/main/kotlin/com/increase/api/models/exports/ExportListParams.kt @@ -408,6 +408,12 @@ private constructor( /** A PDF of a voided check. */ @JvmField val VOIDED_CHECK = of("voided_check") + /** + * Export a CSV of daily account balances with starting and ending balances for a given + * date range. + */ + @JvmField val DAILY_ACCOUNT_BALANCE_CSV = of("daily_account_balance_csv") + @JvmStatic fun of(value: String) = Category(JsonField.of(value)) } @@ -453,6 +459,11 @@ private constructor( FEE_CSV, /** A PDF of a voided check. */ VOIDED_CHECK, + /** + * Export a CSV of daily account balances with starting and ending balances for a given + * date range. + */ + DAILY_ACCOUNT_BALANCE_CSV, } /** @@ -505,6 +516,11 @@ private constructor( FEE_CSV, /** A PDF of a voided check. */ VOIDED_CHECK, + /** + * Export a CSV of daily account balances with starting and ending balances for a given + * date range. + */ + DAILY_ACCOUNT_BALANCE_CSV, /** An enum member indicating that [Category] was instantiated with an unknown value. */ _UNKNOWN, } @@ -532,6 +548,7 @@ private constructor( FORM_1099_MISC -> Value.FORM_1099_MISC FEE_CSV -> Value.FEE_CSV VOIDED_CHECK -> Value.VOIDED_CHECK + DAILY_ACCOUNT_BALANCE_CSV -> Value.DAILY_ACCOUNT_BALANCE_CSV else -> Value._UNKNOWN } @@ -560,6 +577,7 @@ private constructor( FORM_1099_MISC -> Known.FORM_1099_MISC FEE_CSV -> Known.FEE_CSV VOIDED_CHECK -> Known.VOIDED_CHECK + DAILY_ACCOUNT_BALANCE_CSV -> Known.DAILY_ACCOUNT_BALANCE_CSV else -> throw IncreaseInvalidDataException("Unknown Category: $value") } diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportCreateParamsTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportCreateParamsTest.kt index 16d5bac53..78d918630 100644 --- a/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportCreateParamsTest.kt +++ b/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportCreateParamsTest.kt @@ -65,6 +65,13 @@ internal class ExportCreateParamsTest { ) .build() ) + .dailyAccountBalanceCsv( + ExportCreateParams.DailyAccountBalanceCsv.builder() + .accountId("account_id") + .onOrAfterDate(LocalDate.parse("2019-12-27")) + .onOrBeforeDate(LocalDate.parse("2019-12-27")) + .build() + ) .entityCsv(ExportCreateParams.EntityCsv.builder().build()) .fundingInstructions( ExportCreateParams.FundingInstructions.builder() @@ -151,6 +158,13 @@ internal class ExportCreateParamsTest { ) .build() ) + .dailyAccountBalanceCsv( + ExportCreateParams.DailyAccountBalanceCsv.builder() + .accountId("account_id") + .onOrAfterDate(LocalDate.parse("2019-12-27")) + .onOrBeforeDate(LocalDate.parse("2019-12-27")) + .build() + ) .entityCsv(ExportCreateParams.EntityCsv.builder().build()) .fundingInstructions( ExportCreateParams.FundingInstructions.builder() @@ -239,6 +253,14 @@ internal class ExportCreateParamsTest { ) .build() ) + assertThat(body.dailyAccountBalanceCsv()) + .contains( + ExportCreateParams.DailyAccountBalanceCsv.builder() + .accountId("account_id") + .onOrAfterDate(LocalDate.parse("2019-12-27")) + .onOrBeforeDate(LocalDate.parse("2019-12-27")) + .build() + ) assertThat(body.entityCsv()).contains(ExportCreateParams.EntityCsv.builder().build()) assertThat(body.fundingInstructions()) .contains( diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportListPageResponseTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportListPageResponseTest.kt index a2bb1d0bf..37f09ad4d 100644 --- a/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportListPageResponseTest.kt +++ b/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportListPageResponseTest.kt @@ -66,6 +66,13 @@ internal class ExportListPageResponseTest { ) .category(Export.Category.TRANSACTION_CSV) .createdAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) + .dailyAccountBalanceCsv( + Export.DailyAccountBalanceCsv.builder() + .accountId("account_id") + .onOrAfterDate(LocalDate.parse("2019-12-27")) + .onOrBeforeDate(LocalDate.parse("2019-12-27")) + .build() + ) .dashboardTableCsv(Export.DashboardTableCsv.builder().build()) .entityCsv(Export.EntityCsv.builder().build()) .feeCsv( @@ -177,6 +184,13 @@ internal class ExportListPageResponseTest { ) .category(Export.Category.TRANSACTION_CSV) .createdAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) + .dailyAccountBalanceCsv( + Export.DailyAccountBalanceCsv.builder() + .accountId("account_id") + .onOrAfterDate(LocalDate.parse("2019-12-27")) + .onOrBeforeDate(LocalDate.parse("2019-12-27")) + .build() + ) .dashboardTableCsv(Export.DashboardTableCsv.builder().build()) .entityCsv(Export.EntityCsv.builder().build()) .feeCsv( @@ -292,6 +306,13 @@ internal class ExportListPageResponseTest { ) .category(Export.Category.TRANSACTION_CSV) .createdAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) + .dailyAccountBalanceCsv( + Export.DailyAccountBalanceCsv.builder() + .accountId("account_id") + .onOrAfterDate(LocalDate.parse("2019-12-27")) + .onOrBeforeDate(LocalDate.parse("2019-12-27")) + .build() + ) .dashboardTableCsv(Export.DashboardTableCsv.builder().build()) .entityCsv(Export.EntityCsv.builder().build()) .feeCsv( diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportTest.kt index 32b52ff99..71e4244f2 100644 --- a/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportTest.kt +++ b/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportTest.kt @@ -64,6 +64,13 @@ internal class ExportTest { ) .category(Export.Category.TRANSACTION_CSV) .createdAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) + .dailyAccountBalanceCsv( + Export.DailyAccountBalanceCsv.builder() + .accountId("account_id") + .onOrAfterDate(LocalDate.parse("2019-12-27")) + .onOrBeforeDate(LocalDate.parse("2019-12-27")) + .build() + ) .dashboardTableCsv(Export.DashboardTableCsv.builder().build()) .entityCsv(Export.EntityCsv.builder().build()) .feeCsv( @@ -174,6 +181,14 @@ internal class ExportTest { ) assertThat(export.category()).isEqualTo(Export.Category.TRANSACTION_CSV) assertThat(export.createdAt()).isEqualTo(OffsetDateTime.parse("2020-01-31T23:59:59Z")) + assertThat(export.dailyAccountBalanceCsv()) + .contains( + Export.DailyAccountBalanceCsv.builder() + .accountId("account_id") + .onOrAfterDate(LocalDate.parse("2019-12-27")) + .onOrBeforeDate(LocalDate.parse("2019-12-27")) + .build() + ) assertThat(export.dashboardTableCsv()).contains(Export.DashboardTableCsv.builder().build()) assertThat(export.entityCsv()).contains(Export.EntityCsv.builder().build()) assertThat(export.feeCsv()) @@ -289,6 +304,13 @@ internal class ExportTest { ) .category(Export.Category.TRANSACTION_CSV) .createdAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) + .dailyAccountBalanceCsv( + Export.DailyAccountBalanceCsv.builder() + .accountId("account_id") + .onOrAfterDate(LocalDate.parse("2019-12-27")) + .onOrBeforeDate(LocalDate.parse("2019-12-27")) + .build() + ) .dashboardTableCsv(Export.DashboardTableCsv.builder().build()) .entityCsv(Export.EntityCsv.builder().build()) .feeCsv( diff --git a/increase-java-core/src/test/kotlin/com/increase/api/services/async/ExportServiceAsyncTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/services/async/ExportServiceAsyncTest.kt index 4fd82765c..e514f073d 100644 --- a/increase-java-core/src/test/kotlin/com/increase/api/services/async/ExportServiceAsyncTest.kt +++ b/increase-java-core/src/test/kotlin/com/increase/api/services/async/ExportServiceAsyncTest.kt @@ -78,6 +78,13 @@ internal class ExportServiceAsyncTest { ) .build() ) + .dailyAccountBalanceCsv( + ExportCreateParams.DailyAccountBalanceCsv.builder() + .accountId("account_id") + .onOrAfterDate(LocalDate.parse("2019-12-27")) + .onOrBeforeDate(LocalDate.parse("2019-12-27")) + .build() + ) .entityCsv(ExportCreateParams.EntityCsv.builder().build()) .fundingInstructions( ExportCreateParams.FundingInstructions.builder() diff --git a/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/ExportServiceTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/ExportServiceTest.kt index e160ff603..21ca941cd 100644 --- a/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/ExportServiceTest.kt +++ b/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/ExportServiceTest.kt @@ -78,6 +78,13 @@ internal class ExportServiceTest { ) .build() ) + .dailyAccountBalanceCsv( + ExportCreateParams.DailyAccountBalanceCsv.builder() + .accountId("account_id") + .onOrAfterDate(LocalDate.parse("2019-12-27")) + .onOrBeforeDate(LocalDate.parse("2019-12-27")) + .build() + ) .entityCsv(ExportCreateParams.EntityCsv.builder().build()) .fundingInstructions( ExportCreateParams.FundingInstructions.builder() From e8750d8f84a3971b260d34eede9dc14e91a88529 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 23:29:05 +0000 Subject: [PATCH 2/2] release: 0.507.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 000901257..7ea4b07b4 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.506.0" + ".": "0.507.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f8a78a4b..475b4dbfa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.507.0 (2026-04-09) + +Full Changelog: [v0.506.0...v0.507.0](https://github.com/Increase/increase-java/compare/v0.506.0...v0.507.0) + +### Features + +* **api:** api update ([a9473be](https://github.com/Increase/increase-java/commit/a9473be1bd53f82d47215f4b3b1f8c128a921823)) + ## 0.506.0 (2026-04-09) Full Changelog: [v0.505.0...v0.506.0](https://github.com/Increase/increase-java/compare/v0.505.0...v0.506.0) diff --git a/README.md b/README.md index bbbc72259..6af783a43 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.506.0) -[![javadoc](https://javadoc.io/badge2/com.increase.api/increase-java/0.506.0/javadoc.svg)](https://javadoc.io/doc/com.increase.api/increase-java/0.506.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.507.0) +[![javadoc](https://javadoc.io/badge2/com.increase.api/increase-java/0.507.0/javadoc.svg)](https://javadoc.io/doc/com.increase.api/increase-java/0.507.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.506.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.507.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.506.0") +implementation("com.increase.api:increase-java:0.507.0") ``` ### Maven @@ -33,7 +33,7 @@ implementation("com.increase.api:increase-java:0.506.0") com.increase.api increase-java - 0.506.0 + 0.507.0 ``` diff --git a/build.gradle.kts b/build.gradle.kts index fca776d63..8da32c0bb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,7 @@ repositories { allprojects { group = "com.increase.api" - version = "0.506.0" // x-release-please-version + version = "0.507.0" // x-release-please-version } subprojects {