Skip to content

Commit ec6fa40

Browse files
feat(client): allow providing some params positionally
1 parent f901d77 commit ec6fa40

File tree

64 files changed

+1856
-426
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+1856
-426
lines changed

finch-java-core/src/main/kotlin/com/tryfinch/api/core/Check.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ package com.tryfinch.api.core
55
import com.fasterxml.jackson.core.Version
66
import com.fasterxml.jackson.core.util.VersionUtil
77

8+
fun checkRequired(name: String, condition: Boolean) =
9+
check(condition) { "`$name` is required, but was not set" }
10+
811
fun <T : Any> checkRequired(name: String, value: T?): T =
912
checkNotNull(value) { "`$name` is required, but was not set" }
1013

finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisBenefitIndividualEnrolledIdsParams.kt

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,21 @@
33
package com.tryfinch.api.models
44

55
import com.tryfinch.api.core.Params
6-
import com.tryfinch.api.core.checkRequired
76
import com.tryfinch.api.core.http.Headers
87
import com.tryfinch.api.core.http.QueryParams
98
import java.util.Objects
9+
import java.util.Optional
10+
import kotlin.jvm.optionals.getOrNull
1011

1112
/** Lists individuals currently enrolled in a given deduction. */
1213
class HrisBenefitIndividualEnrolledIdsParams
1314
private constructor(
14-
private val benefitId: String,
15+
private val benefitId: String?,
1516
private val additionalHeaders: Headers,
1617
private val additionalQueryParams: QueryParams,
1718
) : Params {
1819

19-
fun benefitId(): String = benefitId
20+
fun benefitId(): Optional<String> = Optional.ofNullable(benefitId)
2021

2122
fun _additionalHeaders(): Headers = additionalHeaders
2223

@@ -26,14 +27,11 @@ private constructor(
2627

2728
companion object {
2829

30+
@JvmStatic fun none(): HrisBenefitIndividualEnrolledIdsParams = builder().build()
31+
2932
/**
3033
* Returns a mutable builder for constructing an instance of
3134
* [HrisBenefitIndividualEnrolledIdsParams].
32-
*
33-
* The following fields are required:
34-
* ```java
35-
* .benefitId()
36-
* ```
3735
*/
3836
@JvmStatic fun builder() = Builder()
3937
}
@@ -55,7 +53,10 @@ private constructor(
5553
hrisBenefitIndividualEnrolledIdsParams.additionalQueryParams.toBuilder()
5654
}
5755

58-
fun benefitId(benefitId: String) = apply { this.benefitId = benefitId }
56+
fun benefitId(benefitId: String?) = apply { this.benefitId = benefitId }
57+
58+
/** Alias for calling [Builder.benefitId] with `benefitId.orElse(null)`. */
59+
fun benefitId(benefitId: Optional<String>) = benefitId(benefitId.getOrNull())
5960

6061
fun additionalHeaders(additionalHeaders: Headers) = apply {
6162
this.additionalHeaders.clear()
@@ -159,25 +160,18 @@ private constructor(
159160
* Returns an immutable instance of [HrisBenefitIndividualEnrolledIdsParams].
160161
*
161162
* Further updates to this [Builder] will not mutate the returned instance.
162-
*
163-
* The following fields are required:
164-
* ```java
165-
* .benefitId()
166-
* ```
167-
*
168-
* @throws IllegalStateException if any required field is unset.
169163
*/
170164
fun build(): HrisBenefitIndividualEnrolledIdsParams =
171165
HrisBenefitIndividualEnrolledIdsParams(
172-
checkRequired("benefitId", benefitId),
166+
benefitId,
173167
additionalHeaders.build(),
174168
additionalQueryParams.build(),
175169
)
176170
}
177171

178172
fun _pathParam(index: Int): String =
179173
when (index) {
180-
0 -> benefitId
174+
0 -> benefitId ?: ""
181175
else -> ""
182176
}
183177

finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisBenefitIndividualRetrieveManyBenefitsParams.kt

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
package com.tryfinch.api.models
44

55
import com.tryfinch.api.core.Params
6-
import com.tryfinch.api.core.checkRequired
76
import com.tryfinch.api.core.http.Headers
87
import com.tryfinch.api.core.http.QueryParams
98
import java.util.Objects
@@ -13,13 +12,13 @@ import kotlin.jvm.optionals.getOrNull
1312
/** Get enrollment information for the given individuals. */
1413
class HrisBenefitIndividualRetrieveManyBenefitsParams
1514
private constructor(
16-
private val benefitId: String,
15+
private val benefitId: String?,
1716
private val individualIds: String?,
1817
private val additionalHeaders: Headers,
1918
private val additionalQueryParams: QueryParams,
2019
) : Params {
2120

22-
fun benefitId(): String = benefitId
21+
fun benefitId(): Optional<String> = Optional.ofNullable(benefitId)
2322

2423
/**
2524
* comma-delimited list of stable Finch uuids for each individual. If empty, defaults to all
@@ -35,14 +34,11 @@ private constructor(
3534

3635
companion object {
3736

37+
@JvmStatic fun none(): HrisBenefitIndividualRetrieveManyBenefitsParams = builder().build()
38+
3839
/**
3940
* Returns a mutable builder for constructing an instance of
4041
* [HrisBenefitIndividualRetrieveManyBenefitsParams].
41-
*
42-
* The following fields are required:
43-
* ```java
44-
* .benefitId()
45-
* ```
4642
*/
4743
@JvmStatic fun builder() = Builder()
4844
}
@@ -68,7 +64,10 @@ private constructor(
6864
hrisBenefitIndividualRetrieveManyBenefitsParams.additionalQueryParams.toBuilder()
6965
}
7066

71-
fun benefitId(benefitId: String) = apply { this.benefitId = benefitId }
67+
fun benefitId(benefitId: String?) = apply { this.benefitId = benefitId }
68+
69+
/** Alias for calling [Builder.benefitId] with `benefitId.orElse(null)`. */
70+
fun benefitId(benefitId: Optional<String>) = benefitId(benefitId.getOrNull())
7271

7372
/**
7473
* comma-delimited list of stable Finch uuids for each individual. If empty, defaults to all
@@ -182,17 +181,10 @@ private constructor(
182181
* Returns an immutable instance of [HrisBenefitIndividualRetrieveManyBenefitsParams].
183182
*
184183
* Further updates to this [Builder] will not mutate the returned instance.
185-
*
186-
* The following fields are required:
187-
* ```java
188-
* .benefitId()
189-
* ```
190-
*
191-
* @throws IllegalStateException if any required field is unset.
192184
*/
193185
fun build(): HrisBenefitIndividualRetrieveManyBenefitsParams =
194186
HrisBenefitIndividualRetrieveManyBenefitsParams(
195-
checkRequired("benefitId", benefitId),
187+
benefitId,
196188
individualIds,
197189
additionalHeaders.build(),
198190
additionalQueryParams.build(),
@@ -201,7 +193,7 @@ private constructor(
201193

202194
fun _pathParam(index: Int): String =
203195
when (index) {
204-
0 -> benefitId
196+
0 -> benefitId ?: ""
205197
else -> ""
206198
}
207199

finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisBenefitIndividualUnenrollManyParams.kt

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import com.tryfinch.api.core.JsonMissing
1212
import com.tryfinch.api.core.JsonValue
1313
import com.tryfinch.api.core.Params
1414
import com.tryfinch.api.core.checkKnown
15-
import com.tryfinch.api.core.checkRequired
1615
import com.tryfinch.api.core.http.Headers
1716
import com.tryfinch.api.core.http.QueryParams
1817
import com.tryfinch.api.core.toImmutable
@@ -25,13 +24,13 @@ import kotlin.jvm.optionals.getOrNull
2524
/** Unenroll individuals from a deduction or contribution */
2625
class HrisBenefitIndividualUnenrollManyParams
2726
private constructor(
28-
private val benefitId: String,
27+
private val benefitId: String?,
2928
private val body: Body,
3029
private val additionalHeaders: Headers,
3130
private val additionalQueryParams: QueryParams,
3231
) : Params {
3332

34-
fun benefitId(): String = benefitId
33+
fun benefitId(): Optional<String> = Optional.ofNullable(benefitId)
3534

3635
/**
3736
* Array of individual_ids to unenroll.
@@ -58,14 +57,11 @@ private constructor(
5857

5958
companion object {
6059

60+
@JvmStatic fun none(): HrisBenefitIndividualUnenrollManyParams = builder().build()
61+
6162
/**
6263
* Returns a mutable builder for constructing an instance of
6364
* [HrisBenefitIndividualUnenrollManyParams].
64-
*
65-
* The following fields are required:
66-
* ```java
67-
* .benefitId()
68-
* ```
6965
*/
7066
@JvmStatic fun builder() = Builder()
7167
}
@@ -90,7 +86,10 @@ private constructor(
9086
hrisBenefitIndividualUnenrollManyParams.additionalQueryParams.toBuilder()
9187
}
9288

93-
fun benefitId(benefitId: String) = apply { this.benefitId = benefitId }
89+
fun benefitId(benefitId: String?) = apply { this.benefitId = benefitId }
90+
91+
/** Alias for calling [Builder.benefitId] with `benefitId.orElse(null)`. */
92+
fun benefitId(benefitId: Optional<String>) = benefitId(benefitId.getOrNull())
9493

9594
/**
9695
* Sets the entire request body.
@@ -243,17 +242,10 @@ private constructor(
243242
* Returns an immutable instance of [HrisBenefitIndividualUnenrollManyParams].
244243
*
245244
* Further updates to this [Builder] will not mutate the returned instance.
246-
*
247-
* The following fields are required:
248-
* ```java
249-
* .benefitId()
250-
* ```
251-
*
252-
* @throws IllegalStateException if any required field is unset.
253245
*/
254246
fun build(): HrisBenefitIndividualUnenrollManyParams =
255247
HrisBenefitIndividualUnenrollManyParams(
256-
checkRequired("benefitId", benefitId),
248+
benefitId,
257249
body.build(),
258250
additionalHeaders.build(),
259251
additionalQueryParams.build(),
@@ -264,7 +256,7 @@ private constructor(
264256

265257
fun _pathParam(index: Int): String =
266258
when (index) {
267-
0 -> benefitId
259+
0 -> benefitId ?: ""
268260
else -> ""
269261
}
270262

finch-java-core/src/main/kotlin/com/tryfinch/api/models/HrisBenefitRetrieveParams.kt

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,21 @@
33
package com.tryfinch.api.models
44

55
import com.tryfinch.api.core.Params
6-
import com.tryfinch.api.core.checkRequired
76
import com.tryfinch.api.core.http.Headers
87
import com.tryfinch.api.core.http.QueryParams
98
import java.util.Objects
9+
import java.util.Optional
10+
import kotlin.jvm.optionals.getOrNull
1011

1112
/** Lists deductions and contributions information for a given item */
1213
class HrisBenefitRetrieveParams
1314
private constructor(
14-
private val benefitId: String,
15+
private val benefitId: String?,
1516
private val additionalHeaders: Headers,
1617
private val additionalQueryParams: QueryParams,
1718
) : Params {
1819

19-
fun benefitId(): String = benefitId
20+
fun benefitId(): Optional<String> = Optional.ofNullable(benefitId)
2021

2122
fun _additionalHeaders(): Headers = additionalHeaders
2223

@@ -26,13 +27,10 @@ private constructor(
2627

2728
companion object {
2829

30+
@JvmStatic fun none(): HrisBenefitRetrieveParams = builder().build()
31+
2932
/**
3033
* Returns a mutable builder for constructing an instance of [HrisBenefitRetrieveParams].
31-
*
32-
* The following fields are required:
33-
* ```java
34-
* .benefitId()
35-
* ```
3634
*/
3735
@JvmStatic fun builder() = Builder()
3836
}
@@ -51,7 +49,10 @@ private constructor(
5149
additionalQueryParams = hrisBenefitRetrieveParams.additionalQueryParams.toBuilder()
5250
}
5351

54-
fun benefitId(benefitId: String) = apply { this.benefitId = benefitId }
52+
fun benefitId(benefitId: String?) = apply { this.benefitId = benefitId }
53+
54+
/** Alias for calling [Builder.benefitId] with `benefitId.orElse(null)`. */
55+
fun benefitId(benefitId: Optional<String>) = benefitId(benefitId.getOrNull())
5556

5657
fun additionalHeaders(additionalHeaders: Headers) = apply {
5758
this.additionalHeaders.clear()
@@ -155,25 +156,18 @@ private constructor(
155156
* Returns an immutable instance of [HrisBenefitRetrieveParams].
156157
*
157158
* Further updates to this [Builder] will not mutate the returned instance.
158-
*
159-
* The following fields are required:
160-
* ```java
161-
* .benefitId()
162-
* ```
163-
*
164-
* @throws IllegalStateException if any required field is unset.
165159
*/
166160
fun build(): HrisBenefitRetrieveParams =
167161
HrisBenefitRetrieveParams(
168-
checkRequired("benefitId", benefitId),
162+
benefitId,
169163
additionalHeaders.build(),
170164
additionalQueryParams.build(),
171165
)
172166
}
173167

174168
fun _pathParam(index: Int): String =
175169
when (index) {
176-
0 -> benefitId
170+
0 -> benefitId ?: ""
177171
else -> ""
178172
}
179173

0 commit comments

Comments
 (0)