Skip to content

Commit 7d8bf1b

Browse files
chore(client)!: rename some params builder methods (#485)
chore(internal): use better test example values chore(internal): rename internal body classes chore(internal): make body class constructors private chore(internal): make body classes for multipart requests chore(internal): misc formatting changes # Migration Instead of writing: `AccountHolderCreateParams.builder().forKyb(...).build()` or similar Write: `AccountHolderCreateParams.builder().body(...).build()`
1 parent e2e4bc8 commit 7d8bf1b

File tree

134 files changed

+6468
-5870
lines changed

Some content is hidden

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

134 files changed

+6468
-5870
lines changed

lithic-java-core/src/main/kotlin/com/lithic/api/models/AccountHolderCreateParams.kt

Lines changed: 74 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import com.lithic.api.core.BaseSerializer
1414
import com.lithic.api.core.JsonValue
1515
import com.lithic.api.core.NoAutoDetect
1616
import com.lithic.api.core.Params
17+
import com.lithic.api.core.checkRequired
1718
import com.lithic.api.core.getOrThrow
1819
import com.lithic.api.core.http.Headers
1920
import com.lithic.api.core.http.QueryParams
@@ -31,31 +32,27 @@ import java.util.Optional
3132
*/
3233
class AccountHolderCreateParams
3334
private constructor(
34-
private val body: AccountHolderCreateBody,
35+
private val body: Body,
3536
private val additionalHeaders: Headers,
3637
private val additionalQueryParams: QueryParams,
3738
) : Params {
3839

39-
fun kyb(): Optional<Kyb> = body.kyb()
40-
41-
fun kyc(): Optional<Kyc> = body.kyc()
42-
43-
fun kycExempt(): Optional<KycExempt> = body.kycExempt()
40+
fun body(): Body = body
4441

4542
fun _additionalHeaders(): Headers = additionalHeaders
4643

4744
fun _additionalQueryParams(): QueryParams = additionalQueryParams
4845

49-
@JvmSynthetic internal fun _body(): AccountHolderCreateBody = body
46+
@JvmSynthetic internal fun _body(): Body = body
5047

5148
override fun _headers(): Headers = additionalHeaders
5249

5350
override fun _queryParams(): QueryParams = additionalQueryParams
5451

55-
@JsonDeserialize(using = AccountHolderCreateBody.Deserializer::class)
56-
@JsonSerialize(using = AccountHolderCreateBody.Serializer::class)
57-
class AccountHolderCreateBody
58-
internal constructor(
52+
@JsonDeserialize(using = Body.Deserializer::class)
53+
@JsonSerialize(using = Body.Serializer::class)
54+
class Body
55+
private constructor(
5956
private val kyb: Kyb? = null,
6057
private val kyc: Kyc? = null,
6158
private val kycExempt: KycExempt? = null,
@@ -91,39 +88,60 @@ private constructor(
9188
}
9289
}
9390

91+
private var validated: Boolean = false
92+
93+
fun validate(): Body = apply {
94+
if (validated) {
95+
return@apply
96+
}
97+
98+
accept(
99+
object : Visitor<Unit> {
100+
override fun visitKyb(kyb: Kyb) {
101+
kyb.validate()
102+
}
103+
104+
override fun visitKyc(kyc: Kyc) {
105+
kyc.validate()
106+
}
107+
108+
override fun visitKycExempt(kycExempt: KycExempt) {
109+
kycExempt.validate()
110+
}
111+
}
112+
)
113+
validated = true
114+
}
115+
94116
override fun equals(other: Any?): Boolean {
95117
if (this === other) {
96118
return true
97119
}
98120

99-
return /* spotless:off */ other is AccountHolderCreateBody && kyb == other.kyb && kyc == other.kyc && kycExempt == other.kycExempt /* spotless:on */
121+
return /* spotless:off */ other is Body && kyb == other.kyb && kyc == other.kyc && kycExempt == other.kycExempt /* spotless:on */
100122
}
101123

102124
override fun hashCode(): Int = /* spotless:off */ Objects.hash(kyb, kyc, kycExempt) /* spotless:on */
103125

104126
override fun toString(): String =
105127
when {
106-
kyb != null -> "AccountHolderCreateBody{kyb=$kyb}"
107-
kyc != null -> "AccountHolderCreateBody{kyc=$kyc}"
108-
kycExempt != null -> "AccountHolderCreateBody{kycExempt=$kycExempt}"
109-
_json != null -> "AccountHolderCreateBody{_unknown=$_json}"
110-
else -> throw IllegalStateException("Invalid AccountHolderCreateBody")
128+
kyb != null -> "Body{kyb=$kyb}"
129+
kyc != null -> "Body{kyc=$kyc}"
130+
kycExempt != null -> "Body{kycExempt=$kycExempt}"
131+
_json != null -> "Body{_unknown=$_json}"
132+
else -> throw IllegalStateException("Invalid Body")
111133
}
112134

113135
companion object {
114136

115-
@JvmStatic fun ofKyb(kyb: Kyb) = AccountHolderCreateBody(kyb = kyb)
137+
@JvmStatic fun ofKyb(kyb: Kyb) = Body(kyb = kyb)
116138

117-
@JvmStatic fun ofKyc(kyc: Kyc) = AccountHolderCreateBody(kyc = kyc)
139+
@JvmStatic fun ofKyc(kyc: Kyc) = Body(kyc = kyc)
118140

119-
@JvmStatic
120-
fun ofKycExempt(kycExempt: KycExempt) = AccountHolderCreateBody(kycExempt = kycExempt)
141+
@JvmStatic fun ofKycExempt(kycExempt: KycExempt) = Body(kycExempt = kycExempt)
121142
}
122143

123-
/**
124-
* An interface that defines how to map each variant of [AccountHolderCreateBody] to a value
125-
* of type [T].
126-
*/
144+
/** An interface that defines how to map each variant of [Body] to a value of type [T]. */
127145
interface Visitor<out T> {
128146

129147
fun visitKyb(kyb: Kyb): T
@@ -133,45 +151,45 @@ private constructor(
133151
fun visitKycExempt(kycExempt: KycExempt): T
134152

135153
/**
136-
* Maps an unknown variant of [AccountHolderCreateBody] to a value of type [T].
154+
* Maps an unknown variant of [Body] to a value of type [T].
137155
*
138-
* An instance of [AccountHolderCreateBody] can contain an unknown variant if it was
139-
* deserialized from data that doesn't match any known variant. For example, if the SDK
140-
* is on an older version than the API, then the API may respond with new variants that
141-
* the SDK is unaware of.
156+
* An instance of [Body] can contain an unknown variant if it was deserialized from data
157+
* that doesn't match any known variant. For example, if the SDK is on an older version
158+
* than the API, then the API may respond with new variants that the SDK is unaware of.
142159
*
143160
* @throws LithicInvalidDataException in the default implementation.
144161
*/
145162
fun unknown(json: JsonValue?): T {
146-
throw LithicInvalidDataException("Unknown AccountHolderCreateBody: $json")
163+
throw LithicInvalidDataException("Unknown Body: $json")
147164
}
148165
}
149166

150-
internal class Deserializer :
151-
BaseDeserializer<AccountHolderCreateBody>(AccountHolderCreateBody::class) {
167+
internal class Deserializer : BaseDeserializer<Body>(Body::class) {
152168

153-
override fun ObjectCodec.deserialize(node: JsonNode): AccountHolderCreateBody {
169+
override fun ObjectCodec.deserialize(node: JsonNode): Body {
154170
val json = JsonValue.fromJsonNode(node)
155171

156-
tryDeserialize(node, jacksonTypeRef<Kyb>())?.let {
157-
return AccountHolderCreateBody(kyb = it, _json = json)
158-
}
159-
tryDeserialize(node, jacksonTypeRef<Kyc>())?.let {
160-
return AccountHolderCreateBody(kyc = it, _json = json)
161-
}
162-
tryDeserialize(node, jacksonTypeRef<KycExempt>())?.let {
163-
return AccountHolderCreateBody(kycExempt = it, _json = json)
164-
}
165-
166-
return AccountHolderCreateBody(_json = json)
172+
tryDeserialize(node, jacksonTypeRef<Kyb>()) { it.validate() }
173+
?.let {
174+
return Body(kyb = it, _json = json)
175+
}
176+
tryDeserialize(node, jacksonTypeRef<Kyc>()) { it.validate() }
177+
?.let {
178+
return Body(kyc = it, _json = json)
179+
}
180+
tryDeserialize(node, jacksonTypeRef<KycExempt>()) { it.validate() }
181+
?.let {
182+
return Body(kycExempt = it, _json = json)
183+
}
184+
185+
return Body(_json = json)
167186
}
168187
}
169188

170-
internal class Serializer :
171-
BaseSerializer<AccountHolderCreateBody>(AccountHolderCreateBody::class) {
189+
internal class Serializer : BaseSerializer<Body>(Body::class) {
172190

173191
override fun serialize(
174-
value: AccountHolderCreateBody,
192+
value: Body,
175193
generator: JsonGenerator,
176194
provider: SerializerProvider,
177195
) {
@@ -180,7 +198,7 @@ private constructor(
180198
value.kyc != null -> generator.writeObject(value.kyc)
181199
value.kycExempt != null -> generator.writeObject(value.kycExempt)
182200
value._json != null -> generator.writeObject(value._json)
183-
else -> throw IllegalStateException("Invalid AccountHolderCreateBody")
201+
else -> throw IllegalStateException("Invalid Body")
184202
}
185203
}
186204
}
@@ -197,7 +215,7 @@ private constructor(
197215
@NoAutoDetect
198216
class Builder internal constructor() {
199217

200-
private var body: AccountHolderCreateBody? = null
218+
private var body: Body? = null
201219
private var additionalHeaders: Headers.Builder = Headers.builder()
202220
private var additionalQueryParams: QueryParams.Builder = QueryParams.builder()
203221

@@ -208,13 +226,13 @@ private constructor(
208226
additionalQueryParams = accountHolderCreateParams.additionalQueryParams.toBuilder()
209227
}
210228

211-
fun forKyb(kyb: Kyb) = apply { body = AccountHolderCreateBody.ofKyb(kyb) }
229+
fun body(body: Body) = apply { this.body = body }
212230

213-
fun forKyc(kyc: Kyc) = apply { body = AccountHolderCreateBody.ofKyc(kyc) }
231+
fun body(kyb: Kyb) = body(Body.ofKyb(kyb))
214232

215-
fun forKycExempt(kycExempt: KycExempt) = apply {
216-
body = AccountHolderCreateBody.ofKycExempt(kycExempt)
217-
}
233+
fun body(kyc: Kyc) = body(Body.ofKyc(kyc))
234+
235+
fun body(kycExempt: KycExempt) = body(Body.ofKycExempt(kycExempt))
218236

219237
fun additionalHeaders(additionalHeaders: Headers) = apply {
220238
this.additionalHeaders.clear()
@@ -316,7 +334,7 @@ private constructor(
316334

317335
fun build(): AccountHolderCreateParams =
318336
AccountHolderCreateParams(
319-
body ?: AccountHolderCreateBody(),
337+
checkRequired("body", body),
320338
additionalHeaders.build(),
321339
additionalQueryParams.build(),
322340
)

lithic-java-core/src/main/kotlin/com/lithic/api/models/AccountHolderSimulateEnrollmentDocumentReviewParams.kt

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import java.util.Optional
2525
/** Simulates a review for an account holder document upload. */
2626
class AccountHolderSimulateEnrollmentDocumentReviewParams
2727
private constructor(
28-
private val body: AccountHolderSimulateEnrollmentDocumentReviewBody,
28+
private val body: SimulateEnrollmentDocumentReviewRequest,
2929
private val additionalHeaders: Headers,
3030
private val additionalQueryParams: QueryParams,
3131
) : Params {
@@ -67,16 +67,16 @@ private constructor(
6767

6868
fun _additionalQueryParams(): QueryParams = additionalQueryParams
6969

70-
@JvmSynthetic internal fun _body(): AccountHolderSimulateEnrollmentDocumentReviewBody = body
70+
@JvmSynthetic internal fun _body(): SimulateEnrollmentDocumentReviewRequest = body
7171

7272
override fun _headers(): Headers = additionalHeaders
7373

7474
override fun _queryParams(): QueryParams = additionalQueryParams
7575

7676
@NoAutoDetect
77-
class AccountHolderSimulateEnrollmentDocumentReviewBody
77+
class SimulateEnrollmentDocumentReviewRequest
7878
@JsonCreator
79-
internal constructor(
79+
private constructor(
8080
@JsonProperty("document_upload_token")
8181
@ExcludeMissing
8282
private val documentUploadToken: JsonField<String> = JsonMissing.of(),
@@ -139,7 +139,7 @@ private constructor(
139139

140140
private var validated: Boolean = false
141141

142-
fun validate(): AccountHolderSimulateEnrollmentDocumentReviewBody = apply {
142+
fun validate(): SimulateEnrollmentDocumentReviewRequest = apply {
143143
if (validated) {
144144
return@apply
145145
}
@@ -158,7 +158,7 @@ private constructor(
158158
@JvmStatic fun builder() = Builder()
159159
}
160160

161-
/** A builder for [AccountHolderSimulateEnrollmentDocumentReviewBody]. */
161+
/** A builder for [SimulateEnrollmentDocumentReviewRequest]. */
162162
class Builder internal constructor() {
163163

164164
private var documentUploadToken: JsonField<String>? = null
@@ -169,19 +169,17 @@ private constructor(
169169

170170
@JvmSynthetic
171171
internal fun from(
172-
accountHolderSimulateEnrollmentDocumentReviewBody:
173-
AccountHolderSimulateEnrollmentDocumentReviewBody
172+
simulateEnrollmentDocumentReviewRequest: SimulateEnrollmentDocumentReviewRequest
174173
) = apply {
175-
documentUploadToken =
176-
accountHolderSimulateEnrollmentDocumentReviewBody.documentUploadToken
177-
status = accountHolderSimulateEnrollmentDocumentReviewBody.status
174+
documentUploadToken = simulateEnrollmentDocumentReviewRequest.documentUploadToken
175+
status = simulateEnrollmentDocumentReviewRequest.status
178176
acceptedEntityStatusReasons =
179-
accountHolderSimulateEnrollmentDocumentReviewBody.acceptedEntityStatusReasons
180-
.map { it.toMutableList() }
181-
statusReason = accountHolderSimulateEnrollmentDocumentReviewBody.statusReason
177+
simulateEnrollmentDocumentReviewRequest.acceptedEntityStatusReasons.map {
178+
it.toMutableList()
179+
}
180+
statusReason = simulateEnrollmentDocumentReviewRequest.statusReason
182181
additionalProperties =
183-
accountHolderSimulateEnrollmentDocumentReviewBody.additionalProperties
184-
.toMutableMap()
182+
simulateEnrollmentDocumentReviewRequest.additionalProperties.toMutableMap()
185183
}
186184

187185
/** The account holder document upload which to perform the simulation upon. */
@@ -258,8 +256,8 @@ private constructor(
258256
keys.forEach(::removeAdditionalProperty)
259257
}
260258

261-
fun build(): AccountHolderSimulateEnrollmentDocumentReviewBody =
262-
AccountHolderSimulateEnrollmentDocumentReviewBody(
259+
fun build(): SimulateEnrollmentDocumentReviewRequest =
260+
SimulateEnrollmentDocumentReviewRequest(
263261
checkRequired("documentUploadToken", documentUploadToken),
264262
checkRequired("status", status),
265263
(acceptedEntityStatusReasons ?: JsonMissing.of()).map { it.toImmutable() },
@@ -273,7 +271,7 @@ private constructor(
273271
return true
274272
}
275273

276-
return /* spotless:off */ other is AccountHolderSimulateEnrollmentDocumentReviewBody && documentUploadToken == other.documentUploadToken && status == other.status && acceptedEntityStatusReasons == other.acceptedEntityStatusReasons && statusReason == other.statusReason && additionalProperties == other.additionalProperties /* spotless:on */
274+
return /* spotless:off */ other is SimulateEnrollmentDocumentReviewRequest && documentUploadToken == other.documentUploadToken && status == other.status && acceptedEntityStatusReasons == other.acceptedEntityStatusReasons && statusReason == other.statusReason && additionalProperties == other.additionalProperties /* spotless:on */
277275
}
278276

279277
/* spotless:off */
@@ -283,7 +281,7 @@ private constructor(
283281
override fun hashCode(): Int = hashCode
284282

285283
override fun toString() =
286-
"AccountHolderSimulateEnrollmentDocumentReviewBody{documentUploadToken=$documentUploadToken, status=$status, acceptedEntityStatusReasons=$acceptedEntityStatusReasons, statusReason=$statusReason, additionalProperties=$additionalProperties}"
284+
"SimulateEnrollmentDocumentReviewRequest{documentUploadToken=$documentUploadToken, status=$status, acceptedEntityStatusReasons=$acceptedEntityStatusReasons, statusReason=$statusReason, additionalProperties=$additionalProperties}"
287285
}
288286

289287
fun toBuilder() = Builder().from(this)
@@ -297,8 +295,8 @@ private constructor(
297295
@NoAutoDetect
298296
class Builder internal constructor() {
299297

300-
private var body: AccountHolderSimulateEnrollmentDocumentReviewBody.Builder =
301-
AccountHolderSimulateEnrollmentDocumentReviewBody.builder()
298+
private var body: SimulateEnrollmentDocumentReviewRequest.Builder =
299+
SimulateEnrollmentDocumentReviewRequest.builder()
302300
private var additionalHeaders: Headers.Builder = Headers.builder()
303301
private var additionalQueryParams: QueryParams.Builder = QueryParams.builder()
304302

0 commit comments

Comments
 (0)