From 3de68b03ee9fe17eb3c14e26d238a74e3ffcc8fc Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 13 Jul 2026 17:23:49 +0000 Subject: [PATCH 1/2] feat(api): api update --- .stats.yml | 4 +- .../HrisDirectoryListIndividualsParams.kt | 4 +- .../api/models/HrisDirectoryListParams.kt | 4 +- .../HrisEmploymentRetrieveManyParams.kt | 18 +- .../HrisIndividualRetrieveManyParams.kt | 333 ++++++++++-------- .../HrisPayStatementRetrieveManyParams.kt | 12 +- .../async/hris/IndividualServiceAsync.kt | 37 +- .../blocking/hris/IndividualService.kt | 35 +- .../HrisDirectoryListIndividualsParamsTest.kt | 6 +- .../api/models/HrisDirectoryListParamsTest.kt | 6 +- .../HrisIndividualRetrieveManyParamsTest.kt | 54 ++- .../HrisPayStatementRetrieveManyParamsTest.kt | 22 +- .../async/hris/IndividualServiceAsyncTest.kt | 12 +- .../hris/PayStatementServiceAsyncTest.kt | 2 +- .../blocking/hris/IndividualServiceTest.kt | 12 +- .../blocking/hris/PayStatementServiceTest.kt | 2 +- 16 files changed, 302 insertions(+), 261 deletions(-) diff --git a/.stats.yml b/.stats.yml index 861514c9d..6d130acda 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 48 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch/finch-3cd1346947fabfca2aa9c6f821170c8d945a82667fb20a15644d5c77f8e98c10.yml -openapi_spec_hash: 642e04e90d37c0e4875d154abd06eb54 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch/finch-a6b05e51c46366a54466c2009f5fdde74e0fa40bbcc6568601a4e3342dd16937.yml +openapi_spec_hash: 084797c220144df17d98eb984dd4cba2 config_hash: 9ae56f40cec7304896138bfad5caf748 diff --git a/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisDirectoryListIndividualsParams.kt b/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisDirectoryListIndividualsParams.kt index b76f7d346..4c951d1bf 100644 --- a/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisDirectoryListIndividualsParams.kt +++ b/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisDirectoryListIndividualsParams.kt @@ -24,7 +24,7 @@ private constructor( /** The entity IDs to specify which entities' data to access. */ fun entityIds(): Optional> = Optional.ofNullable(entityIds) - /** Number of employees to return (defaults to all) */ + /** Number of employees to return (defaults to 100, maximum 10000) */ fun limit(): Optional = Optional.ofNullable(limit) /** Index to start from (defaults to 0) */ @@ -86,7 +86,7 @@ private constructor( entityIds = (entityIds ?: mutableListOf()).apply { add(entityId) } } - /** Number of employees to return (defaults to all) */ + /** Number of employees to return (defaults to 100, maximum 10000) */ fun limit(limit: Long?) = apply { this.limit = limit } /** diff --git a/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisDirectoryListParams.kt b/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisDirectoryListParams.kt index a8a8f0e86..d826f3bc0 100644 --- a/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisDirectoryListParams.kt +++ b/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisDirectoryListParams.kt @@ -23,7 +23,7 @@ private constructor( /** The entity IDs to specify which entities' data to access. */ fun entityIds(): Optional> = Optional.ofNullable(entityIds) - /** Number of employees to return (defaults to all) */ + /** Number of employees to return (defaults to 100, maximum 10000) */ fun limit(): Optional = Optional.ofNullable(limit) /** Index to start from (defaults to 0) */ @@ -80,7 +80,7 @@ private constructor( entityIds = (entityIds ?: mutableListOf()).apply { add(entityId) } } - /** Number of employees to return (defaults to all) */ + /** Number of employees to return (defaults to 100, maximum 10000) */ fun limit(limit: Long?) = apply { this.limit = limit } /** diff --git a/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisEmploymentRetrieveManyParams.kt b/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisEmploymentRetrieveManyParams.kt index 7e4b722ca..230265ed6 100644 --- a/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisEmploymentRetrieveManyParams.kt +++ b/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisEmploymentRetrieveManyParams.kt @@ -35,7 +35,7 @@ private constructor( fun entityIds(): Optional> = Optional.ofNullable(entityIds) /** - * The array of batch requests. + * The array of batch requests. Maximum 10000 items per request. * * @throws FinchInvalidDataException if the JSON field has an unexpected type or is unexpectedly * missing or null (e.g. if the server responded with an unexpected value). @@ -117,7 +117,7 @@ private constructor( */ fun body(body: Body) = apply { this.body = body.toBuilder() } - /** The array of batch requests. */ + /** The array of batch requests. Maximum 10000 items per request. */ fun requests(requests: List) = apply { body.requests(requests) } /** @@ -302,7 +302,7 @@ private constructor( ) : this(requests, mutableMapOf()) /** - * The array of batch requests. + * The array of batch requests. Maximum 10000 items per request. * * @throws FinchInvalidDataException if the JSON field has an unexpected type or is * unexpectedly missing or null (e.g. if the server responded with an unexpected value). @@ -355,7 +355,7 @@ private constructor( additionalProperties = body.additionalProperties.toMutableMap() } - /** The array of batch requests. */ + /** The array of batch requests. Maximum 10000 items per request. */ fun requests(requests: List) = requests(JsonField.of(requests)) /** @@ -490,9 +490,7 @@ private constructor( ) : this(individualId, mutableMapOf()) /** - * A stable Finch `id` (UUID v4) for an individual in the company. There is no limit to the - * number of `individual_id` to send per request. It is preferantial to send all ids in a - * single request for Finch to optimize provider rate-limits. + * A stable Finch `id` (UUID v4) for an individual in the company. * * @throws FinchInvalidDataException if the JSON field has an unexpected type or is * unexpectedly missing or null (e.g. if the server responded with an unexpected value). @@ -546,11 +544,7 @@ private constructor( additionalProperties = request.additionalProperties.toMutableMap() } - /** - * A stable Finch `id` (UUID v4) for an individual in the company. There is no limit to - * the number of `individual_id` to send per request. It is preferantial to send all ids - * in a single request for Finch to optimize provider rate-limits. - */ + /** A stable Finch `id` (UUID v4) for an individual in the company. */ fun individualId(individualId: String) = individualId(JsonField.of(individualId)) /** diff --git a/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisIndividualRetrieveManyParams.kt b/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisIndividualRetrieveManyParams.kt index 9f6ee8686..64731fa06 100644 --- a/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisIndividualRetrieveManyParams.kt +++ b/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisIndividualRetrieveManyParams.kt @@ -12,6 +12,7 @@ import com.tryfinch.api.core.JsonMissing import com.tryfinch.api.core.JsonValue import com.tryfinch.api.core.Params import com.tryfinch.api.core.checkKnown +import com.tryfinch.api.core.checkRequired import com.tryfinch.api.core.http.Headers import com.tryfinch.api.core.http.QueryParams import com.tryfinch.api.core.toImmutable @@ -34,30 +35,32 @@ private constructor( fun entityIds(): Optional> = Optional.ofNullable(entityIds) /** - * @throws FinchInvalidDataException if the JSON field has an unexpected type (e.g. if the - * server responded with an unexpected value). + * The array of batch requests. Maximum 10000 items per request. + * + * @throws FinchInvalidDataException 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 options(): Optional = body.options() + fun requests(): List = body.requests() /** * @throws FinchInvalidDataException if the JSON field has an unexpected type (e.g. if the * server responded with an unexpected value). */ - fun requests(): Optional> = body.requests() + fun options(): Optional = body.options() /** - * Returns the raw JSON value of [options]. + * Returns the raw JSON value of [requests]. * - * Unlike [options], this method doesn't throw if the JSON field has an unexpected type. + * Unlike [requests], this method doesn't throw if the JSON field has an unexpected type. */ - fun _options(): JsonField = body._options() + fun _requests(): JsonField> = body._requests() /** - * Returns the raw JSON value of [requests]. + * Returns the raw JSON value of [options]. * - * Unlike [requests], this method doesn't throw if the JSON field has an unexpected type. + * Unlike [options], this method doesn't throw if the JSON field has an unexpected type. */ - fun _requests(): JsonField> = body._requests() + fun _options(): JsonField = body._options() fun _additionalBodyProperties(): Map = body._additionalProperties() @@ -71,11 +74,14 @@ private constructor( companion object { - @JvmStatic fun none(): HrisIndividualRetrieveManyParams = builder().build() - /** * Returns a mutable builder for constructing an instance of * [HrisIndividualRetrieveManyParams]. + * + * The following fields are required: + * ```java + * .requests() + * ``` */ @JvmStatic fun builder() = Builder() } @@ -120,24 +126,12 @@ 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: - * - [options] * - [requests] + * - [options] */ fun body(body: Body) = apply { this.body = body.toBuilder() } - fun options(options: Options?) = apply { body.options(options) } - - /** Alias for calling [Builder.options] with `options.orElse(null)`. */ - fun options(options: Optional) = options(options.getOrNull()) - - /** - * Sets [Builder.options] to an arbitrary JSON value. - * - * You should usually call [Builder.options] with a well-typed [Options] value instead. This - * method is primarily for setting the field to an undocumented or not yet supported value. - */ - fun options(options: JsonField) = apply { body.options(options) } - + /** The array of batch requests. Maximum 10000 items per request. */ fun requests(requests: List) = apply { body.requests(requests) } /** @@ -156,6 +150,19 @@ private constructor( */ fun addRequest(request: Request) = apply { body.addRequest(request) } + fun options(options: Options?) = apply { body.options(options) } + + /** Alias for calling [Builder.options] with `options.orElse(null)`. */ + fun options(options: Optional) = options(options.getOrNull()) + + /** + * Sets [Builder.options] to an arbitrary JSON value. + * + * You should usually call [Builder.options] with a well-typed [Options] value instead. This + * method is primarily for setting the field to an undocumented or not yet supported value. + */ + fun options(options: JsonField) = apply { body.options(options) } + fun additionalBodyProperties(additionalBodyProperties: Map) = apply { body.additionalProperties(additionalBodyProperties) } @@ -277,6 +284,13 @@ private constructor( * Returns an immutable instance of [HrisIndividualRetrieveManyParams]. * * Further updates to this [Builder] will not mutate the returned instance. + * + * The following fields are required: + * ```java + * .requests() + * ``` + * + * @throws IllegalStateException if any required field is unset. */ fun build(): HrisIndividualRetrieveManyParams = HrisIndividualRetrieveManyParams( @@ -302,37 +316,32 @@ private constructor( class Body @JsonCreator(mode = JsonCreator.Mode.DISABLED) private constructor( - private val options: JsonField, private val requests: JsonField>, + private val options: JsonField, private val additionalProperties: MutableMap, ) { @JsonCreator private constructor( - @JsonProperty("options") @ExcludeMissing options: JsonField = JsonMissing.of(), @JsonProperty("requests") @ExcludeMissing requests: JsonField> = JsonMissing.of(), - ) : this(options, requests, mutableMapOf()) + @JsonProperty("options") @ExcludeMissing options: JsonField = JsonMissing.of(), + ) : this(requests, options, mutableMapOf()) /** - * @throws FinchInvalidDataException if the JSON field has an unexpected type (e.g. if the - * server responded with an unexpected value). + * The array of batch requests. Maximum 10000 items per request. + * + * @throws FinchInvalidDataException 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 options(): Optional = options.getOptional("options") + fun requests(): List = requests.getRequired("requests") /** * @throws FinchInvalidDataException if the JSON field has an unexpected type (e.g. if the * server responded with an unexpected value). */ - fun requests(): Optional> = requests.getOptional("requests") - - /** - * Returns the raw JSON value of [options]. - * - * Unlike [options], this method doesn't throw if the JSON field has an unexpected type. - */ - @JsonProperty("options") @ExcludeMissing fun _options(): JsonField = options + fun options(): Optional = options.getOptional("options") /** * Returns the raw JSON value of [requests]. @@ -343,6 +352,13 @@ private constructor( @ExcludeMissing fun _requests(): JsonField> = requests + /** + * Returns the raw JSON value of [options]. + * + * Unlike [options], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("options") @ExcludeMissing fun _options(): JsonField = options + @JsonAnySetter private fun putAdditionalProperty(key: String, value: JsonValue) { additionalProperties.put(key, value) @@ -357,38 +373,32 @@ private constructor( companion object { - /** Returns a mutable builder for constructing an instance of [Body]. */ + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .requests() + * ``` + */ @JvmStatic fun builder() = Builder() } /** A builder for [Body]. */ class Builder internal constructor() { - private var options: JsonField = JsonMissing.of() private var requests: JsonField>? = null + private var options: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @JvmSynthetic internal fun from(body: Body) = apply { - options = body.options requests = body.requests.map { it.toMutableList() } + options = body.options additionalProperties = body.additionalProperties.toMutableMap() } - fun options(options: Options?) = options(JsonField.ofNullable(options)) - - /** Alias for calling [Builder.options] with `options.orElse(null)`. */ - fun options(options: Optional) = options(options.getOrNull()) - - /** - * Sets [Builder.options] to an arbitrary JSON value. - * - * You should usually call [Builder.options] with a well-typed [Options] value instead. - * This method is primarily for setting the field to an undocumented or not yet - * supported value. - */ - fun options(options: JsonField) = apply { this.options = options } - + /** The array of batch requests. Maximum 10000 items per request. */ fun requests(requests: List) = requests(JsonField.of(requests)) /** @@ -414,6 +424,20 @@ private constructor( } } + fun options(options: Options?) = options(JsonField.ofNullable(options)) + + /** Alias for calling [Builder.options] with `options.orElse(null)`. */ + fun options(options: Optional) = options(options.getOrNull()) + + /** + * Sets [Builder.options] to an arbitrary JSON value. + * + * You should usually call [Builder.options] with a well-typed [Options] value instead. + * This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun options(options: JsonField) = apply { this.options = options } + fun additionalProperties(additionalProperties: Map) = apply { this.additionalProperties.clear() putAllAdditionalProperties(additionalProperties) @@ -437,11 +461,18 @@ private constructor( * Returns an immutable instance of [Body]. * * Further updates to this [Builder] will not mutate the returned instance. + * + * The following fields are required: + * ```java + * .requests() + * ``` + * + * @throws IllegalStateException if any required field is unset. */ fun build(): Body = Body( + checkRequired("requests", requests).map { it.toImmutable() }, options, - (requests ?: JsonMissing.of()).map { it.toImmutable() }, additionalProperties.toMutableMap(), ) } @@ -462,8 +493,8 @@ private constructor( return@apply } + requests().forEach { it.validate() } options().ifPresent { it.validate() } - requests().ifPresent { it.forEach { it.validate() } } validated = true } @@ -483,8 +514,8 @@ private constructor( */ @JvmSynthetic internal fun validity(): Int = - (options.asKnown().getOrNull()?.validity() ?: 0) + - (requests.asKnown().getOrNull()?.sumOf { it.validity().toInt() } ?: 0) + (requests.asKnown().getOrNull()?.sumOf { it.validity().toInt() } ?: 0) + + (options.asKnown().getOrNull()?.validity() ?: 0) override fun equals(other: Any?): Boolean { if (this === other) { @@ -492,45 +523,48 @@ private constructor( } return other is Body && - options == other.options && requests == other.requests && + options == other.options && additionalProperties == other.additionalProperties } - private val hashCode: Int by lazy { Objects.hash(options, requests, additionalProperties) } + private val hashCode: Int by lazy { Objects.hash(requests, options, additionalProperties) } override fun hashCode(): Int = hashCode override fun toString() = - "Body{options=$options, requests=$requests, additionalProperties=$additionalProperties}" + "Body{requests=$requests, options=$options, additionalProperties=$additionalProperties}" } - class Options + class Request @JsonCreator(mode = JsonCreator.Mode.DISABLED) private constructor( - private val include: JsonField>, + private val individualId: JsonField, private val additionalProperties: MutableMap, ) { @JsonCreator private constructor( - @JsonProperty("include") + @JsonProperty("individual_id") @ExcludeMissing - include: JsonField> = JsonMissing.of() - ) : this(include, mutableMapOf()) + individualId: JsonField = JsonMissing.of() + ) : this(individualId, mutableMapOf()) /** - * @throws FinchInvalidDataException if the JSON field has an unexpected type (e.g. if the - * server responded with an unexpected value). + * @throws FinchInvalidDataException 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 include(): Optional> = include.getOptional("include") + fun individualId(): String = individualId.getRequired("individual_id") /** - * Returns the raw JSON value of [include]. + * Returns the raw JSON value of [individualId]. * - * Unlike [include], this method doesn't throw if the JSON field has an unexpected type. + * Unlike [individualId], this method doesn't throw if the JSON field has an unexpected + * type. */ - @JsonProperty("include") @ExcludeMissing fun _include(): JsonField> = include + @JsonProperty("individual_id") + @ExcludeMissing + fun _individualId(): JsonField = individualId @JsonAnySetter private fun putAdditionalProperty(key: String, value: JsonValue) { @@ -546,45 +580,40 @@ private constructor( companion object { - /** Returns a mutable builder for constructing an instance of [Options]. */ + /** + * Returns a mutable builder for constructing an instance of [Request]. + * + * The following fields are required: + * ```java + * .individualId() + * ``` + */ @JvmStatic fun builder() = Builder() } - /** A builder for [Options]. */ + /** A builder for [Request]. */ class Builder internal constructor() { - private var include: JsonField>? = null + private var individualId: JsonField? = null private var additionalProperties: MutableMap = mutableMapOf() @JvmSynthetic - internal fun from(options: Options) = apply { - include = options.include.map { it.toMutableList() } - additionalProperties = options.additionalProperties.toMutableMap() + internal fun from(request: Request) = apply { + individualId = request.individualId + additionalProperties = request.additionalProperties.toMutableMap() } - fun include(include: List) = include(JsonField.of(include)) + fun individualId(individualId: String) = individualId(JsonField.of(individualId)) /** - * Sets [Builder.include] to an arbitrary JSON value. + * Sets [Builder.individualId] to an arbitrary JSON value. * - * You should usually call [Builder.include] with a well-typed `List` value + * You should usually call [Builder.individualId] with a well-typed [String] value * instead. This method is primarily for setting the field to an undocumented or not yet * supported value. */ - fun include(include: JsonField>) = apply { - this.include = include.map { it.toMutableList() } - } - - /** - * Adds a single [String] to [Builder.include]. - * - * @throws IllegalStateException if the field was previously set to a non-list. - */ - fun addInclude(include: String) = apply { - this.include = - (this.include ?: JsonField.of(mutableListOf())).also { - checkKnown("include", it).add(include) - } + fun individualId(individualId: JsonField) = apply { + this.individualId = individualId } fun additionalProperties(additionalProperties: Map) = apply { @@ -607,13 +636,20 @@ private constructor( } /** - * Returns an immutable instance of [Options]. + * Returns an immutable instance of [Request]. * * Further updates to this [Builder] will not mutate the returned instance. + * + * The following fields are required: + * ```java + * .individualId() + * ``` + * + * @throws IllegalStateException if any required field is unset. */ - fun build(): Options = - Options( - (include ?: JsonMissing.of()).map { it.toImmutable() }, + fun build(): Request = + Request( + checkRequired("individualId", individualId), additionalProperties.toMutableMap(), ) } @@ -629,12 +665,12 @@ private constructor( * @throws FinchInvalidDataException if any value type in this object doesn't match its * expected type. */ - fun validate(): Options = apply { + fun validate(): Request = apply { if (validated) { return@apply } - include() + individualId() validated = true } @@ -652,55 +688,53 @@ private constructor( * * Used for best match union deserialization. */ - @JvmSynthetic internal fun validity(): Int = (include.asKnown().getOrNull()?.size ?: 0) + @JvmSynthetic + internal fun validity(): Int = (if (individualId.asKnown().isPresent) 1 else 0) override fun equals(other: Any?): Boolean { if (this === other) { return true } - return other is Options && - include == other.include && + return other is Request && + individualId == other.individualId && additionalProperties == other.additionalProperties } - private val hashCode: Int by lazy { Objects.hash(include, additionalProperties) } + private val hashCode: Int by lazy { Objects.hash(individualId, additionalProperties) } override fun hashCode(): Int = hashCode override fun toString() = - "Options{include=$include, additionalProperties=$additionalProperties}" + "Request{individualId=$individualId, additionalProperties=$additionalProperties}" } - class Request + class Options @JsonCreator(mode = JsonCreator.Mode.DISABLED) private constructor( - private val individualId: JsonField, + private val include: JsonField>, private val additionalProperties: MutableMap, ) { @JsonCreator private constructor( - @JsonProperty("individual_id") + @JsonProperty("include") @ExcludeMissing - individualId: JsonField = JsonMissing.of() - ) : this(individualId, mutableMapOf()) + include: JsonField> = JsonMissing.of() + ) : this(include, mutableMapOf()) /** * @throws FinchInvalidDataException if the JSON field has an unexpected type (e.g. if the * server responded with an unexpected value). */ - fun individualId(): Optional = individualId.getOptional("individual_id") + fun include(): Optional> = include.getOptional("include") /** - * Returns the raw JSON value of [individualId]. + * Returns the raw JSON value of [include]. * - * Unlike [individualId], this method doesn't throw if the JSON field has an unexpected - * type. + * Unlike [include], this method doesn't throw if the JSON field has an unexpected type. */ - @JsonProperty("individual_id") - @ExcludeMissing - fun _individualId(): JsonField = individualId + @JsonProperty("include") @ExcludeMissing fun _include(): JsonField> = include @JsonAnySetter private fun putAdditionalProperty(key: String, value: JsonValue) { @@ -716,33 +750,45 @@ private constructor( companion object { - /** Returns a mutable builder for constructing an instance of [Request]. */ + /** Returns a mutable builder for constructing an instance of [Options]. */ @JvmStatic fun builder() = Builder() } - /** A builder for [Request]. */ + /** A builder for [Options]. */ class Builder internal constructor() { - private var individualId: JsonField = JsonMissing.of() + private var include: JsonField>? = null private var additionalProperties: MutableMap = mutableMapOf() @JvmSynthetic - internal fun from(request: Request) = apply { - individualId = request.individualId - additionalProperties = request.additionalProperties.toMutableMap() + internal fun from(options: Options) = apply { + include = options.include.map { it.toMutableList() } + additionalProperties = options.additionalProperties.toMutableMap() } - fun individualId(individualId: String) = individualId(JsonField.of(individualId)) + fun include(include: List) = include(JsonField.of(include)) /** - * Sets [Builder.individualId] to an arbitrary JSON value. + * Sets [Builder.include] to an arbitrary JSON value. * - * You should usually call [Builder.individualId] with a well-typed [String] value + * You should usually call [Builder.include] with a well-typed `List` value * instead. This method is primarily for setting the field to an undocumented or not yet * supported value. */ - fun individualId(individualId: JsonField) = apply { - this.individualId = individualId + fun include(include: JsonField>) = apply { + this.include = include.map { it.toMutableList() } + } + + /** + * Adds a single [String] to [Builder.include]. + * + * @throws IllegalStateException if the field was previously set to a non-list. + */ + fun addInclude(include: String) = apply { + this.include = + (this.include ?: JsonField.of(mutableListOf())).also { + checkKnown("include", it).add(include) + } } fun additionalProperties(additionalProperties: Map) = apply { @@ -765,11 +811,15 @@ private constructor( } /** - * Returns an immutable instance of [Request]. + * Returns an immutable instance of [Options]. * * Further updates to this [Builder] will not mutate the returned instance. */ - fun build(): Request = Request(individualId, additionalProperties.toMutableMap()) + fun build(): Options = + Options( + (include ?: JsonMissing.of()).map { it.toImmutable() }, + additionalProperties.toMutableMap(), + ) } private var validated: Boolean = false @@ -783,12 +833,12 @@ private constructor( * @throws FinchInvalidDataException if any value type in this object doesn't match its * expected type. */ - fun validate(): Request = apply { + fun validate(): Options = apply { if (validated) { return@apply } - individualId() + include() validated = true } @@ -806,25 +856,24 @@ private constructor( * * Used for best match union deserialization. */ - @JvmSynthetic - internal fun validity(): Int = (if (individualId.asKnown().isPresent) 1 else 0) + @JvmSynthetic internal fun validity(): Int = (include.asKnown().getOrNull()?.size ?: 0) override fun equals(other: Any?): Boolean { if (this === other) { return true } - return other is Request && - individualId == other.individualId && + return other is Options && + include == other.include && additionalProperties == other.additionalProperties } - private val hashCode: Int by lazy { Objects.hash(individualId, additionalProperties) } + private val hashCode: Int by lazy { Objects.hash(include, additionalProperties) } override fun hashCode(): Int = hashCode override fun toString() = - "Request{individualId=$individualId, additionalProperties=$additionalProperties}" + "Options{include=$include, additionalProperties=$additionalProperties}" } override fun equals(other: Any?): Boolean { diff --git a/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisPayStatementRetrieveManyParams.kt b/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisPayStatementRetrieveManyParams.kt index 56e6629a1..a545620fb 100644 --- a/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisPayStatementRetrieveManyParams.kt +++ b/finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisPayStatementRetrieveManyParams.kt @@ -39,7 +39,7 @@ private constructor( fun entityIds(): Optional> = Optional.ofNullable(entityIds) /** - * The array of batch requests. + * The array of batch requests. Maximum 10 payment_ids per request. * * @throws FinchInvalidDataException if the JSON field has an unexpected type or is unexpectedly * missing or null (e.g. if the server responded with an unexpected value). @@ -121,7 +121,7 @@ private constructor( */ fun body(body: Body) = apply { this.body = body.toBuilder() } - /** The array of batch requests. */ + /** The array of batch requests. Maximum 10 payment_ids per request. */ fun requests(requests: List) = apply { body.requests(requests) } /** @@ -305,7 +305,7 @@ private constructor( ) : this(requests, mutableMapOf()) /** - * The array of batch requests. + * The array of batch requests. Maximum 10 payment_ids per request. * * @throws FinchInvalidDataException if the JSON field has an unexpected type or is * unexpectedly missing or null (e.g. if the server responded with an unexpected value). @@ -358,7 +358,7 @@ private constructor( additionalProperties = body.additionalProperties.toMutableMap() } - /** The array of batch requests. */ + /** The array of batch requests. Maximum 10 payment_ids per request. */ fun requests(requests: List) = requests(JsonField.of(requests)) /** @@ -505,7 +505,7 @@ private constructor( fun paymentId(): String = paymentId.getRequired("payment_id") /** - * Number of pay statements to return (defaults to all). + * Number of pay statements to return (defaults to 100, maximum 5000). * * @throws FinchInvalidDataException if the JSON field has an unexpected type (e.g. if the * server responded with an unexpected value). @@ -594,7 +594,7 @@ private constructor( */ fun paymentId(paymentId: JsonField) = apply { this.paymentId = paymentId } - /** Number of pay statements to return (defaults to all). */ + /** Number of pay statements to return (defaults to 100, maximum 5000). */ fun limit(limit: Long) = limit(JsonField.of(limit)) /** diff --git a/finch-java-core/src/main/kotlin/com/tryfinch/api/services/async/hris/IndividualServiceAsync.kt b/finch-java-core/src/main/kotlin/com/tryfinch/api/services/async/hris/IndividualServiceAsync.kt index 8f491a049..ca92166e5 100644 --- a/finch-java-core/src/main/kotlin/com/tryfinch/api/services/async/hris/IndividualServiceAsync.kt +++ b/finch-java-core/src/main/kotlin/com/tryfinch/api/services/async/hris/IndividualServiceAsync.kt @@ -25,26 +25,16 @@ interface IndividualServiceAsync { fun withOptions(modifier: Consumer): IndividualServiceAsync /** Read individual data, excluding income and employment data */ - fun retrieveMany(): CompletableFuture = - retrieveMany(HrisIndividualRetrieveManyParams.none()) - - /** @see retrieveMany */ - fun retrieveMany( - params: HrisIndividualRetrieveManyParams = HrisIndividualRetrieveManyParams.none(), - requestOptions: RequestOptions = RequestOptions.none(), - ): CompletableFuture - - /** @see retrieveMany */ fun retrieveMany( - params: HrisIndividualRetrieveManyParams = HrisIndividualRetrieveManyParams.none() + params: HrisIndividualRetrieveManyParams ): CompletableFuture = retrieveMany(params, RequestOptions.none()) /** @see retrieveMany */ fun retrieveMany( - requestOptions: RequestOptions - ): CompletableFuture = - retrieveMany(HrisIndividualRetrieveManyParams.none(), requestOptions) + params: HrisIndividualRetrieveManyParams, + requestOptions: RequestOptions = RequestOptions.none(), + ): CompletableFuture /** * A view of [IndividualServiceAsync] that provides access to raw HTTP responses for each @@ -65,26 +55,15 @@ interface IndividualServiceAsync { * Returns a raw HTTP response for `post /employer/individual`, but is otherwise the same as * [IndividualServiceAsync.retrieveMany]. */ - fun retrieveMany(): - CompletableFuture> = - retrieveMany(HrisIndividualRetrieveManyParams.none()) - - /** @see retrieveMany */ - fun retrieveMany( - params: HrisIndividualRetrieveManyParams = HrisIndividualRetrieveManyParams.none(), - requestOptions: RequestOptions = RequestOptions.none(), - ): CompletableFuture> - - /** @see retrieveMany */ fun retrieveMany( - params: HrisIndividualRetrieveManyParams = HrisIndividualRetrieveManyParams.none() + params: HrisIndividualRetrieveManyParams ): CompletableFuture> = retrieveMany(params, RequestOptions.none()) /** @see retrieveMany */ fun retrieveMany( - requestOptions: RequestOptions - ): CompletableFuture> = - retrieveMany(HrisIndividualRetrieveManyParams.none(), requestOptions) + params: HrisIndividualRetrieveManyParams, + requestOptions: RequestOptions = RequestOptions.none(), + ): CompletableFuture> } } diff --git a/finch-java-core/src/main/kotlin/com/tryfinch/api/services/blocking/hris/IndividualService.kt b/finch-java-core/src/main/kotlin/com/tryfinch/api/services/blocking/hris/IndividualService.kt index 697e5dcca..67dd30ff3 100644 --- a/finch-java-core/src/main/kotlin/com/tryfinch/api/services/blocking/hris/IndividualService.kt +++ b/finch-java-core/src/main/kotlin/com/tryfinch/api/services/blocking/hris/IndividualService.kt @@ -25,24 +25,15 @@ interface IndividualService { fun withOptions(modifier: Consumer): IndividualService /** Read individual data, excluding income and employment data */ - fun retrieveMany(): HrisIndividualRetrieveManyPage = - retrieveMany(HrisIndividualRetrieveManyParams.none()) + fun retrieveMany(params: HrisIndividualRetrieveManyParams): HrisIndividualRetrieveManyPage = + retrieveMany(params, RequestOptions.none()) /** @see retrieveMany */ fun retrieveMany( - params: HrisIndividualRetrieveManyParams = HrisIndividualRetrieveManyParams.none(), + params: HrisIndividualRetrieveManyParams, requestOptions: RequestOptions = RequestOptions.none(), ): HrisIndividualRetrieveManyPage - /** @see retrieveMany */ - fun retrieveMany( - params: HrisIndividualRetrieveManyParams = HrisIndividualRetrieveManyParams.none() - ): HrisIndividualRetrieveManyPage = retrieveMany(params, RequestOptions.none()) - - /** @see retrieveMany */ - fun retrieveMany(requestOptions: RequestOptions): HrisIndividualRetrieveManyPage = - retrieveMany(HrisIndividualRetrieveManyParams.none(), requestOptions) - /** A view of [IndividualService] that provides access to raw HTTP responses for each method. */ interface WithRawResponse { @@ -60,28 +51,16 @@ interface IndividualService { * [IndividualService.retrieveMany]. */ @MustBeClosed - fun retrieveMany(): HttpResponseFor = - retrieveMany(HrisIndividualRetrieveManyParams.none()) - - /** @see retrieveMany */ - @MustBeClosed fun retrieveMany( - params: HrisIndividualRetrieveManyParams = HrisIndividualRetrieveManyParams.none(), - requestOptions: RequestOptions = RequestOptions.none(), - ): HttpResponseFor - - /** @see retrieveMany */ - @MustBeClosed - fun retrieveMany( - params: HrisIndividualRetrieveManyParams = HrisIndividualRetrieveManyParams.none() + params: HrisIndividualRetrieveManyParams ): HttpResponseFor = retrieveMany(params, RequestOptions.none()) /** @see retrieveMany */ @MustBeClosed fun retrieveMany( - requestOptions: RequestOptions - ): HttpResponseFor = - retrieveMany(HrisIndividualRetrieveManyParams.none(), requestOptions) + params: HrisIndividualRetrieveManyParams, + requestOptions: RequestOptions = RequestOptions.none(), + ): HttpResponseFor } } diff --git a/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisDirectoryListIndividualsParamsTest.kt b/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisDirectoryListIndividualsParamsTest.kt index f9501de0a..20e7f976f 100644 --- a/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisDirectoryListIndividualsParamsTest.kt +++ b/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisDirectoryListIndividualsParamsTest.kt @@ -12,7 +12,7 @@ internal class HrisDirectoryListIndividualsParamsTest { fun create() { HrisDirectoryListIndividualsParams.builder() .addEntityId("550e8400-e29b-41d4-a716-446655440000") - .limit(0L) + .limit(10000L) .offset(0L) .build() } @@ -22,7 +22,7 @@ internal class HrisDirectoryListIndividualsParamsTest { val params = HrisDirectoryListIndividualsParams.builder() .addEntityId("550e8400-e29b-41d4-a716-446655440000") - .limit(0L) + .limit(10000L) .offset(0L) .build() @@ -32,7 +32,7 @@ internal class HrisDirectoryListIndividualsParamsTest { .isEqualTo( QueryParams.builder() .put("entity_ids[]", "550e8400-e29b-41d4-a716-446655440000") - .put("limit", "0") + .put("limit", "10000") .put("offset", "0") .build() ) diff --git a/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisDirectoryListParamsTest.kt b/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisDirectoryListParamsTest.kt index f6f231aa2..b7130cd1e 100644 --- a/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisDirectoryListParamsTest.kt +++ b/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisDirectoryListParamsTest.kt @@ -12,7 +12,7 @@ internal class HrisDirectoryListParamsTest { fun create() { HrisDirectoryListParams.builder() .addEntityId("550e8400-e29b-41d4-a716-446655440000") - .limit(0L) + .limit(10000L) .offset(0L) .build() } @@ -22,7 +22,7 @@ internal class HrisDirectoryListParamsTest { val params = HrisDirectoryListParams.builder() .addEntityId("550e8400-e29b-41d4-a716-446655440000") - .limit(0L) + .limit(10000L) .offset(0L) .build() @@ -32,7 +32,7 @@ internal class HrisDirectoryListParamsTest { .isEqualTo( QueryParams.builder() .put("entity_ids[]", "550e8400-e29b-41d4-a716-446655440000") - .put("limit", "0") + .put("limit", "10000") .put("offset", "0") .build() ) diff --git a/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisIndividualRetrieveManyParamsTest.kt b/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisIndividualRetrieveManyParamsTest.kt index 9c59770df..4abad7dd4 100644 --- a/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisIndividualRetrieveManyParamsTest.kt +++ b/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisIndividualRetrieveManyParamsTest.kt @@ -3,7 +3,6 @@ package com.tryfinch.api.models import com.tryfinch.api.core.http.QueryParams -import kotlin.jvm.optionals.getOrNull import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test @@ -13,14 +12,14 @@ internal class HrisIndividualRetrieveManyParamsTest { fun create() { HrisIndividualRetrieveManyParams.builder() .addEntityId("550e8400-e29b-41d4-a716-446655440000") - .options( - HrisIndividualRetrieveManyParams.Options.builder().addInclude("string").build() - ) .addRequest( HrisIndividualRetrieveManyParams.Request.builder() .individualId("individual_id") .build() ) + .options( + HrisIndividualRetrieveManyParams.Options.builder().addInclude("string").build() + ) .build() } @@ -29,14 +28,14 @@ internal class HrisIndividualRetrieveManyParamsTest { val params = HrisIndividualRetrieveManyParams.builder() .addEntityId("550e8400-e29b-41d4-a716-446655440000") - .options( - HrisIndividualRetrieveManyParams.Options.builder().addInclude("string").build() - ) .addRequest( HrisIndividualRetrieveManyParams.Request.builder() .individualId("individual_id") .build() ) + .options( + HrisIndividualRetrieveManyParams.Options.builder().addInclude("string").build() + ) .build() val queryParams = params._queryParams() @@ -51,7 +50,14 @@ internal class HrisIndividualRetrieveManyParamsTest { @Test fun queryParamsWithoutOptionalFields() { - val params = HrisIndividualRetrieveManyParams.builder().build() + val params = + HrisIndividualRetrieveManyParams.builder() + .addRequest( + HrisIndividualRetrieveManyParams.Request.builder() + .individualId("individual_id") + .build() + ) + .build() val queryParams = params._queryParams() @@ -63,34 +69,48 @@ internal class HrisIndividualRetrieveManyParamsTest { val params = HrisIndividualRetrieveManyParams.builder() .addEntityId("550e8400-e29b-41d4-a716-446655440000") - .options( - HrisIndividualRetrieveManyParams.Options.builder().addInclude("string").build() - ) .addRequest( HrisIndividualRetrieveManyParams.Request.builder() .individualId("individual_id") .build() ) + .options( + HrisIndividualRetrieveManyParams.Options.builder().addInclude("string").build() + ) .build() val body = params._body() - assertThat(body.options()) - .contains( - HrisIndividualRetrieveManyParams.Options.builder().addInclude("string").build() - ) - assertThat(body.requests().getOrNull()) + assertThat(body.requests()) .containsExactly( HrisIndividualRetrieveManyParams.Request.builder() .individualId("individual_id") .build() ) + assertThat(body.options()) + .contains( + HrisIndividualRetrieveManyParams.Options.builder().addInclude("string").build() + ) } @Test fun bodyWithoutOptionalFields() { - val params = HrisIndividualRetrieveManyParams.builder().build() + val params = + HrisIndividualRetrieveManyParams.builder() + .addRequest( + HrisIndividualRetrieveManyParams.Request.builder() + .individualId("individual_id") + .build() + ) + .build() val body = params._body() + + assertThat(body.requests()) + .containsExactly( + HrisIndividualRetrieveManyParams.Request.builder() + .individualId("individual_id") + .build() + ) } } diff --git a/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisPayStatementRetrieveManyParamsTest.kt b/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisPayStatementRetrieveManyParamsTest.kt index ec29fb0be..bb9a1afc2 100644 --- a/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisPayStatementRetrieveManyParamsTest.kt +++ b/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisPayStatementRetrieveManyParamsTest.kt @@ -14,8 +14,8 @@ internal class HrisPayStatementRetrieveManyParamsTest { .addEntityId("550e8400-e29b-41d4-a716-446655440000") .addRequest( HrisPayStatementRetrieveManyParams.Request.builder() - .paymentId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .limit(50L) + .paymentId("fc8b024e-d373-4c9c-80fc-f1625383d142") + .limit(100L) .offset(0L) .build() ) @@ -29,8 +29,8 @@ internal class HrisPayStatementRetrieveManyParamsTest { .addEntityId("550e8400-e29b-41d4-a716-446655440000") .addRequest( HrisPayStatementRetrieveManyParams.Request.builder() - .paymentId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .limit(50L) + .paymentId("fc8b024e-d373-4c9c-80fc-f1625383d142") + .limit(100L) .offset(0L) .build() ) @@ -52,7 +52,7 @@ internal class HrisPayStatementRetrieveManyParamsTest { HrisPayStatementRetrieveManyParams.builder() .addRequest( HrisPayStatementRetrieveManyParams.Request.builder() - .paymentId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + .paymentId("fc8b024e-d373-4c9c-80fc-f1625383d142") .build() ) .build() @@ -69,8 +69,8 @@ internal class HrisPayStatementRetrieveManyParamsTest { .addEntityId("550e8400-e29b-41d4-a716-446655440000") .addRequest( HrisPayStatementRetrieveManyParams.Request.builder() - .paymentId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .limit(50L) + .paymentId("fc8b024e-d373-4c9c-80fc-f1625383d142") + .limit(100L) .offset(0L) .build() ) @@ -81,8 +81,8 @@ internal class HrisPayStatementRetrieveManyParamsTest { assertThat(body.requests()) .containsExactly( HrisPayStatementRetrieveManyParams.Request.builder() - .paymentId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .limit(50L) + .paymentId("fc8b024e-d373-4c9c-80fc-f1625383d142") + .limit(100L) .offset(0L) .build() ) @@ -94,7 +94,7 @@ internal class HrisPayStatementRetrieveManyParamsTest { HrisPayStatementRetrieveManyParams.builder() .addRequest( HrisPayStatementRetrieveManyParams.Request.builder() - .paymentId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + .paymentId("fc8b024e-d373-4c9c-80fc-f1625383d142") .build() ) .build() @@ -104,7 +104,7 @@ internal class HrisPayStatementRetrieveManyParamsTest { assertThat(body.requests()) .containsExactly( HrisPayStatementRetrieveManyParams.Request.builder() - .paymentId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + .paymentId("fc8b024e-d373-4c9c-80fc-f1625383d142") .build() ) } diff --git a/finch-java-core/src/test/kotlin/com/tryfinch/api/services/async/hris/IndividualServiceAsyncTest.kt b/finch-java-core/src/test/kotlin/com/tryfinch/api/services/async/hris/IndividualServiceAsyncTest.kt index 1bb5caf8b..4afd6777e 100644 --- a/finch-java-core/src/test/kotlin/com/tryfinch/api/services/async/hris/IndividualServiceAsyncTest.kt +++ b/finch-java-core/src/test/kotlin/com/tryfinch/api/services/async/hris/IndividualServiceAsyncTest.kt @@ -4,6 +4,7 @@ package com.tryfinch.api.services.async.hris import com.tryfinch.api.TestServerExtension import com.tryfinch.api.client.okhttp.FinchOkHttpClientAsync +import com.tryfinch.api.models.HrisIndividualRetrieveManyParams import org.junit.jupiter.api.Test import org.junit.jupiter.api.extension.ExtendWith @@ -19,7 +20,16 @@ internal class IndividualServiceAsyncTest { .build() val individualServiceAsync = client.hris().individuals() - val pageFuture = individualServiceAsync.retrieveMany() + val pageFuture = + individualServiceAsync.retrieveMany( + HrisIndividualRetrieveManyParams.builder() + .addRequest( + HrisIndividualRetrieveManyParams.Request.builder() + .individualId("individual_id") + .build() + ) + .build() + ) val page = pageFuture.get() page.response().validate() diff --git a/finch-java-core/src/test/kotlin/com/tryfinch/api/services/async/hris/PayStatementServiceAsyncTest.kt b/finch-java-core/src/test/kotlin/com/tryfinch/api/services/async/hris/PayStatementServiceAsyncTest.kt index 7e582c59c..0113a656a 100644 --- a/finch-java-core/src/test/kotlin/com/tryfinch/api/services/async/hris/PayStatementServiceAsyncTest.kt +++ b/finch-java-core/src/test/kotlin/com/tryfinch/api/services/async/hris/PayStatementServiceAsyncTest.kt @@ -25,7 +25,7 @@ internal class PayStatementServiceAsyncTest { HrisPayStatementRetrieveManyParams.builder() .addRequest( HrisPayStatementRetrieveManyParams.Request.builder() - .paymentId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + .paymentId("fc8b024e-d373-4c9c-80fc-f1625383d142") .build() ) .build() diff --git a/finch-java-core/src/test/kotlin/com/tryfinch/api/services/blocking/hris/IndividualServiceTest.kt b/finch-java-core/src/test/kotlin/com/tryfinch/api/services/blocking/hris/IndividualServiceTest.kt index 83d763cf0..dd9116341 100644 --- a/finch-java-core/src/test/kotlin/com/tryfinch/api/services/blocking/hris/IndividualServiceTest.kt +++ b/finch-java-core/src/test/kotlin/com/tryfinch/api/services/blocking/hris/IndividualServiceTest.kt @@ -4,6 +4,7 @@ package com.tryfinch.api.services.blocking.hris import com.tryfinch.api.TestServerExtension import com.tryfinch.api.client.okhttp.FinchOkHttpClient +import com.tryfinch.api.models.HrisIndividualRetrieveManyParams import org.junit.jupiter.api.Test import org.junit.jupiter.api.extension.ExtendWith @@ -19,7 +20,16 @@ internal class IndividualServiceTest { .build() val individualService = client.hris().individuals() - val page = individualService.retrieveMany() + val page = + individualService.retrieveMany( + HrisIndividualRetrieveManyParams.builder() + .addRequest( + HrisIndividualRetrieveManyParams.Request.builder() + .individualId("individual_id") + .build() + ) + .build() + ) page.response().validate() } diff --git a/finch-java-core/src/test/kotlin/com/tryfinch/api/services/blocking/hris/PayStatementServiceTest.kt b/finch-java-core/src/test/kotlin/com/tryfinch/api/services/blocking/hris/PayStatementServiceTest.kt index cca8bd084..aa5a0e3dc 100644 --- a/finch-java-core/src/test/kotlin/com/tryfinch/api/services/blocking/hris/PayStatementServiceTest.kt +++ b/finch-java-core/src/test/kotlin/com/tryfinch/api/services/blocking/hris/PayStatementServiceTest.kt @@ -25,7 +25,7 @@ internal class PayStatementServiceTest { HrisPayStatementRetrieveManyParams.builder() .addRequest( HrisPayStatementRetrieveManyParams.Request.builder() - .paymentId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + .paymentId("fc8b024e-d373-4c9c-80fc-f1625383d142") .build() ) .build() From 8deefca3c57aa15bae72c2a5359d4118b8a20111 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 13 Jul 2026 17:24:16 +0000 Subject: [PATCH 2/2] release: 8.2.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 e857f2d89..1d35995e6 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "8.1.0" + ".": "8.2.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 57b4d8ac1..d8112a628 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 8.2.0 (2026-07-13) + +Full Changelog: [v8.1.0...v8.2.0](https://github.com/Finch-API/finch-api-java/compare/v8.1.0...v8.2.0) + +### Features + +* **api:** api update ([3de68b0](https://github.com/Finch-API/finch-api-java/commit/3de68b03ee9fe17eb3c14e26d238a74e3ffcc8fc)) + ## 8.1.0 (2026-07-01) Full Changelog: [v8.0.1...v8.1.0](https://github.com/Finch-API/finch-api-java/compare/v8.0.1...v8.1.0) diff --git a/README.md b/README.md index cf728ca37..2bec2cc39 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@ -[![Maven Central](https://img.shields.io/maven-central/v/com.tryfinch.api/finch-java)](https://central.sonatype.com/artifact/com.tryfinch.api/finch-java/8.1.0) -[![javadoc](https://javadoc.io/badge2/com.tryfinch.api/finch-java/8.1.0/javadoc.svg)](https://javadoc.io/doc/com.tryfinch.api/finch-java/8.1.0) +[![Maven Central](https://img.shields.io/maven-central/v/com.tryfinch.api/finch-java)](https://central.sonatype.com/artifact/com.tryfinch.api/finch-java/8.2.0) +[![javadoc](https://javadoc.io/badge2/com.tryfinch.api/finch-java/8.2.0/javadoc.svg)](https://javadoc.io/doc/com.tryfinch.api/finch-java/8.2.0) @@ -24,7 +24,7 @@ Use the Finch MCP Server to enable AI assistants to interact with this API, allo -The REST API documentation can be found on [developer.tryfinch.com](https://developer.tryfinch.com/). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.tryfinch.api/finch-java/8.1.0). +The REST API documentation can be found on [developer.tryfinch.com](https://developer.tryfinch.com/). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.tryfinch.api/finch-java/8.2.0). @@ -35,7 +35,7 @@ The REST API documentation can be found on [developer.tryfinch.com](https://deve ### Gradle ```kotlin -implementation("com.tryfinch.api:finch-java:8.1.0") +implementation("com.tryfinch.api:finch-java:8.2.0") ``` ### Maven @@ -44,7 +44,7 @@ implementation("com.tryfinch.api:finch-java:8.1.0") com.tryfinch.api finch-java - 8.1.0 + 8.2.0 ``` diff --git a/build.gradle.kts b/build.gradle.kts index 7613d09f5..03ec65fcb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,7 @@ repositories { allprojects { group = "com.tryfinch.api" - version = "8.1.0" // x-release-please-version + version = "8.2.0" // x-release-please-version } subprojects {