diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 0b8a7c68..a9d0cc14 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.68.0" + ".": "0.69.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 8b01dc8a..5a026d5a 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1 +1 @@ -configured_endpoints: 155 +configured_endpoints: 156 diff --git a/CHANGELOG.md b/CHANGELOG.md index 81da3bfb..e8c8b99f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,73 @@ # Changelog +## 0.69.0 (2024-11-01) + +Full Changelog: [v0.68.0...v0.69.0](https://github.com/lithic-com/lithic-kotlin/compare/v0.68.0...v0.69.0) + +### ⚠ BREAKING CHANGES + +* **client:** rename some union classes ([#350](https://github.com/lithic-com/lithic-kotlin/issues/350)) + +### Features + +* **api:** add `interest_details` properties to LoanTapes ([#340](https://github.com/lithic-com/lithic-kotlin/issues/340)) ([8cd61db](https://github.com/lithic-com/lithic-kotlin/commit/8cd61db48bfb30be01dd45a9b6eced94a5876ed8)) +* **api:** removes `transfer_transaction.created` webhook and updates to VerificationApplication ([#332](https://github.com/lithic-com/lithic-kotlin/issues/332)) ([7646708](https://github.com/lithic-com/lithic-kotlin/commit/7646708cdf295bcd06fdd5c6291a724de915518f)) +* **api:** updates ([#347](https://github.com/lithic-com/lithic-kotlin/issues/347)) ([75b8c37](https://github.com/lithic-com/lithic-kotlin/commit/75b8c3791da0494ef9c13c087c4f83fa71dd1ec6)) +* **client:** add `Headers` class ([#358](https://github.com/lithic-com/lithic-kotlin/issues/358)) ([e2755bc](https://github.com/lithic-com/lithic-kotlin/commit/e2755bc95f68121cab9ec0ecff50a9bdf242c85e)) +* **client:** add `User-Agent` header ([#345](https://github.com/lithic-com/lithic-kotlin/issues/345)) ([9f537ed](https://github.com/lithic-com/lithic-kotlin/commit/9f537ed560f4b2361e370c8d8473b1ad397516b6)) +* **client:** clean up resource leaks when the resource becomes phantom reachable ([#348](https://github.com/lithic-com/lithic-kotlin/issues/348)) ([2fd7669](https://github.com/lithic-com/lithic-kotlin/commit/2fd76692053c8e6eb6b88c037eb17a366b577487)) +* **client:** set `X-Stainless-Runtime` header ([#344](https://github.com/lithic-com/lithic-kotlin/issues/344)) ([3865552](https://github.com/lithic-com/lithic-kotlin/commit/3865552aa48f3206c3d2ad9ef80d5270582d286b)) +* **client:** support union discriminators in deserialization ([#328](https://github.com/lithic-com/lithic-kotlin/issues/328)) ([0534fed](https://github.com/lithic-com/lithic-kotlin/commit/0534fed2b24678ea99671e5041f5379ccf096221)) + + +### Bug Fixes + +* **client:** accidental double-wrapping with `RetryingHttpClient` ([#346](https://github.com/lithic-com/lithic-kotlin/issues/346)) ([2825bb9](https://github.com/lithic-com/lithic-kotlin/commit/2825bb9c6f393758a3b51586ec69bf9ea0a22363)) +* **client:** ensure constructed objects are immutable ([#356](https://github.com/lithic-com/lithic-kotlin/issues/356)) ([8f95fce](https://github.com/lithic-com/lithic-kotlin/commit/8f95fce015416d106ef90d8234129885abc71401)) +* **client:** implement `hashCode` for `IsMissing` ([#341](https://github.com/lithic-com/lithic-kotlin/issues/341)) ([a871c61](https://github.com/lithic-com/lithic-kotlin/commit/a871c61d5932254a415970d3ab6e595059447159)) +* **client:** remove `@JvmStatic` from error ([#354](https://github.com/lithic-com/lithic-kotlin/issues/354)) ([a753c44](https://github.com/lithic-com/lithic-kotlin/commit/a753c4496350d48b211edb872e4db453c5771a70)) +* **internal:** remove unnecessary error handlers ([#327](https://github.com/lithic-com/lithic-kotlin/issues/327)) ([26e72f3](https://github.com/lithic-com/lithic-kotlin/commit/26e72f33e7ccf0b5c8e910a41ebc75729fe6b701)) +* merge conflicts ([#360](https://github.com/lithic-com/lithic-kotlin/issues/360)) ([b9e444a](https://github.com/lithic-com/lithic-kotlin/commit/b9e444a6e687414d7b61713cb0d2eb57284a7de3)) + + +### Chores + +* **api:** add `PIN_BLOCKED` to `detailed_results` property on Event ([#342](https://github.com/lithic-com/lithic-kotlin/issues/342)) ([5667848](https://github.com/lithic-com/lithic-kotlin/commit/56678481b9b03ceb2f84d0c604c546f45304e1dd)) +* **api:** adds `charge_off` functionality to FinancialAccounts ([#351](https://github.com/lithic-com/lithic-kotlin/issues/351)) ([1bf0ec1](https://github.com/lithic-com/lithic-kotlin/commit/1bf0ec1d1fabb366ed595e8f65eed7798dfafd7f)) +* **api:** adds new result types to Transactions and Events ([#343](https://github.com/lithic-com/lithic-kotlin/issues/343)) ([c3fddaf](https://github.com/lithic-com/lithic-kotlin/commit/c3fddaf87ffd1995f6b616d84454102759834176)) +* **docs:** updates to documentation for V2 AuthRules ([#349](https://github.com/lithic-com/lithic-kotlin/issues/349)) ([0f6a69b](https://github.com/lithic-com/lithic-kotlin/commit/0f6a69b7ea3303a4165fda64cabc625cc97b7143)) +* **internal:** delete unused function ([#353](https://github.com/lithic-com/lithic-kotlin/issues/353)) ([7aaa905](https://github.com/lithic-com/lithic-kotlin/commit/7aaa905895c3cd860b6512e4437b88fa69dc94d3)) +* **internal:** omit unnecessary code ([#326](https://github.com/lithic-com/lithic-kotlin/issues/326)) ([89bb442](https://github.com/lithic-com/lithic-kotlin/commit/89bb44292729794d196571bdf231bee71e9a1308)) +* **internal:** remove empty test files ([#331](https://github.com/lithic-com/lithic-kotlin/issues/331)) ([2d660ab](https://github.com/lithic-com/lithic-kotlin/commit/2d660abbaad2ab01f0eaf2d12b2fd2da8d772497)) +* **internal:** remove unnecessary `[@file](https://github.com/file):Suppress("OVERLOADS_INTERFACE")` ([#334](https://github.com/lithic-com/lithic-kotlin/issues/334)) ([f75a999](https://github.com/lithic-com/lithic-kotlin/commit/f75a999dd8fb409e3ee0ece6669de462146c42aa)) +* **internal:** remove unnecessary `[@file](https://github.com/file):Suppress("OVERLOADS_INTERFACE")` ([#338](https://github.com/lithic-com/lithic-kotlin/issues/338)) ([cb2ccf3](https://github.com/lithic-com/lithic-kotlin/commit/cb2ccf3a0ef83094a987600d79f6095f0dc04577)) +* **internal:** remove useless `[@file](https://github.com/file):JvmSynthetic` ([#337](https://github.com/lithic-com/lithic-kotlin/issues/337)) ([954c80c](https://github.com/lithic-com/lithic-kotlin/commit/954c80c5c29a4be4175c4a58b2b0b469c902272e)) + + +### Documentation + +* add docstrings ([#355](https://github.com/lithic-com/lithic-kotlin/issues/355)) ([9eeab77](https://github.com/lithic-com/lithic-kotlin/commit/9eeab77d798b6f75b19997a8d8a486afc90c74f0)) + + +### Styles + +* **client:** make toString methods consistent ([#330](https://github.com/lithic-com/lithic-kotlin/issues/330)) ([d1caec0](https://github.com/lithic-com/lithic-kotlin/commit/d1caec0522b94c273beb53642016d10de3286c02)) +* **client:** rename some union classes ([#350](https://github.com/lithic-com/lithic-kotlin/issues/350)) ([ee5d02e](https://github.com/lithic-com/lithic-kotlin/commit/ee5d02ecc3f29ab6923eb36671314c7184f3f494)) +* **internal:** improve `OkHttpClient` formatting ([#335](https://github.com/lithic-com/lithic-kotlin/issues/335)) ([e77faca](https://github.com/lithic-com/lithic-kotlin/commit/e77faca514850a4a5a780d19554aefec626d1533)) +* **internal:** improve `RetryingHttpClient` formatting ([#339](https://github.com/lithic-com/lithic-kotlin/issues/339)) ([600591d](https://github.com/lithic-com/lithic-kotlin/commit/600591d6eef4c89f01caa7ab4f3e9aaf219aa02a)) +* **internal:** improve terseness of handlers ([#321](https://github.com/lithic-com/lithic-kotlin/issues/321)) ([e69f47b](https://github.com/lithic-com/lithic-kotlin/commit/e69f47b54c20edd80b663b990f8b172c3c6b9384)) +* **internal:** improve terseness of Properties.kt ([#323](https://github.com/lithic-com/lithic-kotlin/issues/323)) ([3cf3952](https://github.com/lithic-com/lithic-kotlin/commit/3cf39525d1d7b34209db1edf4551a05305589e26)) +* **internal:** make `getOrThrow` terse and consistent ([#352](https://github.com/lithic-com/lithic-kotlin/issues/352)) ([e642d4e](https://github.com/lithic-com/lithic-kotlin/commit/e642d4ee487054b09a7b0861fba111ffd0efb6f5)) +* **internal:** move Handlers.kt and HttpRequestBodies.kt to core ([#324](https://github.com/lithic-com/lithic-kotlin/issues/324)) ([e02eea0](https://github.com/lithic-com/lithic-kotlin/commit/e02eea0269df2f72c5af45dc1f9541c149d1f997)) +* **internal:** simplify client build method ([#336](https://github.com/lithic-com/lithic-kotlin/issues/336)) ([92ddfe9](https://github.com/lithic-com/lithic-kotlin/commit/92ddfe90bd7b9506f1fbdad47d1636fa8a5e13c0)) +* **internal:** update comment formatting ([#333](https://github.com/lithic-com/lithic-kotlin/issues/333)) ([2b0e988](https://github.com/lithic-com/lithic-kotlin/commit/2b0e9882faaa0b232446816a02044e657ec4f3d7)) +* **internal:** use `if` and `if-else` instead of `when` idiomatically ([#329](https://github.com/lithic-com/lithic-kotlin/issues/329)) ([44e2586](https://github.com/lithic-com/lithic-kotlin/commit/44e2586f02d4e4716269984afe837909a5e5acb0)) + + +### Refactors + +* **internal:** polish `ClientOptions` ([#357](https://github.com/lithic-com/lithic-kotlin/issues/357)) ([7cdb62b](https://github.com/lithic-com/lithic-kotlin/commit/7cdb62bf9f5b8530f77f2cba026550d318b8b160)) + ## 0.68.0 (2024-10-11) Full Changelog: [v0.67.0...v0.68.0](https://github.com/lithic-com/lithic-kotlin/compare/v0.67.0...v0.68.0) diff --git a/README.md b/README.md index 3f323a3b..262e77ff 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ The REST API documentation can be found on [docs.lithic.com](https://docs.lithi ```kotlin -implementation("com.lithic.api:lithic-kotlin:0.68.0") +implementation("com.lithic.api:lithic-kotlin:0.69.0") ``` #### Maven @@ -28,7 +28,7 @@ implementation("com.lithic.api:lithic-kotlin:0.68.0") com.lithic.api lithic-kotlin - 0.68.0 + 0.69.0 ``` diff --git a/build.gradle.kts b/build.gradle.kts index 31256392..70e3067a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ plugins { allprojects { group = "com.lithic.api" - version = "0.68.0" // x-release-please-version + version = "0.69.0" // x-release-please-version } nexusPublishing { diff --git a/lithic-kotlin-client-okhttp/src/main/kotlin/com/lithic/api/client/okhttp/LithicOkHttpClient.kt b/lithic-kotlin-client-okhttp/src/main/kotlin/com/lithic/api/client/okhttp/LithicOkHttpClient.kt index 3f396706..12a56fd3 100644 --- a/lithic-kotlin-client-okhttp/src/main/kotlin/com/lithic/api/client/okhttp/LithicOkHttpClient.kt +++ b/lithic-kotlin-client-okhttp/src/main/kotlin/com/lithic/api/client/okhttp/LithicOkHttpClient.kt @@ -23,7 +23,7 @@ class LithicOkHttpClient private constructor() { private var clientOptions: ClientOptions.Builder = ClientOptions.builder() private var baseUrl: String = ClientOptions.PRODUCTION_URL - // default timeout for client is 1 minute + // The default timeout for the client is 1 minute. private var timeout: Duration = Duration.ofSeconds(60) private var proxy: Proxy? = null @@ -72,8 +72,8 @@ class LithicOkHttpClient private constructor() { fun fromEnv() = apply { clientOptions.fromEnv() } - fun build(): LithicClient { - return LithicClientImpl( + fun build(): LithicClient = + LithicClientImpl( clientOptions .httpClient( OkHttpClient.builder() @@ -84,6 +84,5 @@ class LithicOkHttpClient private constructor() { ) .build() ) - } } } diff --git a/lithic-kotlin-client-okhttp/src/main/kotlin/com/lithic/api/client/okhttp/LithicOkHttpClientAsync.kt b/lithic-kotlin-client-okhttp/src/main/kotlin/com/lithic/api/client/okhttp/LithicOkHttpClientAsync.kt index 7cf7a0df..ab6ef6e9 100644 --- a/lithic-kotlin-client-okhttp/src/main/kotlin/com/lithic/api/client/okhttp/LithicOkHttpClientAsync.kt +++ b/lithic-kotlin-client-okhttp/src/main/kotlin/com/lithic/api/client/okhttp/LithicOkHttpClientAsync.kt @@ -23,7 +23,7 @@ class LithicOkHttpClientAsync private constructor() { private var clientOptions: ClientOptions.Builder = ClientOptions.builder() private var baseUrl: String = ClientOptions.PRODUCTION_URL - // default timeout for client is 1 minute + // The default timeout for the client is 1 minute. private var timeout: Duration = Duration.ofSeconds(60) private var proxy: Proxy? = null @@ -72,8 +72,8 @@ class LithicOkHttpClientAsync private constructor() { fun fromEnv() = apply { clientOptions.fromEnv() } - fun build(): LithicClientAsync { - return LithicClientAsyncImpl( + fun build(): LithicClientAsync = + LithicClientAsyncImpl( clientOptions .httpClient( OkHttpClient.builder() @@ -84,6 +84,5 @@ class LithicOkHttpClientAsync private constructor() { ) .build() ) - } } } diff --git a/lithic-kotlin-client-okhttp/src/main/kotlin/com/lithic/api/client/okhttp/OkHttpClient.kt b/lithic-kotlin-client-okhttp/src/main/kotlin/com/lithic/api/client/okhttp/OkHttpClient.kt index abf6a188..03907d3a 100644 --- a/lithic-kotlin-client-okhttp/src/main/kotlin/com/lithic/api/client/okhttp/OkHttpClient.kt +++ b/lithic-kotlin-client-okhttp/src/main/kotlin/com/lithic/api/client/okhttp/OkHttpClient.kt @@ -80,7 +80,7 @@ private constructor(private val okHttpClient: okhttp3.OkHttpClient, private val private fun HttpRequest.toRequest(): Request { var body: RequestBody? = body?.toRequestBody() - // OkHttpClient always requires a request body for PUT and POST methods + // OkHttpClient always requires a request body for PUT and POST methods. if (body == null && (method == HttpMethod.PUT || method == HttpMethod.POST)) { body = "".toRequestBody() } @@ -108,21 +108,13 @@ private constructor(private val okHttpClient: okhttp3.OkHttpClient, private val val length = contentLength() return object : RequestBody() { - override fun contentType(): MediaType? { - return mediaType - } + override fun contentType(): MediaType? = mediaType - override fun contentLength(): Long { - return length - } + override fun contentLength(): Long = length - override fun isOneShot(): Boolean { - return !repeatable() - } + override fun isOneShot(): Boolean = !repeatable() - override fun writeTo(sink: BufferedSink) { - writeTo(sink.outputStream()) - } + override fun writeTo(sink: BufferedSink) = writeTo(sink.outputStream()) } } @@ -130,21 +122,13 @@ private constructor(private val okHttpClient: okhttp3.OkHttpClient, private val val headers = headers.toHeaders() return object : HttpResponse { - override fun statusCode(): Int { - return code - } + override fun statusCode(): Int = code - override fun headers(): ListMultimap { - return headers - } + override fun headers(): ListMultimap = headers - override fun body(): InputStream { - return body!!.byteStream() - } + override fun body(): InputStream = body!!.byteStream() - override fun close() { - body!!.close() - } + override fun close() = body!!.close() } } @@ -153,9 +137,7 @@ private constructor(private val okHttpClient: okhttp3.OkHttpClient, private val MultimapBuilder.treeKeys(String.CASE_INSENSITIVE_ORDER) .arrayListValues() .build() - forEach { pair -> headers.put(pair.first, pair.second) } - return headers } @@ -166,7 +148,7 @@ private constructor(private val okHttpClient: okhttp3.OkHttpClient, private val class Builder { private var baseUrl: HttpUrl? = null - // default timeout is 1 minute + // The default timeout is 1 minute. private var timeout: Duration = Duration.ofSeconds(60) private var proxy: Proxy? = null @@ -176,8 +158,8 @@ private constructor(private val okHttpClient: okhttp3.OkHttpClient, private val fun proxy(proxy: Proxy?) = apply { this.proxy = proxy } - fun build(): OkHttpClient { - return OkHttpClient( + fun build(): OkHttpClient = + OkHttpClient( okhttp3.OkHttpClient.Builder() .connectTimeout(timeout) .readTimeout(timeout) @@ -187,7 +169,6 @@ private constructor(private val okHttpClient: okhttp3.OkHttpClient, private val .build(), checkNotNull(baseUrl) { "`baseUrl` is required but was not set" }, ) - } } private suspend fun Call.executeAsync(): Response = diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/client/LithicClient.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/client/LithicClient.kt index d35e3669..018389f5 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/client/LithicClient.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/client/LithicClient.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.client import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/client/LithicClientAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/client/LithicClientAsync.kt index fbc9e933..7ca8ea18 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/client/LithicClientAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/client/LithicClientAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.client import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/client/LithicClientAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/client/LithicClientAsyncImpl.kt index 2d52498e..1c03cb02 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/client/LithicClientAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/client/LithicClientAsyncImpl.kt @@ -4,105 +4,133 @@ package com.lithic.api.client import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.getPackageVersion +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.* import com.lithic.api.services.async.* -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class LithicClientAsyncImpl constructor( private val clientOptions: ClientOptions, ) : LithicClientAsync { + private val clientOptionsWithUserAgent = + if (clientOptions.headers.containsKey("User-Agent")) clientOptions + else + clientOptions + .toBuilder() + .putHeader("User-Agent", "${javaClass.simpleName}/Kotlin ${getPackageVersion()}") + .build() + private val errorHandler: Handler = errorHandler(clientOptions.jsonMapper) + // Pass the original clientOptions so that this client sets its own User-Agent. private val sync: LithicClient by lazy { LithicClientImpl(clientOptions) } - private val accounts: AccountServiceAsync by lazy { AccountServiceAsyncImpl(clientOptions) } + private val accounts: AccountServiceAsync by lazy { + AccountServiceAsyncImpl(clientOptionsWithUserAgent) + } private val accountHolders: AccountHolderServiceAsync by lazy { - AccountHolderServiceAsyncImpl(clientOptions) + AccountHolderServiceAsyncImpl(clientOptionsWithUserAgent) } - private val authRules: AuthRuleServiceAsync by lazy { AuthRuleServiceAsyncImpl(clientOptions) } + private val authRules: AuthRuleServiceAsync by lazy { + AuthRuleServiceAsyncImpl(clientOptionsWithUserAgent) + } private val authStreamEnrollment: AuthStreamEnrollmentServiceAsync by lazy { - AuthStreamEnrollmentServiceAsyncImpl(clientOptions) + AuthStreamEnrollmentServiceAsyncImpl(clientOptionsWithUserAgent) } private val tokenizationDecisioning: TokenizationDecisioningServiceAsync by lazy { - TokenizationDecisioningServiceAsyncImpl(clientOptions) + TokenizationDecisioningServiceAsyncImpl(clientOptionsWithUserAgent) } private val tokenizations: TokenizationServiceAsync by lazy { - TokenizationServiceAsyncImpl(clientOptions) + TokenizationServiceAsyncImpl(clientOptionsWithUserAgent) } - private val cards: CardServiceAsync by lazy { CardServiceAsyncImpl(clientOptions) } + private val cards: CardServiceAsync by lazy { CardServiceAsyncImpl(clientOptionsWithUserAgent) } - private val balances: BalanceServiceAsync by lazy { BalanceServiceAsyncImpl(clientOptions) } + private val balances: BalanceServiceAsync by lazy { + BalanceServiceAsyncImpl(clientOptionsWithUserAgent) + } private val aggregateBalances: AggregateBalanceServiceAsync by lazy { - AggregateBalanceServiceAsyncImpl(clientOptions) + AggregateBalanceServiceAsyncImpl(clientOptionsWithUserAgent) } - private val disputes: DisputeServiceAsync by lazy { DisputeServiceAsyncImpl(clientOptions) } + private val disputes: DisputeServiceAsync by lazy { + DisputeServiceAsyncImpl(clientOptionsWithUserAgent) + } - private val events: EventServiceAsync by lazy { EventServiceAsyncImpl(clientOptions) } + private val events: EventServiceAsync by lazy { + EventServiceAsyncImpl(clientOptionsWithUserAgent) + } - private val transfers: TransferServiceAsync by lazy { TransferServiceAsyncImpl(clientOptions) } + private val transfers: TransferServiceAsync by lazy { + TransferServiceAsyncImpl(clientOptionsWithUserAgent) + } private val financialAccounts: FinancialAccountServiceAsync by lazy { - FinancialAccountServiceAsyncImpl(clientOptions) + FinancialAccountServiceAsyncImpl(clientOptionsWithUserAgent) } private val transactions: TransactionServiceAsync by lazy { - TransactionServiceAsyncImpl(clientOptions) + TransactionServiceAsyncImpl(clientOptionsWithUserAgent) } private val responderEndpoints: ResponderEndpointServiceAsync by lazy { - ResponderEndpointServiceAsyncImpl(clientOptions) + ResponderEndpointServiceAsyncImpl(clientOptionsWithUserAgent) } private val webhooks: WebhookServiceAsync by lazy { WebhookServiceAsyncImpl(clientOptions) } private val externalBankAccounts: ExternalBankAccountServiceAsync by lazy { - ExternalBankAccountServiceAsyncImpl(clientOptions) + ExternalBankAccountServiceAsyncImpl(clientOptionsWithUserAgent) } - private val payments: PaymentServiceAsync by lazy { PaymentServiceAsyncImpl(clientOptions) } + private val payments: PaymentServiceAsync by lazy { + PaymentServiceAsyncImpl(clientOptionsWithUserAgent) + } - private val threeDS: ThreeDSServiceAsync by lazy { ThreeDSServiceAsyncImpl(clientOptions) } + private val threeDS: ThreeDSServiceAsync by lazy { + ThreeDSServiceAsyncImpl(clientOptionsWithUserAgent) + } - private val reports: ReportServiceAsync by lazy { ReportServiceAsyncImpl(clientOptions) } + private val reports: ReportServiceAsync by lazy { + ReportServiceAsyncImpl(clientOptionsWithUserAgent) + } private val cardPrograms: CardProgramServiceAsync by lazy { - CardProgramServiceAsyncImpl(clientOptions) + CardProgramServiceAsyncImpl(clientOptionsWithUserAgent) } private val digitalCardArt: DigitalCardArtServiceAsync by lazy { - DigitalCardArtServiceAsyncImpl(clientOptions) + DigitalCardArtServiceAsyncImpl(clientOptionsWithUserAgent) } private val bookTransfers: BookTransferServiceAsync by lazy { - BookTransferServiceAsyncImpl(clientOptions) + BookTransferServiceAsyncImpl(clientOptionsWithUserAgent) } private val creditProducts: CreditProductServiceAsync by lazy { - CreditProductServiceAsyncImpl(clientOptions) + CreditProductServiceAsyncImpl(clientOptionsWithUserAgent) } private val externalPayments: ExternalPaymentServiceAsync by lazy { - ExternalPaymentServiceAsyncImpl(clientOptions) + ExternalPaymentServiceAsyncImpl(clientOptionsWithUserAgent) } private val managementOperations: ManagementOperationServiceAsync by lazy { - ManagementOperationServiceAsyncImpl(clientOptions) + ManagementOperationServiceAsyncImpl(clientOptionsWithUserAgent) } override fun sync(): LithicClient = sync diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/client/LithicClientImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/client/LithicClientImpl.kt index f4fe7280..bb1f6568 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/client/LithicClientImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/client/LithicClientImpl.kt @@ -4,101 +4,119 @@ package com.lithic.api.client import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.getPackageVersion +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.* import com.lithic.api.services.blocking.* -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class LithicClientImpl constructor( private val clientOptions: ClientOptions, ) : LithicClient { + private val clientOptionsWithUserAgent = + if (clientOptions.headers.containsKey("User-Agent")) clientOptions + else + clientOptions + .toBuilder() + .putHeader("User-Agent", "${javaClass.simpleName}/Kotlin ${getPackageVersion()}") + .build() + private val errorHandler: Handler = errorHandler(clientOptions.jsonMapper) + // Pass the original clientOptions so that this client sets its own User-Agent. private val async: LithicClientAsync by lazy { LithicClientAsyncImpl(clientOptions) } - private val accounts: AccountService by lazy { AccountServiceImpl(clientOptions) } + private val accounts: AccountService by lazy { AccountServiceImpl(clientOptionsWithUserAgent) } private val accountHolders: AccountHolderService by lazy { - AccountHolderServiceImpl(clientOptions) + AccountHolderServiceImpl(clientOptionsWithUserAgent) } - private val authRules: AuthRuleService by lazy { AuthRuleServiceImpl(clientOptions) } + private val authRules: AuthRuleService by lazy { + AuthRuleServiceImpl(clientOptionsWithUserAgent) + } private val authStreamEnrollment: AuthStreamEnrollmentService by lazy { - AuthStreamEnrollmentServiceImpl(clientOptions) + AuthStreamEnrollmentServiceImpl(clientOptionsWithUserAgent) } private val tokenizationDecisioning: TokenizationDecisioningService by lazy { - TokenizationDecisioningServiceImpl(clientOptions) + TokenizationDecisioningServiceImpl(clientOptionsWithUserAgent) } private val tokenizations: TokenizationService by lazy { - TokenizationServiceImpl(clientOptions) + TokenizationServiceImpl(clientOptionsWithUserAgent) } - private val cards: CardService by lazy { CardServiceImpl(clientOptions) } + private val cards: CardService by lazy { CardServiceImpl(clientOptionsWithUserAgent) } - private val balances: BalanceService by lazy { BalanceServiceImpl(clientOptions) } + private val balances: BalanceService by lazy { BalanceServiceImpl(clientOptionsWithUserAgent) } private val aggregateBalances: AggregateBalanceService by lazy { - AggregateBalanceServiceImpl(clientOptions) + AggregateBalanceServiceImpl(clientOptionsWithUserAgent) } - private val disputes: DisputeService by lazy { DisputeServiceImpl(clientOptions) } + private val disputes: DisputeService by lazy { DisputeServiceImpl(clientOptionsWithUserAgent) } - private val events: EventService by lazy { EventServiceImpl(clientOptions) } + private val events: EventService by lazy { EventServiceImpl(clientOptionsWithUserAgent) } - private val transfers: TransferService by lazy { TransferServiceImpl(clientOptions) } + private val transfers: TransferService by lazy { + TransferServiceImpl(clientOptionsWithUserAgent) + } private val financialAccounts: FinancialAccountService by lazy { - FinancialAccountServiceImpl(clientOptions) + FinancialAccountServiceImpl(clientOptionsWithUserAgent) } - private val transactions: TransactionService by lazy { TransactionServiceImpl(clientOptions) } + private val transactions: TransactionService by lazy { + TransactionServiceImpl(clientOptionsWithUserAgent) + } private val responderEndpoints: ResponderEndpointService by lazy { - ResponderEndpointServiceImpl(clientOptions) + ResponderEndpointServiceImpl(clientOptionsWithUserAgent) } private val webhooks: WebhookService by lazy { WebhookServiceImpl(clientOptions) } private val externalBankAccounts: ExternalBankAccountService by lazy { - ExternalBankAccountServiceImpl(clientOptions) + ExternalBankAccountServiceImpl(clientOptionsWithUserAgent) } - private val payments: PaymentService by lazy { PaymentServiceImpl(clientOptions) } + private val payments: PaymentService by lazy { PaymentServiceImpl(clientOptionsWithUserAgent) } - private val threeDS: ThreeDSService by lazy { ThreeDSServiceImpl(clientOptions) } + private val threeDS: ThreeDSService by lazy { ThreeDSServiceImpl(clientOptionsWithUserAgent) } - private val reports: ReportService by lazy { ReportServiceImpl(clientOptions) } + private val reports: ReportService by lazy { ReportServiceImpl(clientOptionsWithUserAgent) } - private val cardPrograms: CardProgramService by lazy { CardProgramServiceImpl(clientOptions) } + private val cardPrograms: CardProgramService by lazy { + CardProgramServiceImpl(clientOptionsWithUserAgent) + } private val digitalCardArt: DigitalCardArtService by lazy { - DigitalCardArtServiceImpl(clientOptions) + DigitalCardArtServiceImpl(clientOptionsWithUserAgent) } private val bookTransfers: BookTransferService by lazy { - BookTransferServiceImpl(clientOptions) + BookTransferServiceImpl(clientOptionsWithUserAgent) } private val creditProducts: CreditProductService by lazy { - CreditProductServiceImpl(clientOptions) + CreditProductServiceImpl(clientOptionsWithUserAgent) } private val externalPayments: ExternalPaymentService by lazy { - ExternalPaymentServiceImpl(clientOptions) + ExternalPaymentServiceImpl(clientOptionsWithUserAgent) } private val managementOperations: ManagementOperationService by lazy { - ManagementOperationServiceImpl(clientOptions) + ManagementOperationServiceImpl(clientOptionsWithUserAgent) } override fun async(): LithicClientAsync = async diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/ClientOptions.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/ClientOptions.kt index b9d5bda7..022d45f9 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/ClientOptions.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/ClientOptions.kt @@ -6,22 +6,27 @@ import com.fasterxml.jackson.databind.json.JsonMapper import com.google.common.collect.ArrayListMultimap import com.google.common.collect.ListMultimap import com.lithic.api.core.http.HttpClient +import com.lithic.api.core.http.PhantomReachableClosingHttpClient import com.lithic.api.core.http.RetryingHttpClient import java.time.Clock class ClientOptions private constructor( + private val originalHttpClient: HttpClient, val httpClient: HttpClient, val jsonMapper: JsonMapper, val clock: Clock, val baseUrl: String, - val apiKey: String, - val webhookSecret: String?, val headers: ListMultimap, val queryParams: ListMultimap, val responseValidation: Boolean, + val maxRetries: Int, + val apiKey: String, + val webhookSecret: String?, ) { + fun toBuilder() = Builder().from(this) + companion object { const val PRODUCTION_URL = "https://api.lithic.com" @@ -36,61 +41,70 @@ private constructor( class Builder { private var httpClient: HttpClient? = null - private var jsonMapper: JsonMapper? = null + private var jsonMapper: JsonMapper = jsonMapper() private var clock: Clock = Clock.systemUTC() private var baseUrl: String = PRODUCTION_URL - private var headers: MutableMap> = mutableMapOf() - private var queryParams: MutableMap> = mutableMapOf() + private var headers: ListMultimap = ArrayListMultimap.create() + private var queryParams: ListMultimap = ArrayListMultimap.create() private var responseValidation: Boolean = false private var maxRetries: Int = 2 private var apiKey: String? = null private var webhookSecret: String? = null + internal fun from(clientOptions: ClientOptions) = apply { + httpClient = clientOptions.originalHttpClient + jsonMapper = clientOptions.jsonMapper + clock = clientOptions.clock + baseUrl = clientOptions.baseUrl + headers = ArrayListMultimap.create(clientOptions.headers) + queryParams = ArrayListMultimap.create(clientOptions.queryParams) + responseValidation = clientOptions.responseValidation + maxRetries = clientOptions.maxRetries + apiKey = clientOptions.apiKey + webhookSecret = clientOptions.webhookSecret + } + fun httpClient(httpClient: HttpClient) = apply { this.httpClient = httpClient } fun jsonMapper(jsonMapper: JsonMapper) = apply { this.jsonMapper = jsonMapper } - fun baseUrl(baseUrl: String) = apply { this.baseUrl = baseUrl } - fun clock(clock: Clock) = apply { this.clock = clock } + fun baseUrl(baseUrl: String) = apply { this.baseUrl = baseUrl } + fun headers(headers: Map>) = apply { this.headers.clear() putAllHeaders(headers) } - fun putHeader(name: String, value: String) = apply { - this.headers.getOrPut(name) { mutableListOf() }.add(value) - } + fun putHeader(name: String, value: String) = apply { headers.put(name, value) } fun putHeaders(name: String, values: Iterable) = apply { - this.headers.getOrPut(name) { mutableListOf() }.addAll(values) + headers.putAll(name, values) } fun putAllHeaders(headers: Map>) = apply { - headers.forEach(this::putHeaders) + headers.forEach(::putHeaders) } - fun removeHeader(name: String) = apply { this.headers.put(name, mutableListOf()) } + fun removeHeader(name: String) = apply { headers.removeAll(name) } fun queryParams(queryParams: Map>) = apply { this.queryParams.clear() putAllQueryParams(queryParams) } - fun putQueryParam(name: String, value: String) = apply { - this.queryParams.getOrPut(name) { mutableListOf() }.add(value) - } + fun putQueryParam(name: String, value: String) = apply { queryParams.put(name, value) } fun putQueryParams(name: String, values: Iterable) = apply { - this.queryParams.getOrPut(name) { mutableListOf() }.addAll(values) + queryParams.putAll(name, values) } fun putAllQueryParams(queryParams: Map>) = apply { - queryParams.forEach(this::putQueryParams) + queryParams.forEach(::putQueryParams) } - fun removeQueryParam(name: String) = apply { this.queryParams.put(name, mutableListOf()) } + fun removeQueryParam(name: String) = apply { queryParams.removeAll(name) } fun responseValidation(responseValidation: Boolean) = apply { this.responseValidation = responseValidation @@ -118,28 +132,33 @@ private constructor( headers.put("X-Stainless-OS", getOsName()) headers.put("X-Stainless-OS-Version", getOsVersion()) headers.put("X-Stainless-Package-Version", getPackageVersion()) + headers.put("X-Stainless-Runtime", "JRE") headers.put("X-Stainless-Runtime-Version", getJavaVersion()) headers.put("X-Lithic-Pagination", "cursor") if (!apiKey.isNullOrEmpty()) { headers.put("Authorization", apiKey) } - this.headers.forEach(headers::replaceValues) - this.queryParams.forEach(queryParams::replaceValues) + this.headers.asMap().forEach(headers::replaceValues) + this.queryParams.asMap().forEach(queryParams::replaceValues) return ClientOptions( - RetryingHttpClient.builder() - .httpClient(httpClient!!) - .clock(clock) - .maxRetries(maxRetries) - .build(), - jsonMapper ?: jsonMapper(), + httpClient!!, + PhantomReachableClosingHttpClient( + RetryingHttpClient.builder() + .httpClient(httpClient!!) + .clock(clock) + .maxRetries(maxRetries) + .build() + ), + jsonMapper, clock, baseUrl, + headers.toImmutable(), + queryParams.toImmutable(), + responseValidation, + maxRetries, apiKey!!, webhookSecret, - headers.toUnmodifiable(), - queryParams.toUnmodifiable(), - responseValidation, ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/HttpRequestBodies.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/HttpRequestBodies.kt similarity index 96% rename from lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/HttpRequestBodies.kt rename to lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/HttpRequestBodies.kt index 20c52620..6a6fba6c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/HttpRequestBodies.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/HttpRequestBodies.kt @@ -1,11 +1,8 @@ @file:JvmName("HttpRequestBodies") -package com.lithic.api.services +package com.lithic.api.core import com.fasterxml.jackson.databind.json.JsonMapper -import com.lithic.api.core.Enum -import com.lithic.api.core.JsonValue -import com.lithic.api.core.MultipartFormValue import com.lithic.api.core.http.HttpRequestBody import com.lithic.api.errors.LithicException import java.io.ByteArrayOutputStream diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/PhantomReachable.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/PhantomReachable.kt new file mode 100644 index 00000000..29ec90e4 --- /dev/null +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/PhantomReachable.kt @@ -0,0 +1,45 @@ +@file:JvmName("PhantomReachable") + +package com.lithic.api.core + +import com.lithic.api.errors.LithicException +import java.lang.reflect.InvocationTargetException + +/** + * Closes [closeable] when [observed] becomes only phantom reachable. + * + * This is a wrapper around a Java 9+ [java.lang.ref.Cleaner], or a no-op in older Java versions. + */ +internal fun closeWhenPhantomReachable(observed: Any, closeable: AutoCloseable) { + check(observed !== closeable) { + "`observed` cannot be the same object as `closeable` because it would never become phantom reachable" + } + closeWhenPhantomReachable?.let { it(observed, closeable::close) } +} + +private val closeWhenPhantomReachable: ((Any, AutoCloseable) -> Unit)? by lazy { + try { + val cleanerClass = Class.forName("java.lang.ref.Cleaner") + val cleanerCreate = cleanerClass.getMethod("create") + val cleanerRegister = + cleanerClass.getMethod("register", Any::class.java, Runnable::class.java) + val cleanerObject = cleanerCreate.invoke(null); + + { observed, closeable -> + try { + cleanerRegister.invoke(cleanerObject, observed, Runnable { closeable.close() }) + } catch (e: ReflectiveOperationException) { + if (e is InvocationTargetException) { + when (val cause = e.cause) { + is RuntimeException, + is Error -> throw cause + } + } + throw LithicException("Unexpected reflective invocation failure", e) + } + } + } catch (e: ReflectiveOperationException) { + // We're running Java 8, which has no Cleaner. + null + } +} diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/Properties.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/Properties.kt index ebf89358..b465d235 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/Properties.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/Properties.kt @@ -34,14 +34,9 @@ fun getOsName(): String { } } -fun getOsVersion(): String { - return System.getProperty("os.version", "unknown") -} +fun getOsVersion(): String = System.getProperty("os.version", "unknown") -fun getPackageVersion(): String { - return Properties::class.java.`package`.implementationVersion ?: "unknown" -} +fun getPackageVersion(): String = + Properties::class.java.`package`.implementationVersion ?: "unknown" -fun getJavaVersion(): String { - return System.getProperty("java.version", "unknown") -} +fun getJavaVersion(): String = System.getProperty("java.version", "unknown") diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/Utils.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/Utils.kt index 16d1cbf5..06ce514f 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/Utils.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/Utils.kt @@ -4,41 +4,25 @@ package com.lithic.api.core import com.google.common.collect.ImmutableListMultimap import com.google.common.collect.ListMultimap -import com.google.common.collect.Multimaps import com.lithic.api.errors.LithicInvalidDataException import java.util.Collections +import java.util.SortedMap -internal fun T?.getOrThrow(name: String): T { - if (this == null) { - throw LithicInvalidDataException("'${name}' is not present") - } - - return this -} +internal fun T?.getOrThrow(name: String): T = + this ?: throw LithicInvalidDataException("`${name}` is not present") -internal fun List.toUnmodifiable(): List { - if (isEmpty()) { - return Collections.emptyList() - } +internal fun List.toImmutable(): List = + if (isEmpty()) Collections.emptyList() else Collections.unmodifiableList(toList()) - return Collections.unmodifiableList(this) -} +internal fun Map.toImmutable(): Map = + if (isEmpty()) Collections.emptyMap() else Collections.unmodifiableMap(toMap()) -internal fun Map.toUnmodifiable(): Map { - if (isEmpty()) { - return Collections.emptyMap() - } +internal fun , V> SortedMap.toImmutable(): SortedMap = + if (isEmpty()) Collections.emptySortedMap() + else Collections.unmodifiableSortedMap(toSortedMap(comparator())) - return Collections.unmodifiableMap(this) -} - -internal fun ListMultimap.toUnmodifiable(): ListMultimap { - if (isEmpty()) { - return ImmutableListMultimap.of() - } - - return Multimaps.unmodifiableListMultimap(this) -} +internal fun ListMultimap.toImmutable(): ListMultimap = + ImmutableListMultimap.copyOf(this) internal fun ListMultimap.getRequiredHeader(header: String): String { val value = diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/Values.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/Values.kt index d1df5c7c..549003b6 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/Values.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/Values.kt @@ -138,6 +138,8 @@ sealed class JsonField { // This filter should not be used directly and should instead use the @ExcludeMissing annotation class IsMissing { override fun equals(other: Any?): Boolean = other is JsonMissing + + override fun hashCode(): Int = Objects.hash() } class Deserializer(private val type: JavaType? = null) : @@ -383,7 +385,7 @@ private constructor( override fun toString() = values.toString() companion object { - @JsonCreator fun of(values: List) = JsonArray(values.toUnmodifiable()) + @JsonCreator fun of(values: List) = JsonArray(values.toImmutable()) } } @@ -407,7 +409,7 @@ private constructor( override fun toString() = values.toString() companion object { - @JsonCreator fun of(values: Map) = JsonObject(values.toUnmodifiable()) + @JsonCreator fun of(values: Map) = JsonObject(values.toImmutable()) } } @@ -473,9 +475,8 @@ internal constructor( } } - override fun toString(): String { - return "MultipartFormValue(name='$name', contentType=$contentType, filename=$filename, value=${valueToString()})" - } + override fun toString(): String = + "MultipartFormValue{name=$name, contentType=$contentType, filename=$filename, value=${valueToString()}}" private fun valueToString(): String = when (value) { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/handlers/EmptyHandler.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/handlers/EmptyHandler.kt new file mode 100644 index 00000000..6956b4ab --- /dev/null +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/handlers/EmptyHandler.kt @@ -0,0 +1,12 @@ +@file:JvmName("EmptyHandler") + +package com.lithic.api.core.handlers + +import com.lithic.api.core.http.HttpResponse +import com.lithic.api.core.http.HttpResponse.Handler + +internal fun emptyHandler(): Handler = EmptyHandlerInternal + +private object EmptyHandlerInternal : Handler { + override fun handle(response: HttpResponse): Void? = null +} diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/Handlers.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/handlers/ErrorHandler.kt similarity index 57% rename from lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/Handlers.kt rename to lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/handlers/ErrorHandler.kt index 74e58fbc..12a29a4c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/Handlers.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/handlers/ErrorHandler.kt @@ -1,17 +1,14 @@ -@file:JvmName("Handlers") +@file:JvmName("ErrorHandler") -package com.lithic.api.services +package com.lithic.api.core.handlers import com.fasterxml.jackson.databind.json.JsonMapper -import com.fasterxml.jackson.module.kotlin.jacksonTypeRef import com.google.common.collect.ListMultimap -import com.lithic.api.core.http.BinaryResponseContent import com.lithic.api.core.http.HttpResponse import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.BadRequestException import com.lithic.api.errors.InternalServerException import com.lithic.api.errors.LithicError -import com.lithic.api.errors.LithicException import com.lithic.api.errors.NotFoundException import com.lithic.api.errors.PermissionDeniedException import com.lithic.api.errors.RateLimitException @@ -20,69 +17,22 @@ import com.lithic.api.errors.UnexpectedStatusCodeException import com.lithic.api.errors.UnprocessableEntityException import java.io.ByteArrayInputStream import java.io.InputStream -import java.io.OutputStream - -internal fun emptyHandler(): Handler = EmptyHandler - -private object EmptyHandler : Handler { - override fun handle(response: HttpResponse): Void? = null -} - -internal fun stringHandler(): Handler = StringHandler - -internal fun binaryHandler(): Handler = BinaryHandler - -private object StringHandler : Handler { - override fun handle(response: HttpResponse): String { - return response.body().readBytes().toString(Charsets.UTF_8) - } -} - -private object BinaryHandler : Handler { - override fun handle(response: HttpResponse): BinaryResponseContent { - return object : BinaryResponseContent { - override fun contentType(): String? = - response.headers().get("Content-Type").firstOrNull() - - override fun body(): InputStream = response.body() - - override fun close() = response.close() - - override fun writeTo(outputStream: OutputStream) { - response.body().copyTo(outputStream) - } - } - } -} - -internal inline fun jsonHandler(jsonMapper: JsonMapper): Handler { - return object : Handler { - override fun handle(response: HttpResponse): T { - try { - return jsonMapper.readValue(response.body(), jacksonTypeRef()) - } catch (e: Exception) { - throw LithicException("Error reading response", e) - } - } - } -} internal fun errorHandler(jsonMapper: JsonMapper): Handler { val handler = jsonHandler(jsonMapper) return object : Handler { - override fun handle(response: HttpResponse): LithicError { + override fun handle(response: HttpResponse): LithicError = try { - return handler.handle(response) + handler.handle(response) } catch (e: Exception) { - return LithicError.builder().build() + LithicError.builder().build() } - } } } -internal fun Handler.withErrorHandler(errorHandler: Handler): Handler { - return object : Handler { +internal fun Handler.withErrorHandler(errorHandler: Handler): Handler = + object : Handler { override fun handle(response: HttpResponse): T { when (val statusCode = response.statusCode()) { in 200..299 -> { @@ -92,7 +42,7 @@ internal fun Handler.withErrorHandler(errorHandler: Handler) val buffered = response.buffered() throw BadRequestException( buffered.headers(), - StringHandler.handle(buffered), + stringHandler().handle(buffered), errorHandler.handle(buffered), ) } @@ -100,7 +50,7 @@ internal fun Handler.withErrorHandler(errorHandler: Handler) val buffered = response.buffered() throw UnauthorizedException( buffered.headers(), - StringHandler.handle(buffered), + stringHandler().handle(buffered), errorHandler.handle(buffered), ) } @@ -108,7 +58,7 @@ internal fun Handler.withErrorHandler(errorHandler: Handler) val buffered = response.buffered() throw PermissionDeniedException( buffered.headers(), - StringHandler.handle(buffered), + stringHandler().handle(buffered), errorHandler.handle(buffered), ) } @@ -116,7 +66,7 @@ internal fun Handler.withErrorHandler(errorHandler: Handler) val buffered = response.buffered() throw NotFoundException( buffered.headers(), - StringHandler.handle(buffered), + stringHandler().handle(buffered), errorHandler.handle(buffered), ) } @@ -124,7 +74,7 @@ internal fun Handler.withErrorHandler(errorHandler: Handler) val buffered = response.buffered() throw UnprocessableEntityException( buffered.headers(), - StringHandler.handle(buffered), + stringHandler().handle(buffered), errorHandler.handle(buffered), ) } @@ -132,7 +82,7 @@ internal fun Handler.withErrorHandler(errorHandler: Handler) val buffered = response.buffered() throw RateLimitException( buffered.headers(), - StringHandler.handle(buffered), + stringHandler().handle(buffered), errorHandler.handle(buffered), ) } @@ -141,7 +91,7 @@ internal fun Handler.withErrorHandler(errorHandler: Handler) throw InternalServerException( statusCode, buffered.headers(), - StringHandler.handle(buffered), + stringHandler().handle(buffered), errorHandler.handle(buffered), ) } @@ -150,33 +100,24 @@ internal fun Handler.withErrorHandler(errorHandler: Handler) throw UnexpectedStatusCodeException( statusCode, buffered.headers(), - StringHandler.handle(buffered), + stringHandler().handle(buffered), errorHandler.handle(buffered), ) } } } } -} private fun HttpResponse.buffered(): HttpResponse { val body = body().readBytes() return object : HttpResponse { - override fun statusCode(): Int { - return this@buffered.statusCode() - } + override fun statusCode(): Int = this@buffered.statusCode() - override fun headers(): ListMultimap { - return this@buffered.headers() - } + override fun headers(): ListMultimap = this@buffered.headers() - override fun body(): InputStream { - return ByteArrayInputStream(body) - } + override fun body(): InputStream = ByteArrayInputStream(body) - override fun close() { - this@buffered.close() - } + override fun close() = this@buffered.close() } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/handlers/JsonHandler.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/handlers/JsonHandler.kt new file mode 100644 index 00000000..dd94ead2 --- /dev/null +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/handlers/JsonHandler.kt @@ -0,0 +1,20 @@ +@file:JvmName("JsonHandler") + +package com.lithic.api.core.handlers + +import com.fasterxml.jackson.databind.json.JsonMapper +import com.fasterxml.jackson.module.kotlin.jacksonTypeRef +import com.lithic.api.core.http.HttpResponse +import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.errors.LithicException + +internal inline fun jsonHandler(jsonMapper: JsonMapper): Handler = + object : Handler { + override fun handle(response: HttpResponse): T { + try { + return jsonMapper.readValue(response.body(), jacksonTypeRef()) + } catch (e: Exception) { + throw LithicException("Error reading response", e) + } + } + } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/handlers/StringHandler.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/handlers/StringHandler.kt new file mode 100644 index 00000000..fd4614c5 --- /dev/null +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/handlers/StringHandler.kt @@ -0,0 +1,13 @@ +@file:JvmName("StringHandler") + +package com.lithic.api.core.handlers + +import com.lithic.api.core.http.HttpResponse +import com.lithic.api.core.http.HttpResponse.Handler + +internal fun stringHandler(): Handler = StringHandlerInternal + +private object StringHandlerInternal : Handler { + override fun handle(response: HttpResponse): String = + response.body().readBytes().toString(Charsets.UTF_8) +} diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/http/BinaryResponseContent.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/http/BinaryResponseContent.kt deleted file mode 100644 index 45ed8d05..00000000 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/http/BinaryResponseContent.kt +++ /dev/null @@ -1,15 +0,0 @@ -package com.lithic.api.core.http - -import java.io.IOException -import java.io.InputStream -import java.io.OutputStream -import java.lang.AutoCloseable - -interface BinaryResponseContent : AutoCloseable { - - fun contentType(): String? - - fun body(): InputStream - - @Throws(IOException::class) fun writeTo(outputStream: OutputStream) -} diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/http/Headers.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/http/Headers.kt new file mode 100644 index 00000000..3c4b372d --- /dev/null +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/http/Headers.kt @@ -0,0 +1,88 @@ +package com.lithic.api.core.http + +import com.lithic.api.core.toImmutable +import java.util.TreeMap + +class Headers private constructor(private val map: Map>, val size: Int) { + + fun isEmpty(): Boolean = map.isEmpty() + + fun names(): Set = map.keys + + fun values(name: String): List = map[name].orEmpty() + + fun toBuilder(): Builder = Builder().putAll(map) + + companion object { + + fun builder() = Builder() + } + + class Builder { + + private val map: MutableMap> = + TreeMap(String.CASE_INSENSITIVE_ORDER) + private var size: Int = 0 + + fun put(name: String, value: String) = apply { + map.getOrPut(name) { mutableListOf() }.add(value) + size++ + } + + fun put(name: String, values: Iterable) = apply { values.forEach { put(name, it) } } + + fun putAll(headers: Map>) = apply { headers.forEach(::put) } + + fun putAll(headers: Headers) = apply { + headers.names().forEach { put(it, headers.values(it)) } + } + + fun replace(name: String, value: String) = apply { + remove(name) + put(name, value) + } + + fun replace(name: String, values: Iterable) = apply { + remove(name) + put(name, values) + } + + fun replaceAll(headers: Map>) = apply { + headers.forEach(::replace) + } + + fun replaceAll(headers: Headers) = apply { + headers.names().forEach { replace(it, headers.values(it)) } + } + + fun remove(name: String) = apply { size -= map.remove(name).orEmpty().size } + + fun removeAll(names: Set) = apply { names.forEach(::remove) } + + fun clear() = apply { + map.clear() + size = 0 + } + + fun build() = + Headers( + map.mapValuesTo(TreeMap(String.CASE_INSENSITIVE_ORDER)) { (_, values) -> + values.toImmutable() + } + .toImmutable(), + size + ) + } + + override fun hashCode(): Int = map.hashCode() + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return other is Headers && map == other.map + } + + override fun toString(): String = "Headers{map=$map}" +} diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/http/HttpRequest.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/http/HttpRequest.kt index ad2981c8..f2110f81 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/http/HttpRequest.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/http/HttpRequest.kt @@ -4,7 +4,7 @@ import com.google.common.collect.ArrayListMultimap import com.google.common.collect.ListMultimap import com.google.common.collect.Multimap import com.google.common.collect.MultimapBuilder -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable class HttpRequest private constructor( @@ -17,7 +17,7 @@ private constructor( ) { override fun toString(): String = - "HttpRequest {method=$method, pathSegments=$pathSegments, queryParams=$queryParams, headers=$headers, body=$body}" + "HttpRequest{method=$method, pathSegments=$pathSegments, queryParams=$queryParams, headers=$headers, body=$body}" companion object { fun builder() = Builder() @@ -83,8 +83,8 @@ private constructor( HttpRequest( checkNotNull(method) { "`method` is required but was not set" }, url, - pathSegments.toUnmodifiable(), - queryParams.toUnmodifiable(), + pathSegments.toImmutable(), + queryParams.toImmutable(), headers, body, ) diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/http/PhantomReachableClosingHttpClient.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/http/PhantomReachableClosingHttpClient.kt new file mode 100644 index 00000000..0424ce89 --- /dev/null +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/http/PhantomReachableClosingHttpClient.kt @@ -0,0 +1,20 @@ +package com.lithic.api.core.http + +import com.lithic.api.core.RequestOptions +import com.lithic.api.core.closeWhenPhantomReachable + +internal class PhantomReachableClosingHttpClient(private val httpClient: HttpClient) : HttpClient { + init { + closeWhenPhantomReachable(this, httpClient) + } + + override fun execute(request: HttpRequest, requestOptions: RequestOptions): HttpResponse = + httpClient.execute(request, requestOptions) + + override suspend fun executeAsync( + request: HttpRequest, + requestOptions: RequestOptions + ): HttpResponse = httpClient.executeAsync(request, requestOptions) + + override fun close() = httpClient.close() +} diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/http/RetryingHttpClient.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/http/RetryingHttpClient.kt index 84d05b1a..bc790ede 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/http/RetryingHttpClient.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/core/http/RetryingHttpClient.kt @@ -1,5 +1,3 @@ -@file:JvmSynthetic - package com.lithic.api.core.http import com.lithic.api.core.RequestOptions @@ -109,15 +107,12 @@ private constructor( } } - override fun close() { - httpClient.close() - } + override fun close() = httpClient.close() - private fun isRetryable(request: HttpRequest): Boolean { + private fun isRetryable(request: HttpRequest): Boolean = // Some requests, such as when a request body is being streamed, cannot be retried because // the body data aren't available on subsequent attempts. - return request.body?.repeatable() ?: true - } + request.body?.repeatable() ?: true private fun setRetryCountHeader(request: HttpRequest, retries: Int) { request.headers.removeAll("x-stainless-retry-count") @@ -155,11 +150,10 @@ private constructor( } } - private fun shouldRetry(throwable: Throwable): Boolean { + private fun shouldRetry(throwable: Throwable): Boolean = // Only retry IOException and LithicIoException, other exceptions are not intended to be // retried. - return throwable is IOException || throwable is LithicIoException - } + throwable is IOException || throwable is LithicIoException private fun getRetryBackoffMillis(retries: Int, response: HttpResponse?): Duration { // About the Retry-After header: diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/errors/LithicError.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/errors/LithicError.kt index b06d5389..79732d1e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/errors/LithicError.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/errors/LithicError.kt @@ -7,7 +7,7 @@ import com.fasterxml.jackson.annotation.JsonAnySetter import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = LithicError.Builder::class) @@ -37,7 +37,7 @@ constructor( companion object { - @JvmStatic fun builder() = Builder() + fun builder() = Builder() } class Builder { @@ -60,6 +60,6 @@ constructor( this.additionalProperties.putAll(additionalProperties) } - fun build(): LithicError = LithicError(additionalProperties.toUnmodifiable()) + fun build(): LithicError = LithicError(additionalProperties.toImmutable()) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Account.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Account.kt index 53089fd1..4be90bb3 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Account.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Account.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -323,14 +323,14 @@ private constructor( fun build(): Account = Account( accountHolder, - authRuleTokens.map { it.toUnmodifiable() }, + authRuleTokens.map { it.toImmutable() }, cardholderCurrency, spendLimit, state, token, verificationAddress, created, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -447,7 +447,7 @@ private constructor( daily, lifetime, monthly, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -685,7 +685,7 @@ private constructor( email, phoneNumber, token, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -900,7 +900,7 @@ private constructor( country, postalCode, state, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolder.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolder.kt index daa4bae1..dfe10281 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolder.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolder.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -699,8 +699,8 @@ private constructor( fun build(): AccountHolder = AccountHolder( accountToken, - beneficialOwnerEntities.map { it.toUnmodifiable() }, - beneficialOwnerIndividuals.map { it.toUnmodifiable() }, + beneficialOwnerEntities.map { it.toImmutable() }, + beneficialOwnerIndividuals.map { it.toImmutable() }, businessAccountToken, businessEntity, controlPerson, @@ -712,13 +712,13 @@ private constructor( natureOfBusiness, phoneNumber, status, - statusReasons.map { it.toUnmodifiable() }, + statusReasons.map { it.toImmutable() }, token, userType, verificationApplication, - requiredDocuments.map { it.toUnmodifiable() }, + requiredDocuments.map { it.toImmutable() }, websiteUrl, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -956,9 +956,9 @@ private constructor( governmentId, legalBusinessName, parentCompany, - phoneNumbers.map { it.toUnmodifiable() }, + phoneNumbers.map { it.toImmutable() }, entityToken, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1175,7 +1175,7 @@ private constructor( lastName, phoneNumber, entityToken, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1661,9 +1661,9 @@ private constructor( AccountHolderVerificationApplication( created, status, - statusReasons.map { it.toUnmodifiable() }, + statusReasons.map { it.toImmutable() }, updated, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderCreateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderCreateParams.kt index ac8ea96d..0cef478d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderCreateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderCreateParams.kt @@ -14,7 +14,7 @@ import com.lithic.api.core.BaseSerializer import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect import com.lithic.api.core.getOrThrow -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -134,6 +134,7 @@ constructor( override fun ObjectCodec.deserialize(node: JsonNode): AccountHolderCreateBody { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return AccountHolderCreateBody(kyb = it, _json = json) } @@ -272,8 +273,8 @@ constructor( kyb, kyc, kycExempt, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderCreateResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderCreateResponse.kt index 98903727..e99771fc 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderCreateResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderCreateResponse.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -259,10 +259,10 @@ private constructor( created, externalId, status, - statusReasons.map { it.toUnmodifiable() }, - requiredDocuments.map { it.toUnmodifiable() }, + statusReasons.map { it.toImmutable() }, + requiredDocuments.map { it.toImmutable() }, token, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListDocumentsParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListDocumentsParams.kt index 730a48bc..ab2b4f5e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListDocumentsParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListDocumentsParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -116,8 +116,8 @@ constructor( checkNotNull(accountHolderToken) { "`accountHolderToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListDocumentsResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListDocumentsResponse.kt index 1074e82a..4fffb215 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListDocumentsResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListDocumentsResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = AccountHolderListDocumentsResponse.Builder::class) @@ -79,8 +79,8 @@ private constructor( fun build(): AccountHolderListDocumentsResponse = AccountHolderListDocumentsResponse( - data.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + data.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListPage.kt index 2c86bb47..922d0513 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.AccountHolderService import java.util.Objects @@ -155,7 +155,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListPageAsync.kt index 7632d372..68218b4f 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.AccountHolderServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -157,7 +157,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListParams.kt index 41c0de05..7665298d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderListParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.OffsetDateTime import java.time.format.DateTimeFormatter @@ -66,7 +66,7 @@ constructor( this.phoneNumber?.let { params.put("phone_number", listOf(it.toString())) } this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -241,8 +241,8 @@ constructor( limit, phoneNumber, startingAfter, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderResubmitParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderResubmitParams.kt index 56fda36b..09be73e4 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderResubmitParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderResubmitParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -142,7 +142,7 @@ constructor( checkNotNull(individual) { "`individual` is required but was not set" }, checkNotNull(tosTimestamp) { "`tosTimestamp` is required but was not set" }, checkNotNull(workflow) { "`workflow` is required but was not set" }, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -296,9 +296,9 @@ constructor( checkNotNull(individual) { "`individual` is required but was not set" }, checkNotNull(tosTimestamp) { "`tosTimestamp` is required but was not set" }, checkNotNull(workflow) { "`workflow` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } @@ -442,7 +442,7 @@ constructor( checkNotNull(governmentId) { "`governmentId` is required but was not set" }, checkNotNull(lastName) { "`lastName` is required but was not set" }, checkNotNull(phoneNumber) { "`phoneNumber` is required but was not set" }, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderRetrieveDocumentParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderRetrieveDocumentParams.kt index 27bfe0e6..bde98996 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderRetrieveDocumentParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderRetrieveDocumentParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -126,8 +126,8 @@ constructor( "`accountHolderToken` is required but was not set" }, checkNotNull(documentToken) { "`documentToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderRetrieveParams.kt index bf9dcdf1..d96bd384 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -115,8 +115,8 @@ constructor( checkNotNull(accountHolderToken) { "`accountHolderToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderSimulateEnrollmentDocumentReviewParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderSimulateEnrollmentDocumentReviewParams.kt index aca3ebe8..ff3e9549 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderSimulateEnrollmentDocumentReviewParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderSimulateEnrollmentDocumentReviewParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -157,9 +157,9 @@ constructor( "`documentUploadToken` is required but was not set" }, checkNotNull(status) { "`status` is required but was not set" }, - acceptedEntityStatusReasons?.toUnmodifiable(), + acceptedEntityStatusReasons?.toImmutable(), statusReason, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -332,11 +332,11 @@ constructor( }, checkNotNull(status) { "`status` is required but was not set" }, if (acceptedEntityStatusReasons.size == 0) null - else acceptedEntityStatusReasons.toUnmodifiable(), + else acceptedEntityStatusReasons.toImmutable(), statusReason, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderSimulateEnrollmentReviewParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderSimulateEnrollmentReviewParams.kt index 87ae1e55..99fdb5f3 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderSimulateEnrollmentReviewParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderSimulateEnrollmentReviewParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -132,8 +132,8 @@ constructor( AccountHolderSimulateEnrollmentReviewBody( accountHolderToken, status, - statusReasons?.toUnmodifiable(), - additionalProperties.toUnmodifiable(), + statusReasons?.toImmutable(), + additionalProperties.toImmutable(), ) } @@ -294,10 +294,10 @@ constructor( AccountHolderSimulateEnrollmentReviewParams( accountHolderToken, status, - if (statusReasons.size == 0) null else statusReasons.toUnmodifiable(), - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + if (statusReasons.size == 0) null else statusReasons.toImmutable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderSimulateEnrollmentReviewResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderSimulateEnrollmentReviewResponse.kt index 41899071..aeae20c2 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderSimulateEnrollmentReviewResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderSimulateEnrollmentReviewResponse.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -740,17 +740,17 @@ private constructor( verificationApplication, individual, businessEntity, - beneficialOwnerEntities.map { it.toUnmodifiable() }, - beneficialOwnerIndividuals.map { it.toUnmodifiable() }, + beneficialOwnerEntities.map { it.toImmutable() }, + beneficialOwnerIndividuals.map { it.toImmutable() }, controlPerson, natureOfBusiness, websiteUrl, email, phoneNumber, status, - statusReasons.map { it.toUnmodifiable() }, - requiredDocuments.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable(), + statusReasons.map { it.toImmutable() }, + requiredDocuments.map { it.toImmutable() }, + additionalProperties.toImmutable(), ) } @@ -967,8 +967,8 @@ private constructor( governmentId, legalBusinessName, parentCompany, - phoneNumbers.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable(), + phoneNumbers.map { it.toImmutable() }, + additionalProperties.toImmutable(), ) } @@ -1179,7 +1179,7 @@ private constructor( country, postalCode, state, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1456,7 +1456,7 @@ private constructor( lastName, phoneNumber, governmentId, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1667,7 +1667,7 @@ private constructor( country, postalCode, state, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -2140,7 +2140,7 @@ private constructor( private var validated: Boolean = false /** Timestamp of when the application was created. */ - fun created(): OffsetDateTime? = created.getNullable("created") + fun created(): OffsetDateTime = created.getRequired("created") /** * KYC and KYB evaluation states. @@ -2148,13 +2148,13 @@ private constructor( * Note: `PENDING_RESUBMIT` and `PENDING_DOCUMENT` are only applicable for the `ADVANCED` * workflow. */ - fun status(): Status? = status.getNullable("status") + fun status(): Status = status.getRequired("status") /** Reason for the evaluation status. */ - fun statusReasons(): List? = statusReasons.getNullable("status_reasons") + fun statusReasons(): List = statusReasons.getRequired("status_reasons") /** Timestamp of when the application was last updated. */ - fun updated(): OffsetDateTime? = updated.getNullable("updated") + fun updated(): OffsetDateTime = updated.getRequired("updated") /** Timestamp of when the application was created. */ @JsonProperty("created") @ExcludeMissing fun _created() = created @@ -2273,9 +2273,9 @@ private constructor( VerificationApplication( created, status, - statusReasons.map { it.toUnmodifiable() }, + statusReasons.map { it.toImmutable() }, updated, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderUpdateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderUpdateParams.kt index a1c2a40c..a33e38c3 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderUpdateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderUpdateParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -151,7 +151,7 @@ constructor( businessAccountToken, email, phoneNumber, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -313,9 +313,9 @@ constructor( businessAccountToken, email, phoneNumber, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderUpdateResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderUpdateResponse.kt index f941e23f..240b14a5 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderUpdateResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderUpdateResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = AccountHolderUpdateResponse.Builder::class) @@ -161,7 +161,7 @@ private constructor( email, phoneNumber, token, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderUploadDocumentParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderUploadDocumentParams.kt index 754a3d88..05423f06 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderUploadDocumentParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountHolderUploadDocumentParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -119,7 +119,7 @@ constructor( AccountHolderUploadDocumentBody( checkNotNull(documentType) { "`documentType` is required but was not set" }, checkNotNull(entityToken) { "`entityToken` is required but was not set" }, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -263,9 +263,9 @@ constructor( }, checkNotNull(documentType) { "`documentType` is required but was not set" }, checkNotNull(entityToken) { "`entityToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountListPage.kt index 0db738a2..dfb1063c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.AccountService import java.util.Objects @@ -159,7 +159,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountListPageAsync.kt index dbf8da93..3171bf85 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.AccountServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -165,7 +165,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountListParams.kt index 70b84286..0fe06e25 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountListParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.OffsetDateTime import java.time.format.DateTimeFormatter @@ -42,7 +42,7 @@ constructor( this.pageSize?.let { params.put("page_size", listOf(it.toString())) } this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -168,8 +168,8 @@ constructor( endingBefore, pageSize, startingAfter, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountRetrieveParams.kt index 0be6e54c..e8fa78ce 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -111,8 +111,8 @@ constructor( fun build(): AccountRetrieveParams = AccountRetrieveParams( checkNotNull(accountToken) { "`accountToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountRetrieveSpendLimitsParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountRetrieveSpendLimitsParams.kt index 77f18a94..0f275260 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountRetrieveSpendLimitsParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountRetrieveSpendLimitsParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -112,8 +112,8 @@ constructor( fun build(): AccountRetrieveSpendLimitsParams = AccountRetrieveSpendLimitsParams( checkNotNull(accountToken) { "`accountToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountSpendLimits.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountSpendLimits.kt index 7255b49c..e29e758d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountSpendLimits.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountSpendLimits.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = AccountSpendLimits.Builder::class) @@ -117,7 +117,7 @@ private constructor( availableSpendLimit, spendLimit, spendVelocity, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -264,7 +264,7 @@ private constructor( daily, lifetime, monthly, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -396,7 +396,7 @@ private constructor( daily, lifetime, monthly, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -564,7 +564,7 @@ private constructor( daily, lifetime, monthly, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountUpdateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountUpdateParams.kt index 062bbe9f..817eb15b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountUpdateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AccountUpdateParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -204,7 +204,7 @@ constructor( monthlySpendLimit, state, verificationAddress, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -386,9 +386,9 @@ constructor( monthlySpendLimit, state, verificationAddress, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } @@ -547,7 +547,7 @@ constructor( country, postalCode, state, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Address.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Address.kt index d93b0945..dadd164e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Address.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Address.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = Address.Builder::class) @@ -218,7 +218,7 @@ private constructor( country, postalCode, state, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalance.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalance.kt index febbbcd6..8c3b0304 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalance.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalance.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -322,7 +322,7 @@ private constructor( pendingAmount, totalAmount, updated, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalanceListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalanceListPage.kt index 2b03d058..aeb2e6c4 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalanceListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalanceListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.AggregateBalanceService import java.util.Objects @@ -155,7 +155,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalanceListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalanceListPageAsync.kt index 58851ec8..60f5613b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalanceListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalanceListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.AggregateBalanceServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -157,7 +157,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalanceListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalanceListParams.kt index ad665ac8..9368da01 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalanceListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalanceListParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -27,7 +27,7 @@ constructor( params.put("financial_account_type", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -119,8 +119,8 @@ constructor( fun build(): AggregateBalanceListParams = AggregateBalanceListParams( financialAccountType, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalanceListResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalanceListResponse.kt index b02c7863..66f701e3 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalanceListResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AggregateBalanceListResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.time.OffsetDateTime import java.util.Objects @@ -278,7 +278,7 @@ private constructor( pendingAmount, totalAmount, updated, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ApiStatus.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ApiStatus.kt index 48064626..b41e5414 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ApiStatus.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ApiStatus.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = ApiStatus.Builder::class) @@ -76,7 +76,7 @@ private constructor( this.additionalProperties.putAll(additionalProperties) } - fun build(): ApiStatus = ApiStatus(message, additionalProperties.toUnmodifiable()) + fun build(): ApiStatus = ApiStatus(message, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRule.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRule.kt index f58d2d60..4b3e0115 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRule.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRule.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -279,16 +279,16 @@ private constructor( fun build(): AuthRule = AuthRule( - accountTokens.map { it.toUnmodifiable() }, - allowedCountries.map { it.toUnmodifiable() }, - allowedMcc.map { it.toUnmodifiable() }, - blockedCountries.map { it.toUnmodifiable() }, - blockedMcc.map { it.toUnmodifiable() }, - cardTokens.map { it.toUnmodifiable() }, + accountTokens.map { it.toImmutable() }, + allowedCountries.map { it.toImmutable() }, + allowedMcc.map { it.toImmutable() }, + blockedCountries.map { it.toImmutable() }, + blockedMcc.map { it.toImmutable() }, + cardTokens.map { it.toImmutable() }, programLevel, state, token, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleApplyParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleApplyParams.kt index abe396c3..eeca98dd 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleApplyParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleApplyParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -138,10 +138,10 @@ constructor( fun build(): AuthRuleApplyBody = AuthRuleApplyBody( - accountTokens?.toUnmodifiable(), - cardTokens?.toUnmodifiable(), + accountTokens?.toImmutable(), + cardTokens?.toImmutable(), programLevel, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -307,12 +307,12 @@ constructor( fun build(): AuthRuleApplyParams = AuthRuleApplyParams( checkNotNull(authRuleToken) { "`authRuleToken` is required but was not set" }, - if (accountTokens.size == 0) null else accountTokens.toUnmodifiable(), - if (cardTokens.size == 0) null else cardTokens.toUnmodifiable(), + if (accountTokens.size == 0) null else accountTokens.toImmutable(), + if (cardTokens.size == 0) null else cardTokens.toImmutable(), programLevel, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleCreateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleCreateParams.kt index c85ebca4..e0c57555 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleCreateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleCreateParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -198,14 +198,14 @@ constructor( fun build(): AuthRuleCreateBody = AuthRuleCreateBody( - accountTokens?.toUnmodifiable(), - allowedCountries?.toUnmodifiable(), - allowedMcc?.toUnmodifiable(), - blockedCountries?.toUnmodifiable(), - blockedMcc?.toUnmodifiable(), - cardTokens?.toUnmodifiable(), + accountTokens?.toImmutable(), + allowedCountries?.toImmutable(), + allowedMcc?.toImmutable(), + blockedCountries?.toImmutable(), + blockedMcc?.toImmutable(), + cardTokens?.toImmutable(), programLevel, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -422,16 +422,16 @@ constructor( fun build(): AuthRuleCreateParams = AuthRuleCreateParams( - if (accountTokens.size == 0) null else accountTokens.toUnmodifiable(), - if (allowedCountries.size == 0) null else allowedCountries.toUnmodifiable(), - if (allowedMcc.size == 0) null else allowedMcc.toUnmodifiable(), - if (blockedCountries.size == 0) null else blockedCountries.toUnmodifiable(), - if (blockedMcc.size == 0) null else blockedMcc.toUnmodifiable(), - if (cardTokens.size == 0) null else cardTokens.toUnmodifiable(), + if (accountTokens.size == 0) null else accountTokens.toImmutable(), + if (allowedCountries.size == 0) null else allowedCountries.toImmutable(), + if (allowedMcc.size == 0) null else allowedMcc.toImmutable(), + if (blockedCountries.size == 0) null else blockedCountries.toImmutable(), + if (blockedMcc.size == 0) null else blockedMcc.toImmutable(), + if (cardTokens.size == 0) null else cardTokens.toImmutable(), programLevel, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleListPage.kt index 3bbaf4be..4dfeb40f 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.AuthRuleService import java.util.Objects @@ -159,7 +159,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleListPageAsync.kt index 92b52c80..2888216b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.AuthRuleServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -165,7 +165,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleListParams.kt index 8ad51c31..9894f6ed 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleListParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -28,7 +28,7 @@ constructor( this.pageSize?.let { params.put("page_size", listOf(it.toString())) } this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -136,8 +136,8 @@ constructor( endingBefore, pageSize, startingAfter, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleMigrateV1ToV2Params.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleMigrateV1ToV2Params.kt index a1744671..7745c8ca 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleMigrateV1ToV2Params.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleMigrateV1ToV2Params.kt @@ -4,7 +4,7 @@ package com.lithic.api.models import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -135,9 +135,9 @@ constructor( fun build(): AuthRuleMigrateV1ToV2Params = AuthRuleMigrateV1ToV2Params( checkNotNull(authRuleToken) { "`authRuleToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleRemoveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleRemoveParams.kt index d2008883..fdfb0042 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleRemoveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleRemoveParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -128,10 +128,10 @@ constructor( fun build(): AuthRuleRemoveBody = AuthRuleRemoveBody( - accountTokens?.toUnmodifiable(), - cardTokens?.toUnmodifiable(), + accountTokens?.toImmutable(), + cardTokens?.toImmutable(), programLevel, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -292,12 +292,12 @@ constructor( fun build(): AuthRuleRemoveParams = AuthRuleRemoveParams( - if (accountTokens.size == 0) null else accountTokens.toUnmodifiable(), - if (cardTokens.size == 0) null else cardTokens.toUnmodifiable(), + if (accountTokens.size == 0) null else accountTokens.toImmutable(), + if (cardTokens.size == 0) null else cardTokens.toImmutable(), programLevel, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleRemoveResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleRemoveResponse.kt index ebbe6ee2..6dd2250d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleRemoveResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleRemoveResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = AuthRuleRemoveResponse.Builder::class) @@ -110,10 +110,10 @@ private constructor( fun build(): AuthRuleRemoveResponse = AuthRuleRemoveResponse( - accountTokens.map { it.toUnmodifiable() }, - cardTokens.map { it.toUnmodifiable() }, + accountTokens.map { it.toImmutable() }, + cardTokens.map { it.toImmutable() }, programLevel, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleRetrieveParams.kt index 9d8b7999..1d920fa2 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -111,8 +111,8 @@ constructor( fun build(): AuthRuleRetrieveParams = AuthRuleRetrieveParams( checkNotNull(authRuleToken) { "`authRuleToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleRetrieveResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleRetrieveResponse.kt index 892155c0..fb209214 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleRetrieveResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleRetrieveResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = AuthRuleRetrieveResponse.Builder::class) @@ -78,8 +78,8 @@ private constructor( fun build(): AuthRuleRetrieveResponse = AuthRuleRetrieveResponse( - data.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + data.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleUpdateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleUpdateParams.kt index a040664c..82a7821a 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleUpdateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleUpdateParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -169,11 +169,11 @@ constructor( fun build(): AuthRuleUpdateBody = AuthRuleUpdateBody( - allowedCountries?.toUnmodifiable(), - allowedMcc?.toUnmodifiable(), - blockedCountries?.toUnmodifiable(), - blockedMcc?.toUnmodifiable(), - additionalProperties.toUnmodifiable(), + allowedCountries?.toImmutable(), + allowedMcc?.toImmutable(), + blockedCountries?.toImmutable(), + blockedMcc?.toImmutable(), + additionalProperties.toImmutable(), ) } @@ -374,13 +374,13 @@ constructor( fun build(): AuthRuleUpdateParams = AuthRuleUpdateParams( checkNotNull(authRuleToken) { "`authRuleToken` is required but was not set" }, - if (allowedCountries.size == 0) null else allowedCountries.toUnmodifiable(), - if (allowedMcc.size == 0) null else allowedMcc.toUnmodifiable(), - if (blockedCountries.size == 0) null else blockedCountries.toUnmodifiable(), - if (blockedMcc.size == 0) null else blockedMcc.toUnmodifiable(), - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + if (allowedCountries.size == 0) null else allowedCountries.toImmutable(), + if (allowedMcc.size == 0) null else allowedMcc.toImmutable(), + if (blockedCountries.size == 0) null else blockedCountries.toImmutable(), + if (blockedMcc.size == 0) null else blockedMcc.toImmutable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ApplyParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ApplyParams.kt index ff88f995..b5420fad 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ApplyParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ApplyParams.kt @@ -18,7 +18,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect import com.lithic.api.core.getOrThrow -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -183,6 +183,7 @@ constructor( override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleV2ApplyBody { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return AuthRuleV2ApplyBody(applyAuthRuleRequestAccountTokens = it, _json = json) } @@ -338,8 +339,8 @@ constructor( applyAuthRuleRequestAccountTokens, applyAuthRuleRequestCardTokens, applyAuthRuleRequestProgramLevel, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } @@ -400,8 +401,8 @@ constructor( fun build(): ApplyAuthRuleRequestAccountTokens = ApplyAuthRuleRequestAccountTokens( checkNotNull(accountTokens) { "`accountTokens` is required but was not set" } - .toUnmodifiable(), - additionalProperties.toUnmodifiable() + .toImmutable(), + additionalProperties.toImmutable() ) } @@ -480,8 +481,8 @@ constructor( fun build(): ApplyAuthRuleRequestCardTokens = ApplyAuthRuleRequestCardTokens( checkNotNull(cardTokens) { "`cardTokens` is required but was not set" } - .toUnmodifiable(), - additionalProperties.toUnmodifiable() + .toImmutable(), + additionalProperties.toImmutable() ) } @@ -560,7 +561,7 @@ constructor( fun build(): ApplyAuthRuleRequestProgramLevel = ApplyAuthRuleRequestProgramLevel( checkNotNull(programLevel) { "`programLevel` is required but was not set" }, - additionalProperties.toUnmodifiable() + additionalProperties.toImmutable() ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2CreateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2CreateParams.kt index ffa5810c..3ef43cfd 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2CreateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2CreateParams.kt @@ -22,7 +22,7 @@ import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect import com.lithic.api.core.getOrThrow -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -183,6 +183,7 @@ constructor( override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleV2CreateBody { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return AuthRuleV2CreateBody( createAuthRuleRequestAccountTokens = it, @@ -339,8 +340,8 @@ constructor( createAuthRuleRequestAccountTokens, createAuthRuleRequestCardTokens, createAuthRuleRequestProgramLevel, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } @@ -350,7 +351,7 @@ constructor( private constructor( private val accountTokens: List?, private val type: AuthRuleType?, - private val parameters: AuthRuleParameters?, + private val parameters: Parameters?, private val additionalProperties: Map, ) { @@ -361,7 +362,7 @@ constructor( @JsonProperty("type") fun type(): AuthRuleType? = type /** Parameters for the current version of the Auth Rule */ - @JsonProperty("parameters") fun parameters(): AuthRuleParameters? = parameters + @JsonProperty("parameters") fun parameters(): Parameters? = parameters @JsonAnyGetter @ExcludeMissing @@ -378,7 +379,7 @@ constructor( private var accountTokens: List? = null private var type: AuthRuleType? = null - private var parameters: AuthRuleParameters? = null + private var parameters: Parameters? = null private var additionalProperties: MutableMap = mutableMapOf() internal fun from( @@ -401,7 +402,7 @@ constructor( /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") - fun parameters(parameters: AuthRuleParameters) = apply { this.parameters = parameters } + fun parameters(parameters: Parameters) = apply { this.parameters = parameters } fun additionalProperties(additionalProperties: Map) = apply { this.additionalProperties.clear() @@ -420,16 +421,16 @@ constructor( fun build(): CreateAuthRuleRequestAccountTokens = CreateAuthRuleRequestAccountTokens( checkNotNull(accountTokens) { "`accountTokens` is required but was not set" } - .toUnmodifiable(), + .toImmutable(), type, parameters, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -465,10 +466,10 @@ constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -481,7 +482,7 @@ constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -491,11 +492,11 @@ constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -503,10 +504,10 @@ constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -518,33 +519,34 @@ constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -554,7 +556,7 @@ constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -628,8 +630,8 @@ constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -645,20 +647,84 @@ constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -696,10 +762,74 @@ constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -716,8 +846,10 @@ constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -742,7 +874,7 @@ constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1029,6 +1161,7 @@ constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } @@ -1188,7 +1321,7 @@ constructor( private constructor( private val cardTokens: List?, private val type: AuthRuleType?, - private val parameters: AuthRuleParameters?, + private val parameters: Parameters?, private val additionalProperties: Map, ) { @@ -1199,7 +1332,7 @@ constructor( @JsonProperty("type") fun type(): AuthRuleType? = type /** Parameters for the current version of the Auth Rule */ - @JsonProperty("parameters") fun parameters(): AuthRuleParameters? = parameters + @JsonProperty("parameters") fun parameters(): Parameters? = parameters @JsonAnyGetter @ExcludeMissing @@ -1216,7 +1349,7 @@ constructor( private var cardTokens: List? = null private var type: AuthRuleType? = null - private var parameters: AuthRuleParameters? = null + private var parameters: Parameters? = null private var additionalProperties: MutableMap = mutableMapOf() internal fun from(createAuthRuleRequestCardTokens: CreateAuthRuleRequestCardTokens) = @@ -1236,7 +1369,7 @@ constructor( /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") - fun parameters(parameters: AuthRuleParameters) = apply { this.parameters = parameters } + fun parameters(parameters: Parameters) = apply { this.parameters = parameters } fun additionalProperties(additionalProperties: Map) = apply { this.additionalProperties.clear() @@ -1255,16 +1388,16 @@ constructor( fun build(): CreateAuthRuleRequestCardTokens = CreateAuthRuleRequestCardTokens( checkNotNull(cardTokens) { "`cardTokens` is required but was not set" } - .toUnmodifiable(), + .toImmutable(), type, parameters, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -1300,10 +1433,10 @@ constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -1316,7 +1449,7 @@ constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -1326,11 +1459,11 @@ constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -1338,10 +1471,10 @@ constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -1353,33 +1486,34 @@ constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -1389,7 +1523,7 @@ constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -1463,8 +1597,8 @@ constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -1480,20 +1614,84 @@ constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -1531,10 +1729,74 @@ constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -1551,8 +1813,10 @@ constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -1577,7 +1841,7 @@ constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1864,6 +2128,7 @@ constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } @@ -2023,7 +2288,7 @@ constructor( private constructor( private val programLevel: Boolean?, private val type: AuthRuleType?, - private val parameters: AuthRuleParameters?, + private val parameters: Parameters?, private val additionalProperties: Map, ) { @@ -2034,7 +2299,7 @@ constructor( @JsonProperty("type") fun type(): AuthRuleType? = type /** Parameters for the current version of the Auth Rule */ - @JsonProperty("parameters") fun parameters(): AuthRuleParameters? = parameters + @JsonProperty("parameters") fun parameters(): Parameters? = parameters @JsonAnyGetter @ExcludeMissing @@ -2051,7 +2316,7 @@ constructor( private var programLevel: Boolean? = null private var type: AuthRuleType? = null - private var parameters: AuthRuleParameters? = null + private var parameters: Parameters? = null private var additionalProperties: MutableMap = mutableMapOf() internal fun from( @@ -2072,7 +2337,7 @@ constructor( /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") - fun parameters(parameters: AuthRuleParameters) = apply { this.parameters = parameters } + fun parameters(parameters: Parameters) = apply { this.parameters = parameters } fun additionalProperties(additionalProperties: Map) = apply { this.additionalProperties.clear() @@ -2093,13 +2358,13 @@ constructor( checkNotNull(programLevel) { "`programLevel` is required but was not set" }, type, parameters, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -2135,10 +2400,10 @@ constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -2151,7 +2416,7 @@ constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -2161,11 +2426,11 @@ constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -2173,10 +2438,10 @@ constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -2188,33 +2453,34 @@ constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -2224,7 +2490,7 @@ constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -2298,8 +2564,8 @@ constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -2315,20 +2581,84 @@ constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -2366,10 +2696,74 @@ constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -2386,8 +2780,10 @@ constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -2412,7 +2808,7 @@ constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -2699,6 +3095,7 @@ constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2DraftParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2DraftParams.kt index c455ac64..3bcf8339 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2DraftParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2DraftParams.kt @@ -22,7 +22,7 @@ import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect import com.lithic.api.core.getOrThrow -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -30,7 +30,7 @@ import java.util.Objects class AuthRuleV2DraftParams constructor( private val authRuleToken: String, - private val parameters: AuthRuleParameters?, + private val parameters: Parameters?, private val additionalQueryParams: Map>, private val additionalHeaders: Map>, private val additionalBodyProperties: Map, @@ -38,7 +38,7 @@ constructor( fun authRuleToken(): String = authRuleToken - fun parameters(): AuthRuleParameters? = parameters + fun parameters(): Parameters? = parameters internal fun getBody(): AuthRuleV2DraftBody { return AuthRuleV2DraftBody(parameters, additionalBodyProperties) @@ -59,12 +59,12 @@ constructor( @NoAutoDetect class AuthRuleV2DraftBody internal constructor( - private val parameters: AuthRuleParameters?, + private val parameters: Parameters?, private val additionalProperties: Map, ) { /** Parameters for the current version of the Auth Rule */ - @JsonProperty("parameters") fun parameters(): AuthRuleParameters? = parameters + @JsonProperty("parameters") fun parameters(): Parameters? = parameters @JsonAnyGetter @ExcludeMissing @@ -79,7 +79,7 @@ constructor( class Builder { - private var parameters: AuthRuleParameters? = null + private var parameters: Parameters? = null private var additionalProperties: MutableMap = mutableMapOf() internal fun from(authRuleV2DraftBody: AuthRuleV2DraftBody) = apply { @@ -89,7 +89,7 @@ constructor( /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") - fun parameters(parameters: AuthRuleParameters) = apply { this.parameters = parameters } + fun parameters(parameters: Parameters) = apply { this.parameters = parameters } fun additionalProperties(additionalProperties: Map) = apply { this.additionalProperties.clear() @@ -106,7 +106,7 @@ constructor( } fun build(): AuthRuleV2DraftBody = - AuthRuleV2DraftBody(parameters, additionalProperties.toUnmodifiable()) + AuthRuleV2DraftBody(parameters, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { @@ -162,7 +162,7 @@ constructor( class Builder { private var authRuleToken: String? = null - private var parameters: AuthRuleParameters? = null + private var parameters: Parameters? = null private var additionalQueryParams: MutableMap> = mutableMapOf() private var additionalHeaders: MutableMap> = mutableMapOf() private var additionalBodyProperties: MutableMap = mutableMapOf() @@ -178,18 +178,16 @@ constructor( fun authRuleToken(authRuleToken: String) = apply { this.authRuleToken = authRuleToken } /** Parameters for the current version of the Auth Rule */ - fun parameters(parameters: AuthRuleParameters) = apply { this.parameters = parameters } + fun parameters(parameters: Parameters) = apply { this.parameters = parameters } /** Parameters for the current version of the Auth Rule */ - fun parameters(conditionalBlockParameters: AuthRuleParameters.ConditionalBlockParameters) = - apply { - this.parameters = - AuthRuleParameters.ofConditionalBlockParameters(conditionalBlockParameters) - } + fun parameters(conditionalBlockParameters: Parameters.ConditionalBlockParameters) = apply { + this.parameters = Parameters.ofConditionalBlockParameters(conditionalBlockParameters) + } /** Parameters for the current version of the Auth Rule */ fun parameters(velocityLimitParams: VelocityLimitParams) = apply { - this.parameters = AuthRuleParameters.ofVelocityLimitParams(velocityLimitParams) + this.parameters = Parameters.ofVelocityLimitParams(velocityLimitParams) } fun additionalQueryParams(additionalQueryParams: Map>) = apply { @@ -250,15 +248,15 @@ constructor( AuthRuleV2DraftParams( checkNotNull(authRuleToken) { "`authRuleToken` is required but was not set" }, parameters, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -292,10 +290,10 @@ constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -308,7 +306,7 @@ constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -318,11 +316,11 @@ constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -330,10 +328,10 @@ constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -345,31 +343,32 @@ constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -379,7 +378,7 @@ constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -451,8 +450,8 @@ constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -468,20 +467,84 @@ constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify a + * business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all ISO + * 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for Netherlands + * Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of the + * transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the issuer + * applies to the transaction. Valid values are `NONE`, `3DS_AUTHENTICATED`, or + * `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account number + * (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, `CONTACTLESS`, + * `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, `KEY_ENTERED`, + * `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, `UNSPECIFIED`, + * `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer + * fee field in the settlement/cardholder billing currency. This is the amount the + * issuer should authorize against unless the issuer is paying the acquirer fee on + * behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing the + * lowest risk and 999 representing the highest risk. For Visa transactions, where + * the raw score has a range of 0-99, Lithic will normalize the score by + * multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify a + * business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all ISO + * 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for Netherlands + * Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of the + * transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the issuer + * applies to the transaction. Valid values are `NONE`, `3DS_AUTHENTICATED`, or + * `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account number + * (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, `CONTACTLESS`, + * `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, `KEY_ENTERED`, + * `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, `UNSPECIFIED`, + * `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer + * fee field in the settlement/cardholder billing currency. This is the amount the + * issuer should authorize against unless the issuer is paying the acquirer fee on + * behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing the + * lowest risk and 999 representing the highest risk. For Visa transactions, where + * the raw score has a range of 0-99, Lithic will normalize the score by + * multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -518,10 +581,72 @@ constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -538,8 +663,10 @@ constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -564,7 +691,7 @@ constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -849,6 +976,7 @@ constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ListPage.kt index be1313f2..1c6ab68b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.authRules.V2Service import java.util.Objects @@ -159,7 +159,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ListPageAsync.kt index ef780046..c4c54641 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.authRules.V2ServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -161,7 +161,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ListParams.kt index c0fbae7c..c96bc93a 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ListParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -36,7 +36,7 @@ constructor( this.pageSize?.let { params.put("page_size", listOf(it.toString())) } this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -156,8 +156,8 @@ constructor( endingBefore, pageSize, startingAfter, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2PromoteParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2PromoteParams.kt index d15c4b99..f74c6289 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2PromoteParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2PromoteParams.kt @@ -4,7 +4,7 @@ package com.lithic.api.models import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -135,9 +135,9 @@ constructor( fun build(): AuthRuleV2PromoteParams = AuthRuleV2PromoteParams( checkNotNull(authRuleToken) { "`authRuleToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ReportParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ReportParams.kt index b2d1adff..5df65f6b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ReportParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2ReportParams.kt @@ -4,7 +4,7 @@ package com.lithic.api.models import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -135,9 +135,9 @@ constructor( fun build(): AuthRuleV2ReportParams = AuthRuleV2ReportParams( checkNotNull(authRuleToken) { "`authRuleToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2RetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2RetrieveParams.kt index 886eb427..9511e72d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2RetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2RetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -111,8 +111,8 @@ constructor( fun build(): AuthRuleV2RetrieveParams = AuthRuleV2RetrieveParams( checkNotNull(authRuleToken) { "`authRuleToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2UpdateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2UpdateParams.kt index efa3e251..a0e06f94 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2UpdateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthRuleV2UpdateParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -107,7 +107,7 @@ constructor( } fun build(): AuthRuleV2UpdateBody = - AuthRuleV2UpdateBody(state, additionalProperties.toUnmodifiable()) + AuthRuleV2UpdateBody(state, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { @@ -245,9 +245,9 @@ constructor( AuthRuleV2UpdateParams( checkNotNull(authRuleToken) { "`authRuleToken` is required but was not set" }, state, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthStreamEnrollmentRetrieveSecretParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthStreamEnrollmentRetrieveSecretParams.kt index 74cc08df..c1850e70 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthStreamEnrollmentRetrieveSecretParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthStreamEnrollmentRetrieveSecretParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -98,8 +98,8 @@ constructor( fun build(): AuthStreamEnrollmentRetrieveSecretParams = AuthStreamEnrollmentRetrieveSecretParams( - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable() + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable() ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthStreamEnrollmentRotateSecretParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthStreamEnrollmentRotateSecretParams.kt index b31848fb..6127a8bb 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthStreamEnrollmentRotateSecretParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthStreamEnrollmentRotateSecretParams.kt @@ -4,7 +4,7 @@ package com.lithic.api.models import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -124,9 +124,9 @@ constructor( fun build(): AuthStreamEnrollmentRotateSecretParams = AuthStreamEnrollmentRotateSecretParams( - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthStreamSecret.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthStreamSecret.kt index be66a655..f29fb232 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthStreamSecret.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthStreamSecret.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = AuthStreamSecret.Builder::class) @@ -80,8 +80,7 @@ private constructor( this.additionalProperties.putAll(additionalProperties) } - fun build(): AuthStreamSecret = - AuthStreamSecret(secret, additionalProperties.toUnmodifiable()) + fun build(): AuthStreamSecret = AuthStreamSecret(secret, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthenticationRetrieveResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthenticationRetrieveResponse.kt index a682927c..ec23ca27 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthenticationRetrieveResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthenticationRetrieveResponse.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -549,7 +549,7 @@ private constructor( threeRiRequestType, token, transaction, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1026,7 +1026,7 @@ private constructor( phoneNumberMobile, phoneNumberWork, shippingAddress, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1210,7 +1210,7 @@ private constructor( city, country, postalCode, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1591,7 +1591,7 @@ private constructor( mcc, name, riskIndicator, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1979,7 +1979,7 @@ private constructor( preOrderAvailableDate, reorderItems, shippingMethod, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -2499,7 +2499,7 @@ private constructor( AdditionalData( networkDecision, networkRiskScore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -2697,7 +2697,7 @@ private constructor( App( deviceInfo, ip, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -3070,7 +3070,7 @@ private constructor( language, timeZone, userAgent, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -3442,7 +3442,7 @@ private constructor( currencyExponent, dateTime, type, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthenticationSimulateResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthenticationSimulateResponse.kt index 53f337e6..d7363963 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthenticationSimulateResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/AuthenticationSimulateResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = AuthenticationSimulateResponse.Builder::class) @@ -93,7 +93,7 @@ private constructor( } fun build(): AuthenticationSimulateResponse = - AuthenticationSimulateResponse(token, additionalProperties.toUnmodifiable()) + AuthenticationSimulateResponse(token, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Balance.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Balance.kt index 4e5fb0fb..f5d58c83 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Balance.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Balance.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -326,7 +326,7 @@ private constructor( pendingAmount, totalAmount, updated, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BalanceListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BalanceListPage.kt index 1eece3dd..e4cb724e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BalanceListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BalanceListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.BalanceService import java.util.Objects @@ -151,7 +151,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BalanceListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BalanceListPageAsync.kt index 81269dfb..2407f8e6 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BalanceListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BalanceListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.BalanceServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -157,7 +157,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BalanceListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BalanceListParams.kt index 9e590c49..b3a482fd 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BalanceListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BalanceListParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.OffsetDateTime @@ -39,7 +39,7 @@ constructor( params.put("financial_account_type", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -143,8 +143,8 @@ constructor( accountToken, balanceDate, financialAccountType, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BalanceListResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BalanceListResponse.kt index a17b0f9e..c5078c36 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BalanceListResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BalanceListResponse.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -314,7 +314,7 @@ private constructor( pendingAmount, totalAmount, updated, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferCreateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferCreateParams.kt index b3beeedc..fa5e95db 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferCreateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferCreateParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -225,7 +225,7 @@ constructor( checkNotNull(type) { "`type` is required but was not set" }, token, memo, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -415,9 +415,9 @@ constructor( checkNotNull(type) { "`type` is required but was not set" }, token, memo, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferListPage.kt index d697cc08..523a3f04 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.BookTransferService import java.util.Objects @@ -169,7 +169,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferListPageAsync.kt index fdeaca39..b278c2cc 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.BookTransferServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -171,7 +171,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferListParams.kt index 3dec6108..851ed61c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferListParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.OffsetDateTime @@ -75,7 +75,7 @@ constructor( this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } this.status?.let { params.put("status", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -242,8 +242,8 @@ constructor( result, startingAfter, status, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferResponse.kt index 02dba3e9..ab0c9c2a 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferResponse.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -376,7 +376,7 @@ private constructor( category, created, currency, - events.map { it.toUnmodifiable() }, + events.map { it.toImmutable() }, fromFinancialAccountToken, pendingAmount, result, @@ -385,7 +385,7 @@ private constructor( toFinancialAccountToken, token, updated, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -705,8 +705,8 @@ private constructor( token, subtype, memo, - detailedResults.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable(), + detailedResults.map { it.toImmutable() }, + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferRetrieveParams.kt index 9e247f4f..a5f638ab 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -115,8 +115,8 @@ constructor( checkNotNull(bookTransferToken) { "`bookTransferToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferReverseParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferReverseParams.kt index 0502ec10..8c44f39a 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferReverseParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/BookTransferReverseParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -91,7 +91,7 @@ constructor( } fun build(): BookTransferReverseBody = - BookTransferReverseBody(memo, additionalProperties.toUnmodifiable()) + BookTransferReverseBody(memo, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { @@ -227,9 +227,9 @@ constructor( "`bookTransferToken` is required but was not set" }, memo, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Card.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Card.kt index cbe60665..b970d6c9 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Card.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Card.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -750,7 +750,7 @@ private constructor( fun build(): Card = Card( accountToken, - authRuleTokens.map { it.toUnmodifiable() }, + authRuleTokens.map { it.toImmutable() }, cardProgramToken, cardholderCurrency, created, @@ -763,7 +763,7 @@ private constructor( lastFour, memo, pan, - pendingCommands.map { it.toUnmodifiable() }, + pendingCommands.map { it.toImmutable() }, pinStatus, productId, spendLimit, @@ -771,7 +771,7 @@ private constructor( state, token, type, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1035,7 +1035,7 @@ private constructor( state, token, type, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardAggregateBalanceListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardAggregateBalanceListPage.kt index 4f348e3b..2ad07a02 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardAggregateBalanceListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardAggregateBalanceListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.cards.AggregateBalanceService import java.util.Objects @@ -157,7 +157,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardAggregateBalanceListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardAggregateBalanceListPageAsync.kt index 8d3142dc..6556a1fc 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardAggregateBalanceListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardAggregateBalanceListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.cards.AggregateBalanceServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -159,7 +159,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardAggregateBalanceListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardAggregateBalanceListParams.kt index 80dec477..a4315199 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardAggregateBalanceListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardAggregateBalanceListParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -26,7 +26,7 @@ constructor( params.put("business_account_token", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -124,8 +124,8 @@ constructor( CardAggregateBalanceListParams( accountToken, businessAccountToken, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardBalanceListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardBalanceListPage.kt index f8ffc7cc..6252fc7b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardBalanceListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardBalanceListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.cards.BalanceService import java.util.Objects @@ -151,7 +151,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardBalanceListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardBalanceListPageAsync.kt index a3d79131..c313e5b1 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardBalanceListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardBalanceListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.cards.BalanceServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -157,7 +157,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardBalanceListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardBalanceListParams.kt index 054b6cc6..1013d398 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardBalanceListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardBalanceListParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.OffsetDateTime import java.time.format.DateTimeFormatter @@ -33,7 +33,7 @@ constructor( params.put("last_transaction_event_token", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -146,8 +146,8 @@ constructor( checkNotNull(cardToken) { "`cardToken` is required but was not set" }, balanceDate, lastTransactionEventToken, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardCreateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardCreateParams.kt index 85d457a9..59ba8d27 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardCreateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardCreateParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -471,7 +471,7 @@ constructor( spendLimit, spendLimitDuration, state, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -769,9 +769,9 @@ constructor( spendLimit, spendLimitDuration, state, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardEmbedParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardEmbedParams.kt index a7f79c06..4cd3e153 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardEmbedParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardEmbedParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -24,7 +24,7 @@ constructor( this.embedRequest.let { params.put("embed_request", listOf(it.toString())) } this.hmac.let { params.put("hmac", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -120,8 +120,8 @@ constructor( CardEmbedParams( checkNotNull(embedRequest) { "`embedRequest` is required but was not set" }, checkNotNull(hmac) { "`hmac` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardFinancialTransactionListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardFinancialTransactionListPage.kt index b1b0a1c6..21ea3a89 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardFinancialTransactionListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardFinancialTransactionListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.cards.FinancialTransactionService import java.util.Objects @@ -155,7 +155,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardFinancialTransactionListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardFinancialTransactionListPageAsync.kt index bc428658..2e4b3a75 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardFinancialTransactionListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardFinancialTransactionListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.cards.FinancialTransactionServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -157,7 +157,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardFinancialTransactionListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardFinancialTransactionListParams.kt index 992b52c4..ff00f5f0 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardFinancialTransactionListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardFinancialTransactionListParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.OffsetDateTime @@ -58,7 +58,7 @@ constructor( this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } this.status?.let { params.put("status", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -209,8 +209,8 @@ constructor( result, startingAfter, status, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardFinancialTransactionRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardFinancialTransactionRetrieveParams.kt index f4625ae5..4b5e1e60 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardFinancialTransactionRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardFinancialTransactionRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -127,8 +127,8 @@ constructor( checkNotNull(financialTransactionToken) { "`financialTransactionToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardGetEmbedHtmlParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardGetEmbedHtmlParams.kt index a40cc168..32fa5ae2 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardGetEmbedHtmlParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardGetEmbedHtmlParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.OffsetDateTime import java.util.Objects @@ -199,7 +199,7 @@ constructor( css, expiration, targetOrigin, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } @@ -358,9 +358,9 @@ constructor( css, expiration, targetOrigin, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardGetEmbedUrlParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardGetEmbedUrlParams.kt index e6b9720e..b706f201 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardGetEmbedUrlParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardGetEmbedUrlParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.OffsetDateTime import java.util.Objects @@ -199,7 +199,7 @@ constructor( css, expiration, targetOrigin, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } @@ -358,9 +358,9 @@ constructor( css, expiration, targetOrigin, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardListPage.kt index 7b6560fa..2c19c7b0 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.CardService import java.util.Objects @@ -158,7 +158,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardListPageAsync.kt index f35bda61..60611bb9 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.CardServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -160,7 +160,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardListParams.kt index aef1aa55..6f474102 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardListParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.OffsetDateTime @@ -55,7 +55,7 @@ constructor( this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } this.state?.let { params.put("state", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -193,8 +193,8 @@ constructor( pageSize, startingAfter, state, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgram.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgram.kt index 3b165705..198a5592 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgram.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgram.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.time.OffsetDateTime import java.util.Objects @@ -221,9 +221,9 @@ private constructor( name, panRangeEnd, panRangeStart, - settlementCurrencies.map { it.toUnmodifiable() }, + settlementCurrencies.map { it.toImmutable() }, token, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgramListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgramListPage.kt index c35b7667..3d74094f 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgramListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgramListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.CardProgramService import java.util.Objects @@ -169,7 +169,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgramListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgramListPageAsync.kt index f128e691..254e8248 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgramListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgramListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.CardProgramServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -171,7 +171,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgramListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgramListParams.kt index 6fe22432..bf3cb9cf 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgramListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgramListParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -28,7 +28,7 @@ constructor( this.pageSize?.let { params.put("page_size", listOf(it.toString())) } this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -136,8 +136,8 @@ constructor( endingBefore, pageSize, startingAfter, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgramRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgramRetrieveParams.kt index 89b762d5..2754395c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgramRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProgramRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -113,8 +113,8 @@ constructor( fun build(): CardProgramRetrieveParams = CardProgramRetrieveParams( checkNotNull(cardProgramToken) { "`cardProgramToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProvisionParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProvisionParams.kt index 4e3e3a94..98dda8bf 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProvisionParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProvisionParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -220,7 +220,7 @@ constructor( digitalWallet, nonce, nonceSignature, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -404,9 +404,9 @@ constructor( digitalWallet, nonce, nonceSignature, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProvisionResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProvisionResponse.kt index 332c38d3..2b89b5bc 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProvisionResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardProvisionResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = CardProvisionResponse.Builder::class) @@ -82,7 +82,7 @@ private constructor( } fun build(): CardProvisionResponse = - CardProvisionResponse(provisioningPayload, additionalProperties.toUnmodifiable()) + CardProvisionResponse(provisioningPayload, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardReissueParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardReissueParams.kt index 7d2ba789..2621fc5e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardReissueParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardReissueParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -179,7 +179,7 @@ constructor( productId, shippingAddress, shippingMethod, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -348,9 +348,9 @@ constructor( productId, shippingAddress, shippingMethod, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardRenewParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardRenewParams.kt index 38c30a6c..cded5dd4 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardRenewParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardRenewParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -223,7 +223,7 @@ constructor( expYear, productId, shippingMethod, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -410,9 +410,9 @@ constructor( expYear, productId, shippingMethod, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardRetrieveParams.kt index c3a3d0a0..daa2e6ee 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -111,8 +111,8 @@ constructor( fun build(): CardRetrieveParams = CardRetrieveParams( checkNotNull(cardToken) { "`cardToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardRetrieveSpendLimitsParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardRetrieveSpendLimitsParams.kt index 1b37dcbf..325e41a0 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardRetrieveSpendLimitsParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardRetrieveSpendLimitsParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -111,8 +111,8 @@ constructor( fun build(): CardRetrieveSpendLimitsParams = CardRetrieveSpendLimitsParams( checkNotNull(cardToken) { "`cardToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardSearchByPanParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardSearchByPanParams.kt index 0d02a36a..f3fe197c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardSearchByPanParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardSearchByPanParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -83,7 +83,7 @@ constructor( fun build(): CardSearchByPanBody = CardSearchByPanBody( checkNotNull(pan) { "`pan` is required but was not set" }, - additionalProperties.toUnmodifiable() + additionalProperties.toImmutable() ) } @@ -211,9 +211,9 @@ constructor( fun build(): CardSearchByPanParams = CardSearchByPanParams( checkNotNull(pan) { "`pan` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardSpendLimits.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardSpendLimits.kt index 505eb5af..cd823eb1 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardSpendLimits.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardSpendLimits.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = CardSpendLimits.Builder::class) @@ -117,7 +117,7 @@ private constructor( availableSpendLimit, spendLimit, spendVelocity, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -262,7 +262,7 @@ private constructor( annually, forever, monthly, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -394,7 +394,7 @@ private constructor( annually, forever, monthly, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -562,7 +562,7 @@ private constructor( annually, forever, monthly, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardUpdateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardUpdateParams.kt index d0ecc35b..5890d662 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardUpdateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CardUpdateParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -263,7 +263,7 @@ constructor( spendLimit, spendLimitDuration, state, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -469,9 +469,9 @@ constructor( spendLimit, spendLimitDuration, state, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Carrier.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Carrier.kt index 052cf4be..86dd67b7 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Carrier.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Carrier.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = Carrier.Builder::class) @@ -80,7 +80,7 @@ private constructor( this.additionalProperties.putAll(additionalProperties) } - fun build(): Carrier = Carrier(qrCodeUrl, additionalProperties.toUnmodifiable()) + fun build(): Carrier = Carrier(qrCodeUrl, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ChallengeResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ChallengeResponse.kt index ad52c294..d4f32fcd 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ChallengeResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ChallengeResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = ChallengeResponse.Builder::class) @@ -121,7 +121,7 @@ private constructor( ChallengeResponse( token, challengeResponse, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ClientApiStatusParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ClientApiStatusParams.kt index 8658ef05..5e3fae99 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ClientApiStatusParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ClientApiStatusParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -96,8 +96,8 @@ constructor( fun build(): ClientApiStatusParams = ClientApiStatusParams( - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable() + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable() ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CreditProductExtendedCreditRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CreditProductExtendedCreditRetrieveParams.kt index ea0d4414..a221d8e0 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CreditProductExtendedCreditRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/CreditProductExtendedCreditRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -115,8 +115,8 @@ constructor( fun build(): CreditProductExtendedCreditRetrieveParams = CreditProductExtendedCreditRetrieveParams( checkNotNull(creditProductId) { "`creditProductId` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DecisioningRetrieveSecretResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DecisioningRetrieveSecretResponse.kt index 2c271735..0d608c1c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DecisioningRetrieveSecretResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DecisioningRetrieveSecretResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = DecisioningRetrieveSecretResponse.Builder::class) @@ -82,7 +82,7 @@ private constructor( } fun build(): DecisioningRetrieveSecretResponse = - DecisioningRetrieveSecretResponse(secret, additionalProperties.toUnmodifiable()) + DecisioningRetrieveSecretResponse(secret, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DecisioningSimulateChallengeResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DecisioningSimulateChallengeResponse.kt index 1db1fa48..15005ca9 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DecisioningSimulateChallengeResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DecisioningSimulateChallengeResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = DecisioningSimulateChallengeResponse.Builder::class) @@ -99,7 +99,7 @@ private constructor( } fun build(): DecisioningSimulateChallengeResponse = - DecisioningSimulateChallengeResponse(token, additionalProperties.toUnmodifiable()) + DecisioningSimulateChallengeResponse(token, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArt.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArt.kt index 035b7f3e..af88e673 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArt.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArt.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -210,7 +210,7 @@ private constructor( isEnabled, network, token, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArtListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArtListPage.kt index 8b9c4d47..e90cf48d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArtListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArtListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.DigitalCardArtService import java.util.Objects @@ -169,7 +169,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArtListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArtListPageAsync.kt index d1d99f04..579f9e6d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArtListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArtListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.DigitalCardArtServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -171,7 +171,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArtListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArtListParams.kt index 3d7c08d7..3fe2ced4 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArtListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArtListParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -28,7 +28,7 @@ constructor( this.pageSize?.let { params.put("page_size", listOf(it.toString())) } this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -136,8 +136,8 @@ constructor( endingBefore, pageSize, startingAfter, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArtRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArtRetrieveParams.kt index 9044ce5b..de9ffe2b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArtRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DigitalCardArtRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -115,8 +115,8 @@ constructor( checkNotNull(digitalCardArtToken) { "`digitalCardArtToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Dispute.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Dispute.kt index 235e8709..a3faef1d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Dispute.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Dispute.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -668,7 +668,7 @@ private constructor( created, customerFiledDate, customerNote, - networkClaimIds.map { it.toUnmodifiable() }, + networkClaimIds.map { it.toImmutable() }, networkFiledDate, networkReasonCode, prearbitrationDate, @@ -682,7 +682,7 @@ private constructor( status, token, transactionToken, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeCreateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeCreateParams.kt index 16fd4ada..fbb680b4 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeCreateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeCreateParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.OffsetDateTime @@ -157,7 +157,7 @@ constructor( }, customerFiledDate, customerNote, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -313,9 +313,9 @@ constructor( checkNotNull(transactionToken) { "`transactionToken` is required but was not set" }, customerFiledDate, customerNote, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeDeleteEvidenceParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeDeleteEvidenceParams.kt index 1e9d1ea3..2f6db55e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeDeleteEvidenceParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeDeleteEvidenceParams.kt @@ -4,7 +4,7 @@ package com.lithic.api.models import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -144,9 +144,9 @@ constructor( DisputeDeleteEvidenceParams( checkNotNull(disputeToken) { "`disputeToken` is required but was not set" }, checkNotNull(evidenceToken) { "`evidenceToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeDeleteParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeDeleteParams.kt index ecde6663..0b685270 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeDeleteParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeDeleteParams.kt @@ -4,7 +4,7 @@ package com.lithic.api.models import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -135,9 +135,9 @@ constructor( fun build(): DisputeDeleteParams = DisputeDeleteParams( checkNotNull(disputeToken) { "`disputeToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeEvidence.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeEvidence.kt index f86c10a3..7546e20f 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeEvidence.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeEvidence.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -244,7 +244,7 @@ private constructor( token, uploadStatus, uploadUrl, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeInitiateEvidenceUploadParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeInitiateEvidenceUploadParams.kt index 201edd7b..2ac02a8a 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeInitiateEvidenceUploadParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeInitiateEvidenceUploadParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -94,7 +94,7 @@ constructor( } fun build(): DisputeInitiateEvidenceUploadBody = - DisputeInitiateEvidenceUploadBody(filename, additionalProperties.toUnmodifiable()) + DisputeInitiateEvidenceUploadBody(filename, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { @@ -228,9 +228,9 @@ constructor( DisputeInitiateEvidenceUploadParams( checkNotNull(disputeToken) { "`disputeToken` is required but was not set" }, filename, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListEvidencesPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListEvidencesPage.kt index 00e0eb2e..7fadc6b7 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListEvidencesPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListEvidencesPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.DisputeService import java.util.Objects @@ -169,7 +169,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListEvidencesPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListEvidencesPageAsync.kt index b575cb8e..c7cf8cc9 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListEvidencesPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListEvidencesPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.DisputeServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -171,7 +171,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListEvidencesParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListEvidencesParams.kt index 80501802..42e90c27 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListEvidencesParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListEvidencesParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.OffsetDateTime import java.time.format.DateTimeFormatter @@ -45,7 +45,7 @@ constructor( this.pageSize?.let { params.put("page_size", listOf(it.toString())) } this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -183,8 +183,8 @@ constructor( endingBefore, pageSize, startingAfter, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListPage.kt index abb66c54..4e30ae4e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.DisputeService import java.util.Objects @@ -159,7 +159,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListPageAsync.kt index a75d7265..29e0820a 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.DisputeServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -165,7 +165,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListParams.kt index 49df980f..90559d95 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeListParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.OffsetDateTime @@ -57,7 +57,7 @@ constructor( params.put("transaction_tokens", listOf(it.joinToString(separator = ","))) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -202,9 +202,9 @@ constructor( pageSize, startingAfter, status, - if (transactionTokens.size == 0) null else transactionTokens.toUnmodifiable(), - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + if (transactionTokens.size == 0) null else transactionTokens.toImmutable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeRetrieveEvidenceParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeRetrieveEvidenceParams.kt index 05b119c1..bb03b00c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeRetrieveEvidenceParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeRetrieveEvidenceParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -120,8 +120,8 @@ constructor( DisputeRetrieveEvidenceParams( checkNotNull(disputeToken) { "`disputeToken` is required but was not set" }, checkNotNull(evidenceToken) { "`evidenceToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeRetrieveParams.kt index da7eb6ad..74191d11 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -111,8 +111,8 @@ constructor( fun build(): DisputeRetrieveParams = DisputeRetrieveParams( checkNotNull(disputeToken) { "`disputeToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeUpdateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeUpdateParams.kt index 8502c590..435897cd 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeUpdateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/DisputeUpdateParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.OffsetDateTime @@ -148,7 +148,7 @@ constructor( customerFiledDate, customerNote, reason, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -301,9 +301,9 @@ constructor( customerFiledDate, customerNote, reason, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Document.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Document.kt index eb05ce80..d4e66fe3 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Document.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Document.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -177,8 +177,8 @@ private constructor( accountHolderToken, documentType, entityToken, - requiredDocumentUploads.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable(), + requiredDocumentUploads.map { it.toImmutable() }, + additionalProperties.toImmutable(), ) } @@ -621,14 +621,14 @@ private constructor( RequiredDocumentUpload( imageType, status, - statusReasons.map { it.toUnmodifiable() }, + statusReasons.map { it.toImmutable() }, uploadUrl, token, - acceptedEntityStatusReasons.map { it.toUnmodifiable() }, - rejectedEntityStatusReasons.map { it.toUnmodifiable() }, + acceptedEntityStatusReasons.map { it.toImmutable() }, + rejectedEntityStatusReasons.map { it.toImmutable() }, created, updated, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EnhancedCommercialDataRetrieveResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EnhancedCommercialDataRetrieveResponse.kt index 8171e737..740ae7e6 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EnhancedCommercialDataRetrieveResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EnhancedCommercialDataRetrieveResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = EnhancedCommercialDataRetrieveResponse.Builder::class) @@ -80,8 +80,8 @@ private constructor( fun build(): EnhancedCommercialDataRetrieveResponse = EnhancedCommercialDataRetrieveResponse( - data.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + data.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EnhancedData.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EnhancedData.kt index 54b48374..2ca27696 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EnhancedData.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EnhancedData.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.LocalDate import java.util.Objects @@ -157,8 +157,8 @@ private constructor( transactionToken, eventToken, common, - fleet.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable(), + fleet.map { it.toImmutable() }, + additionalProperties.toImmutable(), ) } @@ -312,8 +312,8 @@ private constructor( merchantReferenceNumber, orderDate, tax, - lineItems.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable(), + lineItems.map { it.toImmutable() }, + additionalProperties.toImmutable(), ) } @@ -449,7 +449,7 @@ private constructor( description, quantity, amount, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -585,7 +585,7 @@ private constructor( amount, exempt, merchantTaxId, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -883,7 +883,7 @@ private constructor( driverNumber, fuel, amountTotals, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -995,7 +995,7 @@ private constructor( grossSale, discount, netSale, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1150,7 +1150,7 @@ private constructor( quantity, unitPrice, unitOfMeasure, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Event.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Event.kt index ca667435..c24f6977 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Event.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Event.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -263,7 +263,7 @@ private constructor( eventType, payload, token, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -372,9 +372,6 @@ private constructor( val THREE_DS_AUTHENTICATION_CREATED = EventType(JsonField.of("three_ds_authentication.created")) - val TRANSFER_TRANSACTION_CREATED = - EventType(JsonField.of("transfer_transaction.created")) - val TOKENIZATION_APPROVAL_REQUEST = EventType(JsonField.of("tokenization.approval_request")) @@ -425,7 +422,6 @@ private constructor( SETTLEMENT_REPORT_UPDATED, STATEMENTS_CREATED, THREE_DS_AUTHENTICATION_CREATED, - TRANSFER_TRANSACTION_CREATED, TOKENIZATION_APPROVAL_REQUEST, TOKENIZATION_RESULT, TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE, @@ -467,7 +463,6 @@ private constructor( SETTLEMENT_REPORT_UPDATED, STATEMENTS_CREATED, THREE_DS_AUTHENTICATION_CREATED, - TRANSFER_TRANSACTION_CREATED, TOKENIZATION_APPROVAL_REQUEST, TOKENIZATION_RESULT, TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE, @@ -514,7 +509,6 @@ private constructor( SETTLEMENT_REPORT_UPDATED -> Value.SETTLEMENT_REPORT_UPDATED STATEMENTS_CREATED -> Value.STATEMENTS_CREATED THREE_DS_AUTHENTICATION_CREATED -> Value.THREE_DS_AUTHENTICATION_CREATED - TRANSFER_TRANSACTION_CREATED -> Value.TRANSFER_TRANSACTION_CREATED TOKENIZATION_APPROVAL_REQUEST -> Value.TOKENIZATION_APPROVAL_REQUEST TOKENIZATION_RESULT -> Value.TOKENIZATION_RESULT TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE -> @@ -563,7 +557,6 @@ private constructor( SETTLEMENT_REPORT_UPDATED -> Known.SETTLEMENT_REPORT_UPDATED STATEMENTS_CREATED -> Known.STATEMENTS_CREATED THREE_DS_AUTHENTICATION_CREATED -> Known.THREE_DS_AUTHENTICATION_CREATED - TRANSFER_TRANSACTION_CREATED -> Known.TRANSFER_TRANSACTION_CREATED TOKENIZATION_APPROVAL_REQUEST -> Known.TOKENIZATION_APPROVAL_REQUEST TOKENIZATION_RESULT -> Known.TOKENIZATION_RESULT TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE -> @@ -625,7 +618,7 @@ private constructor( this.additionalProperties.putAll(additionalProperties) } - fun build(): Payload = Payload(additionalProperties.toUnmodifiable()) + fun build(): Payload = Payload(additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListAttemptsPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListAttemptsPage.kt index 7d891242..55d03a68 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListAttemptsPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListAttemptsPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.EventService import java.util.Objects @@ -165,7 +165,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListAttemptsPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListAttemptsPageAsync.kt index 54d9a18a..f019037e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListAttemptsPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListAttemptsPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.EventServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -171,7 +171,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListAttemptsParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListAttemptsParams.kt index 1af2a6ad..7ada415e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListAttemptsParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListAttemptsParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.OffsetDateTime @@ -54,7 +54,7 @@ constructor( this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } this.status?.let { params.put("status", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -197,8 +197,8 @@ constructor( pageSize, startingAfter, status, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListPage.kt index 0ab3d965..14e56b46 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.EventService import java.util.Objects @@ -159,7 +159,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListPageAsync.kt index 4548c9be..920b2e65 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.EventServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -161,7 +161,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListParams.kt index fe6bc829..0f18c656 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventListParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.OffsetDateTime @@ -55,7 +55,7 @@ constructor( this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } this.withContent?.let { params.put("with_content", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -195,12 +195,12 @@ constructor( begin, end, endingBefore, - if (eventTypes.size == 0) null else eventTypes.toUnmodifiable(), + if (eventTypes.size == 0) null else eventTypes.toImmutable(), pageSize, startingAfter, withContent, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } @@ -309,9 +309,6 @@ constructor( val THREE_DS_AUTHENTICATION_CREATED = EventType(JsonField.of("three_ds_authentication.created")) - val TRANSFER_TRANSACTION_CREATED = - EventType(JsonField.of("transfer_transaction.created")) - val TOKENIZATION_APPROVAL_REQUEST = EventType(JsonField.of("tokenization.approval_request")) @@ -362,7 +359,6 @@ constructor( SETTLEMENT_REPORT_UPDATED, STATEMENTS_CREATED, THREE_DS_AUTHENTICATION_CREATED, - TRANSFER_TRANSACTION_CREATED, TOKENIZATION_APPROVAL_REQUEST, TOKENIZATION_RESULT, TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE, @@ -404,7 +400,6 @@ constructor( SETTLEMENT_REPORT_UPDATED, STATEMENTS_CREATED, THREE_DS_AUTHENTICATION_CREATED, - TRANSFER_TRANSACTION_CREATED, TOKENIZATION_APPROVAL_REQUEST, TOKENIZATION_RESULT, TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE, @@ -451,7 +446,6 @@ constructor( SETTLEMENT_REPORT_UPDATED -> Value.SETTLEMENT_REPORT_UPDATED STATEMENTS_CREATED -> Value.STATEMENTS_CREATED THREE_DS_AUTHENTICATION_CREATED -> Value.THREE_DS_AUTHENTICATION_CREATED - TRANSFER_TRANSACTION_CREATED -> Value.TRANSFER_TRANSACTION_CREATED TOKENIZATION_APPROVAL_REQUEST -> Value.TOKENIZATION_APPROVAL_REQUEST TOKENIZATION_RESULT -> Value.TOKENIZATION_RESULT TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE -> @@ -500,7 +494,6 @@ constructor( SETTLEMENT_REPORT_UPDATED -> Known.SETTLEMENT_REPORT_UPDATED STATEMENTS_CREATED -> Known.STATEMENTS_CREATED THREE_DS_AUTHENTICATION_CREATED -> Known.THREE_DS_AUTHENTICATION_CREATED - TRANSFER_TRANSACTION_CREATED -> Known.TRANSFER_TRANSACTION_CREATED TOKENIZATION_APPROVAL_REQUEST -> Known.TOKENIZATION_APPROVAL_REQUEST TOKENIZATION_RESULT -> Known.TOKENIZATION_RESULT TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE -> diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventRetrieveParams.kt index fb20aaad..2bcbbbbb 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -111,8 +111,8 @@ constructor( fun build(): EventRetrieveParams = EventRetrieveParams( checkNotNull(eventToken) { "`eventToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscription.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscription.kt index 9cf0265a..49e2d277 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscription.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscription.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -154,10 +154,10 @@ private constructor( EventSubscription( description, disabled, - eventTypes.map { it.toUnmodifiable() }, + eventTypes.map { it.toImmutable() }, token, url, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -266,9 +266,6 @@ private constructor( val THREE_DS_AUTHENTICATION_CREATED = EventType(JsonField.of("three_ds_authentication.created")) - val TRANSFER_TRANSACTION_CREATED = - EventType(JsonField.of("transfer_transaction.created")) - val TOKENIZATION_APPROVAL_REQUEST = EventType(JsonField.of("tokenization.approval_request")) @@ -319,7 +316,6 @@ private constructor( SETTLEMENT_REPORT_UPDATED, STATEMENTS_CREATED, THREE_DS_AUTHENTICATION_CREATED, - TRANSFER_TRANSACTION_CREATED, TOKENIZATION_APPROVAL_REQUEST, TOKENIZATION_RESULT, TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE, @@ -361,7 +357,6 @@ private constructor( SETTLEMENT_REPORT_UPDATED, STATEMENTS_CREATED, THREE_DS_AUTHENTICATION_CREATED, - TRANSFER_TRANSACTION_CREATED, TOKENIZATION_APPROVAL_REQUEST, TOKENIZATION_RESULT, TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE, @@ -408,7 +403,6 @@ private constructor( SETTLEMENT_REPORT_UPDATED -> Value.SETTLEMENT_REPORT_UPDATED STATEMENTS_CREATED -> Value.STATEMENTS_CREATED THREE_DS_AUTHENTICATION_CREATED -> Value.THREE_DS_AUTHENTICATION_CREATED - TRANSFER_TRANSACTION_CREATED -> Value.TRANSFER_TRANSACTION_CREATED TOKENIZATION_APPROVAL_REQUEST -> Value.TOKENIZATION_APPROVAL_REQUEST TOKENIZATION_RESULT -> Value.TOKENIZATION_RESULT TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE -> @@ -457,7 +451,6 @@ private constructor( SETTLEMENT_REPORT_UPDATED -> Known.SETTLEMENT_REPORT_UPDATED STATEMENTS_CREATED -> Known.STATEMENTS_CREATED THREE_DS_AUTHENTICATION_CREATED -> Known.THREE_DS_AUTHENTICATION_CREATED - TRANSFER_TRANSACTION_CREATED -> Known.TRANSFER_TRANSACTION_CREATED TOKENIZATION_APPROVAL_REQUEST -> Known.TOKENIZATION_APPROVAL_REQUEST TOKENIZATION_RESULT -> Known.TOKENIZATION_RESULT TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE -> diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionCreateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionCreateParams.kt index ca7d14c7..096ff939 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionCreateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionCreateParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -140,8 +140,8 @@ constructor( checkNotNull(url) { "`url` is required but was not set" }, description, disabled, - eventTypes?.toUnmodifiable(), - additionalProperties.toUnmodifiable(), + eventTypes?.toImmutable(), + additionalProperties.toImmutable(), ) } @@ -298,10 +298,10 @@ constructor( checkNotNull(url) { "`url` is required but was not set" }, description, disabled, - if (eventTypes.size == 0) null else eventTypes.toUnmodifiable(), - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + if (eventTypes.size == 0) null else eventTypes.toImmutable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } @@ -410,9 +410,6 @@ constructor( val THREE_DS_AUTHENTICATION_CREATED = EventType(JsonField.of("three_ds_authentication.created")) - val TRANSFER_TRANSACTION_CREATED = - EventType(JsonField.of("transfer_transaction.created")) - val TOKENIZATION_APPROVAL_REQUEST = EventType(JsonField.of("tokenization.approval_request")) @@ -463,7 +460,6 @@ constructor( SETTLEMENT_REPORT_UPDATED, STATEMENTS_CREATED, THREE_DS_AUTHENTICATION_CREATED, - TRANSFER_TRANSACTION_CREATED, TOKENIZATION_APPROVAL_REQUEST, TOKENIZATION_RESULT, TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE, @@ -505,7 +501,6 @@ constructor( SETTLEMENT_REPORT_UPDATED, STATEMENTS_CREATED, THREE_DS_AUTHENTICATION_CREATED, - TRANSFER_TRANSACTION_CREATED, TOKENIZATION_APPROVAL_REQUEST, TOKENIZATION_RESULT, TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE, @@ -552,7 +547,6 @@ constructor( SETTLEMENT_REPORT_UPDATED -> Value.SETTLEMENT_REPORT_UPDATED STATEMENTS_CREATED -> Value.STATEMENTS_CREATED THREE_DS_AUTHENTICATION_CREATED -> Value.THREE_DS_AUTHENTICATION_CREATED - TRANSFER_TRANSACTION_CREATED -> Value.TRANSFER_TRANSACTION_CREATED TOKENIZATION_APPROVAL_REQUEST -> Value.TOKENIZATION_APPROVAL_REQUEST TOKENIZATION_RESULT -> Value.TOKENIZATION_RESULT TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE -> @@ -601,7 +595,6 @@ constructor( SETTLEMENT_REPORT_UPDATED -> Known.SETTLEMENT_REPORT_UPDATED STATEMENTS_CREATED -> Known.STATEMENTS_CREATED THREE_DS_AUTHENTICATION_CREATED -> Known.THREE_DS_AUTHENTICATION_CREATED - TRANSFER_TRANSACTION_CREATED -> Known.TRANSFER_TRANSACTION_CREATED TOKENIZATION_APPROVAL_REQUEST -> Known.TOKENIZATION_APPROVAL_REQUEST TOKENIZATION_RESULT -> Known.TOKENIZATION_RESULT TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE -> diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionDeleteParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionDeleteParams.kt index 924b5137..b9663762 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionDeleteParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionDeleteParams.kt @@ -4,7 +4,7 @@ package com.lithic.api.models import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -139,9 +139,9 @@ constructor( checkNotNull(eventSubscriptionToken) { "`eventSubscriptionToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListAttemptsPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListAttemptsPage.kt index 249122a1..f55e16cd 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListAttemptsPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListAttemptsPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.events.SubscriptionService import java.util.Objects @@ -169,7 +169,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListAttemptsPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListAttemptsPageAsync.kt index 58481ba6..06d45807 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListAttemptsPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListAttemptsPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.events.SubscriptionServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -171,7 +171,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListAttemptsParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListAttemptsParams.kt index 907c01c2..d009ec37 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListAttemptsParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListAttemptsParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.OffsetDateTime @@ -54,7 +54,7 @@ constructor( this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } this.status?.let { params.put("status", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -203,8 +203,8 @@ constructor( pageSize, startingAfter, status, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListPage.kt index 1370331f..4ff0ccff 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.events.SubscriptionService import java.util.Objects @@ -169,7 +169,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListPageAsync.kt index 76c8e19e..c852d3bc 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.events.SubscriptionServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -171,7 +171,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListParams.kt index 9dba7de9..06f3e6c1 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionListParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -28,7 +28,7 @@ constructor( this.pageSize?.let { params.put("page_size", listOf(it.toString())) } this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -136,8 +136,8 @@ constructor( endingBefore, pageSize, startingAfter, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionRecoverParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionRecoverParams.kt index 44c1df48..f7b772a0 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionRecoverParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionRecoverParams.kt @@ -4,7 +4,7 @@ package com.lithic.api.models import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.OffsetDateTime import java.time.format.DateTimeFormatter @@ -39,7 +39,7 @@ constructor( params.put("end", listOf(DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(it))) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -175,9 +175,9 @@ constructor( }, begin, end, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionReplayMissingParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionReplayMissingParams.kt index a146b81b..2f6c4afd 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionReplayMissingParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionReplayMissingParams.kt @@ -4,7 +4,7 @@ package com.lithic.api.models import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.OffsetDateTime import java.time.format.DateTimeFormatter @@ -39,7 +39,7 @@ constructor( params.put("end", listOf(DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(it))) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -178,9 +178,9 @@ constructor( }, begin, end, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionRetrieveParams.kt index 7bfd6fde..d6d14c49 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -116,8 +116,8 @@ constructor( checkNotNull(eventSubscriptionToken) { "`eventSubscriptionToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionRetrieveSecretParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionRetrieveSecretParams.kt index c85bbaf3..37b8d504 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionRetrieveSecretParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionRetrieveSecretParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -118,8 +118,8 @@ constructor( checkNotNull(eventSubscriptionToken) { "`eventSubscriptionToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionRotateSecretParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionRotateSecretParams.kt index 1f876f9c..8c921383 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionRotateSecretParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionRotateSecretParams.kt @@ -4,7 +4,7 @@ package com.lithic.api.models import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -141,9 +141,9 @@ constructor( checkNotNull(eventSubscriptionToken) { "`eventSubscriptionToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionSendSimulatedExampleParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionSendSimulatedExampleParams.kt index 37b7107f..b5e203e7 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionSendSimulatedExampleParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionSendSimulatedExampleParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -100,7 +100,7 @@ constructor( fun build(): EventSubscriptionSendSimulatedExampleBody = EventSubscriptionSendSimulatedExampleBody( eventType, - additionalProperties.toUnmodifiable() + additionalProperties.toImmutable() ) } @@ -242,9 +242,9 @@ constructor( "`eventSubscriptionToken` is required but was not set" }, eventType, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } @@ -353,9 +353,6 @@ constructor( val THREE_DS_AUTHENTICATION_CREATED = EventType(JsonField.of("three_ds_authentication.created")) - val TRANSFER_TRANSACTION_CREATED = - EventType(JsonField.of("transfer_transaction.created")) - val TOKENIZATION_APPROVAL_REQUEST = EventType(JsonField.of("tokenization.approval_request")) @@ -406,7 +403,6 @@ constructor( SETTLEMENT_REPORT_UPDATED, STATEMENTS_CREATED, THREE_DS_AUTHENTICATION_CREATED, - TRANSFER_TRANSACTION_CREATED, TOKENIZATION_APPROVAL_REQUEST, TOKENIZATION_RESULT, TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE, @@ -448,7 +444,6 @@ constructor( SETTLEMENT_REPORT_UPDATED, STATEMENTS_CREATED, THREE_DS_AUTHENTICATION_CREATED, - TRANSFER_TRANSACTION_CREATED, TOKENIZATION_APPROVAL_REQUEST, TOKENIZATION_RESULT, TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE, @@ -495,7 +490,6 @@ constructor( SETTLEMENT_REPORT_UPDATED -> Value.SETTLEMENT_REPORT_UPDATED STATEMENTS_CREATED -> Value.STATEMENTS_CREATED THREE_DS_AUTHENTICATION_CREATED -> Value.THREE_DS_AUTHENTICATION_CREATED - TRANSFER_TRANSACTION_CREATED -> Value.TRANSFER_TRANSACTION_CREATED TOKENIZATION_APPROVAL_REQUEST -> Value.TOKENIZATION_APPROVAL_REQUEST TOKENIZATION_RESULT -> Value.TOKENIZATION_RESULT TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE -> @@ -544,7 +538,6 @@ constructor( SETTLEMENT_REPORT_UPDATED -> Known.SETTLEMENT_REPORT_UPDATED STATEMENTS_CREATED -> Known.STATEMENTS_CREATED THREE_DS_AUTHENTICATION_CREATED -> Known.THREE_DS_AUTHENTICATION_CREATED - TRANSFER_TRANSACTION_CREATED -> Known.TRANSFER_TRANSACTION_CREATED TOKENIZATION_APPROVAL_REQUEST -> Known.TOKENIZATION_APPROVAL_REQUEST TOKENIZATION_RESULT -> Known.TOKENIZATION_RESULT TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE -> diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionUpdateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionUpdateParams.kt index c53f5119..33700ba4 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionUpdateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/EventSubscriptionUpdateParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -150,8 +150,8 @@ constructor( checkNotNull(url) { "`url` is required but was not set" }, description, disabled, - eventTypes?.toUnmodifiable(), - additionalProperties.toUnmodifiable(), + eventTypes?.toImmutable(), + additionalProperties.toImmutable(), ) } @@ -317,10 +317,10 @@ constructor( checkNotNull(url) { "`url` is required but was not set" }, description, disabled, - if (eventTypes.size == 0) null else eventTypes.toUnmodifiable(), - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + if (eventTypes.size == 0) null else eventTypes.toImmutable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } @@ -429,9 +429,6 @@ constructor( val THREE_DS_AUTHENTICATION_CREATED = EventType(JsonField.of("three_ds_authentication.created")) - val TRANSFER_TRANSACTION_CREATED = - EventType(JsonField.of("transfer_transaction.created")) - val TOKENIZATION_APPROVAL_REQUEST = EventType(JsonField.of("tokenization.approval_request")) @@ -482,7 +479,6 @@ constructor( SETTLEMENT_REPORT_UPDATED, STATEMENTS_CREATED, THREE_DS_AUTHENTICATION_CREATED, - TRANSFER_TRANSACTION_CREATED, TOKENIZATION_APPROVAL_REQUEST, TOKENIZATION_RESULT, TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE, @@ -524,7 +520,6 @@ constructor( SETTLEMENT_REPORT_UPDATED, STATEMENTS_CREATED, THREE_DS_AUTHENTICATION_CREATED, - TRANSFER_TRANSACTION_CREATED, TOKENIZATION_APPROVAL_REQUEST, TOKENIZATION_RESULT, TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE, @@ -571,7 +566,6 @@ constructor( SETTLEMENT_REPORT_UPDATED -> Value.SETTLEMENT_REPORT_UPDATED STATEMENTS_CREATED -> Value.STATEMENTS_CREATED THREE_DS_AUTHENTICATION_CREATED -> Value.THREE_DS_AUTHENTICATION_CREATED - TRANSFER_TRANSACTION_CREATED -> Value.TRANSFER_TRANSACTION_CREATED TOKENIZATION_APPROVAL_REQUEST -> Value.TOKENIZATION_APPROVAL_REQUEST TOKENIZATION_RESULT -> Value.TOKENIZATION_RESULT TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE -> @@ -620,7 +614,6 @@ constructor( SETTLEMENT_REPORT_UPDATED -> Known.SETTLEMENT_REPORT_UPDATED STATEMENTS_CREATED -> Known.STATEMENTS_CREATED THREE_DS_AUTHENTICATION_CREATED -> Known.THREE_DS_AUTHENTICATION_CREATED - TRANSFER_TRANSACTION_CREATED -> Known.TRANSFER_TRANSACTION_CREATED TOKENIZATION_APPROVAL_REQUEST -> Known.TOKENIZATION_APPROVAL_REQUEST TOKENIZATION_RESULT -> Known.TOKENIZATION_RESULT TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE -> diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExtendedCredit.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExtendedCredit.kt index c76e2da9..f4350ad2 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExtendedCredit.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExtendedCredit.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = ExtendedCredit.Builder::class) @@ -79,7 +79,7 @@ private constructor( } fun build(): ExtendedCredit = - ExtendedCredit(creditExtended, additionalProperties.toUnmodifiable()) + ExtendedCredit(creditExtended, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountAddress.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountAddress.kt index bc4df52b..ceae112e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountAddress.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountAddress.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = ExternalBankAccountAddress.Builder::class) @@ -154,7 +154,7 @@ private constructor( state, postalCode, country, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountCreateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountCreateParams.kt index 144fcd85..ea822184 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountCreateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountCreateParams.kt @@ -21,7 +21,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect import com.lithic.api.core.getOrThrow -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.LocalDate @@ -200,6 +200,21 @@ constructor( override fun ObjectCodec.deserialize(node: JsonNode): ExternalBankAccountCreateBody { val json = JsonValue.fromJsonNode(node) + val verificationMethod = json.asObject()?.get("verification_method")?.asString() + + if (verificationMethod == "EXTERNALLY_VERIFIED") { + tryDeserialize( + node, + jacksonTypeRef() + ) + ?.let { + return ExternalBankAccountCreateBody( + externallyVerifiedCreateBankAccountApiRequest = it, + _json = json + ) + } + } + tryDeserialize(node, jacksonTypeRef()) ?.let { return ExternalBankAccountCreateBody( @@ -213,16 +228,6 @@ constructor( _json = json ) } - tryDeserialize( - node, - jacksonTypeRef() - ) - ?.let { - return ExternalBankAccountCreateBody( - externallyVerifiedCreateBankAccountApiRequest = it, - _json = json - ) - } return ExternalBankAccountCreateBody(_json = json) } @@ -372,8 +377,8 @@ constructor( bankVerifiedCreateBankAccountApiRequest, plaidCreateBankAccountApiRequest, externallyVerifiedCreateBankAccountApiRequest, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } @@ -637,7 +642,7 @@ constructor( checkNotNull(financialAccountToken) { "`financialAccountToken` is required but was not set" }, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -879,7 +884,7 @@ constructor( dob, userDefinedId, checkNotNull(processorToken) { "`processorToken` is required but was not set" }, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1139,7 +1144,7 @@ constructor( checkNotNull(country) { "`country` is required but was not set" }, checkNotNull(currency) { "`currency` is required but was not set" }, address, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountCreateResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountCreateResponse.kt index 68ebd264..f1d214e8 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountCreateResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountCreateResponse.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.LocalDate import java.time.OffsetDateTime @@ -602,7 +602,7 @@ private constructor( state, verificationState, address, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountListPage.kt index dcaaa153..e55dc151 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.ExternalBankAccountService import java.util.Objects @@ -171,7 +171,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountListPageAsync.kt index 05d55617..1979010b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.ExternalBankAccountServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -173,7 +173,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountListParams.kt index d0be5a0c..fc217bde 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountListParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -61,7 +61,7 @@ constructor( params.put("verification_states", listOf(it.joinToString(separator = ","))) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -218,16 +218,16 @@ constructor( fun build(): ExternalBankAccountListParams = ExternalBankAccountListParams( accountToken, - if (accountTypes.size == 0) null else accountTypes.toUnmodifiable(), - if (countries.size == 0) null else countries.toUnmodifiable(), + if (accountTypes.size == 0) null else accountTypes.toImmutable(), + if (countries.size == 0) null else countries.toImmutable(), endingBefore, - if (ownerTypes.size == 0) null else ownerTypes.toUnmodifiable(), + if (ownerTypes.size == 0) null else ownerTypes.toImmutable(), pageSize, startingAfter, - if (states.size == 0) null else states.toUnmodifiable(), - if (verificationStates.size == 0) null else verificationStates.toUnmodifiable(), - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + if (states.size == 0) null else states.toImmutable(), + if (verificationStates.size == 0) null else verificationStates.toImmutable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountListResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountListResponse.kt index 587b34ba..b103c352 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountListResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountListResponse.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.LocalDate import java.time.OffsetDateTime @@ -602,7 +602,7 @@ private constructor( state, verificationState, address, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountMicroDepositCreateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountMicroDepositCreateParams.kt index 2af640d6..ab8b628c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountMicroDepositCreateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountMicroDepositCreateParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -96,8 +96,8 @@ constructor( fun build(): ExternalBankAccountMicroDepositCreateBody = ExternalBankAccountMicroDepositCreateBody( checkNotNull(microDeposits) { "`microDeposits` is required but was not set" } - .toUnmodifiable(), - additionalProperties.toUnmodifiable() + .toImmutable(), + additionalProperties.toImmutable() ) } @@ -243,10 +243,10 @@ constructor( "`externalBankAccountToken` is required but was not set" }, checkNotNull(microDeposits) { "`microDeposits` is required but was not set" } - .toUnmodifiable(), - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + .toImmutable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetrieveParams.kt index b1d666f5..31b500a5 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -117,8 +117,8 @@ constructor( checkNotNull(externalBankAccountToken) { "`externalBankAccountToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetrieveResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetrieveResponse.kt index 9dd8d6e8..f2e447a7 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetrieveResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetrieveResponse.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.LocalDate import java.time.OffsetDateTime @@ -603,7 +603,7 @@ private constructor( state, verificationState, address, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetryMicroDepositsParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetryMicroDepositsParams.kt index 301e48fa..91223fbf 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetryMicroDepositsParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetryMicroDepositsParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -101,7 +101,7 @@ constructor( fun build(): ExternalBankAccountRetryMicroDepositsBody = ExternalBankAccountRetryMicroDepositsBody( financialAccountToken, - additionalProperties.toUnmodifiable() + additionalProperties.toImmutable() ) } @@ -245,9 +245,9 @@ constructor( "`externalBankAccountToken` is required but was not set" }, financialAccountToken, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetryMicroDepositsResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetryMicroDepositsResponse.kt index aded1c38..e0f003a9 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetryMicroDepositsResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetryMicroDepositsResponse.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.LocalDate import java.time.OffsetDateTime @@ -607,7 +607,7 @@ private constructor( state, verificationState, address, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetryPrenoteParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetryPrenoteParams.kt index 33ad1504..dcdc0187 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetryPrenoteParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetryPrenoteParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -98,7 +98,7 @@ constructor( fun build(): ExternalBankAccountRetryPrenoteBody = ExternalBankAccountRetryPrenoteBody( financialAccountToken, - additionalProperties.toUnmodifiable() + additionalProperties.toImmutable() ) } @@ -239,9 +239,9 @@ constructor( "`externalBankAccountToken` is required but was not set" }, financialAccountToken, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetryPrenoteResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetryPrenoteResponse.kt index c2ac1797..3de61a3e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetryPrenoteResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountRetryPrenoteResponse.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.LocalDate import java.time.OffsetDateTime @@ -604,7 +604,7 @@ private constructor( state, verificationState, address, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountUpdateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountUpdateParams.kt index 52cbcfa9..bfbf0d32 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountUpdateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountUpdateParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.LocalDate import java.util.Objects @@ -209,7 +209,7 @@ constructor( owner, ownerType, userDefinedId, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -395,9 +395,9 @@ constructor( owner, ownerType, userDefinedId, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountUpdateResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountUpdateResponse.kt index cb400e60..4f622d08 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountUpdateResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalBankAccountUpdateResponse.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.LocalDate import java.time.OffsetDateTime @@ -602,7 +602,7 @@ private constructor( state, verificationState, address, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPayment.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPayment.kt index 79978a85..45dd4054 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPayment.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPayment.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.LocalDate import java.time.OffsetDateTime @@ -275,13 +275,13 @@ private constructor( settledAmount, pendingAmount, currency, - events.map { it.toUnmodifiable() }, + events.map { it.toImmutable() }, created, updated, userDefinedId, financialAccountToken, paymentType, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -525,12 +525,12 @@ private constructor( amount, type, result, - detailedResults.map { it.toUnmodifiable() }, + detailedResults.map { it.toImmutable() }, created, token, memo, effectiveDate, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentCancelParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentCancelParams.kt index 52d2d516..bc38ce4b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentCancelParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentCancelParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.LocalDate import java.util.Objects @@ -110,7 +110,7 @@ constructor( ExternalPaymentCancelBody( checkNotNull(effectiveDate) { "`effectiveDate` is required but was not set" }, memo, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -251,9 +251,9 @@ constructor( }, checkNotNull(effectiveDate) { "`effectiveDate` is required but was not set" }, memo, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentCreateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentCreateParams.kt index 4715e5bc..1b95c5d4 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentCreateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentCreateParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.LocalDate @@ -202,7 +202,7 @@ constructor( memo, progressTo, userDefinedId, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -377,9 +377,9 @@ constructor( memo, progressTo, userDefinedId, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentListPage.kt index b150a594..f145aa86 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.ExternalPaymentService import java.util.Objects @@ -169,7 +169,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentListPageAsync.kt index f44dfdb9..f317d9eb 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.ExternalPaymentServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -171,7 +171,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentListParams.kt index 48d894d1..1f56ede1 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentListParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.OffsetDateTime @@ -71,7 +71,7 @@ constructor( this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } this.status?.let { params.put("status", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -233,8 +233,8 @@ constructor( result, startingAfter, status, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentReleaseParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentReleaseParams.kt index 424d104e..a9fc7b9f 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentReleaseParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentReleaseParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.LocalDate import java.util.Objects @@ -110,7 +110,7 @@ constructor( ExternalPaymentReleaseBody( checkNotNull(effectiveDate) { "`effectiveDate` is required but was not set" }, memo, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -251,9 +251,9 @@ constructor( }, checkNotNull(effectiveDate) { "`effectiveDate` is required but was not set" }, memo, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentRetrieveParams.kt index 608fddf1..feab1435 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -115,8 +115,8 @@ constructor( checkNotNull(externalPaymentToken) { "`externalPaymentToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentReverseParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentReverseParams.kt index fe29fc55..5347da57 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentReverseParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentReverseParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.LocalDate import java.util.Objects @@ -110,7 +110,7 @@ constructor( ExternalPaymentReverseBody( checkNotNull(effectiveDate) { "`effectiveDate` is required but was not set" }, memo, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -251,9 +251,9 @@ constructor( }, checkNotNull(effectiveDate) { "`effectiveDate` is required but was not set" }, memo, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentSettleParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentSettleParams.kt index ef08220d..22595af2 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentSettleParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ExternalPaymentSettleParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.LocalDate @@ -129,7 +129,7 @@ constructor( checkNotNull(effectiveDate) { "`effectiveDate` is required but was not set" }, memo, progressTo, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -277,9 +277,9 @@ constructor( checkNotNull(effectiveDate) { "`effectiveDate` is required but was not set" }, memo, progressTo, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccount.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccount.kt index 1ea59307..ac80fa40 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccount.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccount.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -241,7 +241,7 @@ private constructor( accountToken, isForBenefitOf, creditConfiguration, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -253,7 +253,9 @@ private constructor( private val externalBankAccountToken: JsonField, private val creditProductToken: JsonField, private val tier: JsonField, + private val isSpendBlocked: JsonField, private val financialAccountState: JsonField, + private val chargedOffReason: JsonField, private val additionalProperties: Map, ) { @@ -270,10 +272,16 @@ private constructor( /** Tier assigned to the financial account */ fun tier(): String? = tier.getNullable("tier") + fun isSpendBlocked(): Boolean = isSpendBlocked.getRequired("is_spend_blocked") + /** State of the financial account */ fun financialAccountState(): FinancialAccountState? = financialAccountState.getNullable("financial_account_state") + /** Reason for the financial account being marked as Charged Off */ + fun chargedOffReason(): ChargedOffReason? = + chargedOffReason.getNullable("charged_off_reason") + @JsonProperty("credit_limit") @ExcludeMissing fun _creditLimit() = creditLimit @JsonProperty("external_bank_account_token") @@ -288,11 +296,18 @@ private constructor( /** Tier assigned to the financial account */ @JsonProperty("tier") @ExcludeMissing fun _tier() = tier + @JsonProperty("is_spend_blocked") @ExcludeMissing fun _isSpendBlocked() = isSpendBlocked + /** State of the financial account */ @JsonProperty("financial_account_state") @ExcludeMissing fun _financialAccountState() = financialAccountState + /** Reason for the financial account being marked as Charged Off */ + @JsonProperty("charged_off_reason") + @ExcludeMissing + fun _chargedOffReason() = chargedOffReason + @JsonAnyGetter @ExcludeMissing fun _additionalProperties(): Map = additionalProperties @@ -303,7 +318,9 @@ private constructor( externalBankAccountToken() creditProductToken() tier() + isSpendBlocked() financialAccountState() + chargedOffReason() validated = true } } @@ -321,7 +338,9 @@ private constructor( private var externalBankAccountToken: JsonField = JsonMissing.of() private var creditProductToken: JsonField = JsonMissing.of() private var tier: JsonField = JsonMissing.of() + private var isSpendBlocked: JsonField = JsonMissing.of() private var financialAccountState: JsonField = JsonMissing.of() + private var chargedOffReason: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() internal fun from(financialAccountCreditConfig: FinancialAccountCreditConfig) = apply { @@ -330,7 +349,9 @@ private constructor( financialAccountCreditConfig.externalBankAccountToken this.creditProductToken = financialAccountCreditConfig.creditProductToken this.tier = financialAccountCreditConfig.tier + this.isSpendBlocked = financialAccountCreditConfig.isSpendBlocked this.financialAccountState = financialAccountCreditConfig.financialAccountState + this.chargedOffReason = financialAccountCreditConfig.chargedOffReason additionalProperties(financialAccountCreditConfig.additionalProperties) } @@ -368,6 +389,15 @@ private constructor( @ExcludeMissing fun tier(tier: JsonField) = apply { this.tier = tier } + fun isSpendBlocked(isSpendBlocked: Boolean) = + isSpendBlocked(JsonField.of(isSpendBlocked)) + + @JsonProperty("is_spend_blocked") + @ExcludeMissing + fun isSpendBlocked(isSpendBlocked: JsonField) = apply { + this.isSpendBlocked = isSpendBlocked + } + /** State of the financial account */ fun financialAccountState(financialAccountState: FinancialAccountState) = financialAccountState(JsonField.of(financialAccountState)) @@ -380,6 +410,17 @@ private constructor( this.financialAccountState = financialAccountState } + /** Reason for the financial account being marked as Charged Off */ + fun chargedOffReason(chargedOffReason: ChargedOffReason) = + chargedOffReason(JsonField.of(chargedOffReason)) + + /** Reason for the financial account being marked as Charged Off */ + @JsonProperty("charged_off_reason") + @ExcludeMissing + fun chargedOffReason(chargedOffReason: JsonField) = apply { + this.chargedOffReason = chargedOffReason + } + fun additionalProperties(additionalProperties: Map) = apply { this.additionalProperties.clear() this.additionalProperties.putAll(additionalProperties) @@ -400,11 +441,70 @@ private constructor( externalBankAccountToken, creditProductToken, tier, + isSpendBlocked, financialAccountState, - additionalProperties.toUnmodifiable(), + chargedOffReason, + additionalProperties.toImmutable(), ) } + class ChargedOffReason + @JsonCreator + private constructor( + private val value: JsonField, + ) : Enum { + + @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return /* spotless:off */ other is ChargedOffReason && this.value == other.value /* spotless:on */ + } + + override fun hashCode() = value.hashCode() + + override fun toString() = value.toString() + + companion object { + + val DELINQUENT = ChargedOffReason(JsonField.of("DELINQUENT")) + + val FRAUD = ChargedOffReason(JsonField.of("FRAUD")) + + fun of(value: String) = ChargedOffReason(JsonField.of(value)) + } + + enum class Known { + DELINQUENT, + FRAUD, + } + + enum class Value { + DELINQUENT, + FRAUD, + _UNKNOWN, + } + + fun value(): Value = + when (this) { + DELINQUENT -> Value.DELINQUENT + FRAUD -> Value.FRAUD + else -> Value._UNKNOWN + } + + fun known(): Known = + when (this) { + DELINQUENT -> Known.DELINQUENT + FRAUD -> Known.FRAUD + else -> throw LithicInvalidDataException("Unknown ChargedOffReason: $value") + } + + fun asString(): String = _value().asStringOrThrow() + } + class FinancialAccountState @JsonCreator private constructor( @@ -433,6 +533,8 @@ private constructor( val DELINQUENT = FinancialAccountState(JsonField.of("DELINQUENT")) + val CHARGED_OFF = FinancialAccountState(JsonField.of("CHARGED_OFF")) + fun of(value: String) = FinancialAccountState(JsonField.of(value)) } @@ -440,12 +542,14 @@ private constructor( PENDING, CURRENT, DELINQUENT, + CHARGED_OFF, } enum class Value { PENDING, CURRENT, DELINQUENT, + CHARGED_OFF, _UNKNOWN, } @@ -454,6 +558,7 @@ private constructor( PENDING -> Value.PENDING CURRENT -> Value.CURRENT DELINQUENT -> Value.DELINQUENT + CHARGED_OFF -> Value.CHARGED_OFF else -> Value._UNKNOWN } @@ -462,6 +567,7 @@ private constructor( PENDING -> Known.PENDING CURRENT -> Known.CURRENT DELINQUENT -> Known.DELINQUENT + CHARGED_OFF -> Known.CHARGED_OFF else -> throw LithicInvalidDataException("Unknown FinancialAccountState: $value") } @@ -474,20 +580,20 @@ private constructor( return true } - return /* spotless:off */ other is FinancialAccountCreditConfig && this.creditLimit == other.creditLimit && this.externalBankAccountToken == other.externalBankAccountToken && this.creditProductToken == other.creditProductToken && this.tier == other.tier && this.financialAccountState == other.financialAccountState && this.additionalProperties == other.additionalProperties /* spotless:on */ + return /* spotless:off */ other is FinancialAccountCreditConfig && this.creditLimit == other.creditLimit && this.externalBankAccountToken == other.externalBankAccountToken && this.creditProductToken == other.creditProductToken && this.tier == other.tier && this.isSpendBlocked == other.isSpendBlocked && this.financialAccountState == other.financialAccountState && this.chargedOffReason == other.chargedOffReason && this.additionalProperties == other.additionalProperties /* spotless:on */ } private var hashCode: Int = 0 override fun hashCode(): Int { if (hashCode == 0) { - hashCode = /* spotless:off */ Objects.hash(creditLimit, externalBankAccountToken, creditProductToken, tier, financialAccountState, additionalProperties) /* spotless:on */ + hashCode = /* spotless:off */ Objects.hash(creditLimit, externalBankAccountToken, creditProductToken, tier, isSpendBlocked, financialAccountState, chargedOffReason, additionalProperties) /* spotless:on */ } return hashCode } override fun toString() = - "FinancialAccountCreditConfig{creditLimit=$creditLimit, externalBankAccountToken=$externalBankAccountToken, creditProductToken=$creditProductToken, tier=$tier, financialAccountState=$financialAccountState, additionalProperties=$additionalProperties}" + "FinancialAccountCreditConfig{creditLimit=$creditLimit, externalBankAccountToken=$externalBankAccountToken, creditProductToken=$creditProductToken, tier=$tier, isSpendBlocked=$isSpendBlocked, financialAccountState=$financialAccountState, chargedOffReason=$chargedOffReason, additionalProperties=$additionalProperties}" } class Type diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountBalanceListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountBalanceListPage.kt index b4c5cfff..de4afcd1 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountBalanceListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountBalanceListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.financialAccounts.BalanceService import java.util.Objects @@ -155,7 +155,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountBalanceListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountBalanceListPageAsync.kt index 8925ce8c..691f6958 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountBalanceListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountBalanceListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.financialAccounts.BalanceServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -157,7 +157,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountBalanceListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountBalanceListParams.kt index 2bd07505..dcf9b899 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountBalanceListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountBalanceListParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.OffsetDateTime import java.time.format.DateTimeFormatter @@ -33,7 +33,7 @@ constructor( params.put("last_transaction_event_token", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -152,8 +152,8 @@ constructor( }, balanceDate, lastTransactionEventToken, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountChargeOffParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountChargeOffParams.kt new file mode 100644 index 00000000..7258ba37 --- /dev/null +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountChargeOffParams.kt @@ -0,0 +1,302 @@ +// File generated from our OpenAPI spec by Stainless. + +package com.lithic.api.models + +import com.fasterxml.jackson.annotation.JsonAnyGetter +import com.fasterxml.jackson.annotation.JsonAnySetter +import com.fasterxml.jackson.annotation.JsonCreator +import com.fasterxml.jackson.annotation.JsonProperty +import com.fasterxml.jackson.databind.annotation.JsonDeserialize +import com.lithic.api.core.Enum +import com.lithic.api.core.ExcludeMissing +import com.lithic.api.core.JsonField +import com.lithic.api.core.JsonValue +import com.lithic.api.core.NoAutoDetect +import com.lithic.api.core.toImmutable +import com.lithic.api.errors.LithicInvalidDataException +import com.lithic.api.models.* +import java.util.Objects + +class FinancialAccountChargeOffParams +constructor( + private val financialAccountToken: String, + private val reason: ChargedOffReason, + private val additionalQueryParams: Map>, + private val additionalHeaders: Map>, + private val additionalBodyProperties: Map, +) { + + fun financialAccountToken(): String = financialAccountToken + + fun reason(): ChargedOffReason = reason + + internal fun getBody(): FinancialAccountChargeOffBody { + return FinancialAccountChargeOffBody(reason, additionalBodyProperties) + } + + internal fun getQueryParams(): Map> = additionalQueryParams + + internal fun getHeaders(): Map> = additionalHeaders + + fun getPathParam(index: Int): String { + return when (index) { + 0 -> financialAccountToken + else -> "" + } + } + + @JsonDeserialize(builder = FinancialAccountChargeOffBody.Builder::class) + @NoAutoDetect + class FinancialAccountChargeOffBody + internal constructor( + private val reason: ChargedOffReason?, + private val additionalProperties: Map, + ) { + + /** Reason for the financial account being marked as Charged Off */ + @JsonProperty("reason") fun reason(): ChargedOffReason? = reason + + @JsonAnyGetter + @ExcludeMissing + fun _additionalProperties(): Map = additionalProperties + + fun toBuilder() = Builder().from(this) + + companion object { + + fun builder() = Builder() + } + + class Builder { + + private var reason: ChargedOffReason? = null + private var additionalProperties: MutableMap = mutableMapOf() + + internal fun from(financialAccountChargeOffBody: FinancialAccountChargeOffBody) = + apply { + this.reason = financialAccountChargeOffBody.reason + additionalProperties(financialAccountChargeOffBody.additionalProperties) + } + + /** Reason for the financial account being marked as Charged Off */ + @JsonProperty("reason") + fun reason(reason: ChargedOffReason) = apply { this.reason = reason } + + fun additionalProperties(additionalProperties: Map) = apply { + this.additionalProperties.clear() + this.additionalProperties.putAll(additionalProperties) + } + + @JsonAnySetter + fun putAdditionalProperty(key: String, value: JsonValue) = apply { + this.additionalProperties.put(key, value) + } + + fun putAllAdditionalProperties(additionalProperties: Map) = apply { + this.additionalProperties.putAll(additionalProperties) + } + + fun build(): FinancialAccountChargeOffBody = + FinancialAccountChargeOffBody( + checkNotNull(reason) { "`reason` is required but was not set" }, + additionalProperties.toImmutable() + ) + } + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return /* spotless:off */ other is FinancialAccountChargeOffBody && this.reason == other.reason && this.additionalProperties == other.additionalProperties /* spotless:on */ + } + + private var hashCode: Int = 0 + + override fun hashCode(): Int { + if (hashCode == 0) { + hashCode = /* spotless:off */ Objects.hash(reason, additionalProperties) /* spotless:on */ + } + return hashCode + } + + override fun toString() = + "FinancialAccountChargeOffBody{reason=$reason, additionalProperties=$additionalProperties}" + } + + fun _additionalQueryParams(): Map> = additionalQueryParams + + fun _additionalHeaders(): Map> = additionalHeaders + + fun _additionalBodyProperties(): Map = additionalBodyProperties + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return /* spotless:off */ other is FinancialAccountChargeOffParams && this.financialAccountToken == other.financialAccountToken && this.reason == other.reason && this.additionalQueryParams == other.additionalQueryParams && this.additionalHeaders == other.additionalHeaders && this.additionalBodyProperties == other.additionalBodyProperties /* spotless:on */ + } + + override fun hashCode(): Int { + return /* spotless:off */ Objects.hash(financialAccountToken, reason, additionalQueryParams, additionalHeaders, additionalBodyProperties) /* spotless:on */ + } + + override fun toString() = + "FinancialAccountChargeOffParams{financialAccountToken=$financialAccountToken, reason=$reason, additionalQueryParams=$additionalQueryParams, additionalHeaders=$additionalHeaders, additionalBodyProperties=$additionalBodyProperties}" + + fun toBuilder() = Builder().from(this) + + companion object { + + fun builder() = Builder() + } + + @NoAutoDetect + class Builder { + + private var financialAccountToken: String? = null + private var reason: ChargedOffReason? = null + private var additionalQueryParams: MutableMap> = mutableMapOf() + private var additionalHeaders: MutableMap> = mutableMapOf() + private var additionalBodyProperties: MutableMap = mutableMapOf() + + internal fun from(financialAccountChargeOffParams: FinancialAccountChargeOffParams) = + apply { + this.financialAccountToken = financialAccountChargeOffParams.financialAccountToken + this.reason = financialAccountChargeOffParams.reason + additionalQueryParams(financialAccountChargeOffParams.additionalQueryParams) + additionalHeaders(financialAccountChargeOffParams.additionalHeaders) + additionalBodyProperties(financialAccountChargeOffParams.additionalBodyProperties) + } + + fun financialAccountToken(financialAccountToken: String) = apply { + this.financialAccountToken = financialAccountToken + } + + /** Reason for the financial account being marked as Charged Off */ + fun reason(reason: ChargedOffReason) = apply { this.reason = reason } + + fun additionalQueryParams(additionalQueryParams: Map>) = apply { + this.additionalQueryParams.clear() + putAllQueryParams(additionalQueryParams) + } + + fun putQueryParam(name: String, value: String) = apply { + this.additionalQueryParams.getOrPut(name) { mutableListOf() }.add(value) + } + + fun putQueryParams(name: String, values: Iterable) = apply { + this.additionalQueryParams.getOrPut(name) { mutableListOf() }.addAll(values) + } + + fun putAllQueryParams(additionalQueryParams: Map>) = apply { + additionalQueryParams.forEach(this::putQueryParams) + } + + fun removeQueryParam(name: String) = apply { + this.additionalQueryParams.put(name, mutableListOf()) + } + + fun additionalHeaders(additionalHeaders: Map>) = apply { + this.additionalHeaders.clear() + putAllHeaders(additionalHeaders) + } + + fun putHeader(name: String, value: String) = apply { + this.additionalHeaders.getOrPut(name) { mutableListOf() }.add(value) + } + + fun putHeaders(name: String, values: Iterable) = apply { + this.additionalHeaders.getOrPut(name) { mutableListOf() }.addAll(values) + } + + fun putAllHeaders(additionalHeaders: Map>) = apply { + additionalHeaders.forEach(this::putHeaders) + } + + fun removeHeader(name: String) = apply { this.additionalHeaders.put(name, mutableListOf()) } + + fun additionalBodyProperties(additionalBodyProperties: Map) = apply { + this.additionalBodyProperties.clear() + this.additionalBodyProperties.putAll(additionalBodyProperties) + } + + fun putAdditionalBodyProperty(key: String, value: JsonValue) = apply { + this.additionalBodyProperties.put(key, value) + } + + fun putAllAdditionalBodyProperties(additionalBodyProperties: Map) = + apply { + this.additionalBodyProperties.putAll(additionalBodyProperties) + } + + fun build(): FinancialAccountChargeOffParams = + FinancialAccountChargeOffParams( + checkNotNull(financialAccountToken) { + "`financialAccountToken` is required but was not set" + }, + checkNotNull(reason) { "`reason` is required but was not set" }, + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), + ) + } + + class ChargedOffReason + @JsonCreator + private constructor( + private val value: JsonField, + ) : Enum { + + @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return /* spotless:off */ other is ChargedOffReason && this.value == other.value /* spotless:on */ + } + + override fun hashCode() = value.hashCode() + + override fun toString() = value.toString() + + companion object { + + val DELINQUENT = ChargedOffReason(JsonField.of("DELINQUENT")) + + val FRAUD = ChargedOffReason(JsonField.of("FRAUD")) + + fun of(value: String) = ChargedOffReason(JsonField.of(value)) + } + + enum class Known { + DELINQUENT, + FRAUD, + } + + enum class Value { + DELINQUENT, + FRAUD, + _UNKNOWN, + } + + fun value(): Value = + when (this) { + DELINQUENT -> Value.DELINQUENT + FRAUD -> Value.FRAUD + else -> Value._UNKNOWN + } + + fun known(): Known = + when (this) { + DELINQUENT -> Known.DELINQUENT + FRAUD -> Known.FRAUD + else -> throw LithicInvalidDataException("Unknown ChargedOffReason: $value") + } + + fun asString(): String = _value().asStringOrThrow() + } +} diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountCreateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountCreateParams.kt index c5d91bb7..543f6a0d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountCreateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountCreateParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -129,7 +129,7 @@ constructor( checkNotNull(type) { "`type` is required but was not set" }, accountToken, isForBenefitOf, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -271,9 +271,9 @@ constructor( checkNotNull(type) { "`type` is required but was not set" }, accountToken, isForBenefitOf, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountCreditConfig.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountCreditConfig.kt index 5acc7827..c905d657 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountCreditConfig.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountCreditConfig.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -28,6 +28,7 @@ private constructor( private val tier: JsonField, private val financialAccountState: JsonField, private val isSpendBlocked: JsonField, + private val chargedOffReason: JsonField, private val additionalProperties: Map, ) { @@ -48,10 +49,13 @@ private constructor( fun tier(): String? = tier.getNullable("tier") /** State of the financial account */ - fun financialAccountState(): FinancialAccountState? = - financialAccountState.getNullable("financial_account_state") + fun financialAccountState(): FinancialAccountState = + financialAccountState.getRequired("financial_account_state") - fun isSpendBlocked(): Boolean? = isSpendBlocked.getNullable("is_spend_blocked") + fun isSpendBlocked(): Boolean = isSpendBlocked.getRequired("is_spend_blocked") + + /** Reason for the financial account being marked as Charged Off */ + fun chargedOffReason(): ChargedOffReason? = chargedOffReason.getNullable("charged_off_reason") /** Globally unique identifier for the account */ @JsonProperty("account_token") @ExcludeMissing fun _accountToken() = accountToken @@ -77,6 +81,9 @@ private constructor( @JsonProperty("is_spend_blocked") @ExcludeMissing fun _isSpendBlocked() = isSpendBlocked + /** Reason for the financial account being marked as Charged Off */ + @JsonProperty("charged_off_reason") @ExcludeMissing fun _chargedOffReason() = chargedOffReason + @JsonAnyGetter @ExcludeMissing fun _additionalProperties(): Map = additionalProperties @@ -90,6 +97,7 @@ private constructor( tier() financialAccountState() isSpendBlocked() + chargedOffReason() validated = true } } @@ -110,6 +118,7 @@ private constructor( private var tier: JsonField = JsonMissing.of() private var financialAccountState: JsonField = JsonMissing.of() private var isSpendBlocked: JsonField = JsonMissing.of() + private var chargedOffReason: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() internal fun from(financialAccountCreditConfig: FinancialAccountCreditConfig) = apply { @@ -120,6 +129,7 @@ private constructor( this.tier = financialAccountCreditConfig.tier this.financialAccountState = financialAccountCreditConfig.financialAccountState this.isSpendBlocked = financialAccountCreditConfig.isSpendBlocked + this.chargedOffReason = financialAccountCreditConfig.chargedOffReason additionalProperties(financialAccountCreditConfig.additionalProperties) } @@ -186,6 +196,17 @@ private constructor( this.isSpendBlocked = isSpendBlocked } + /** Reason for the financial account being marked as Charged Off */ + fun chargedOffReason(chargedOffReason: ChargedOffReason) = + chargedOffReason(JsonField.of(chargedOffReason)) + + /** Reason for the financial account being marked as Charged Off */ + @JsonProperty("charged_off_reason") + @ExcludeMissing + fun chargedOffReason(chargedOffReason: JsonField) = apply { + this.chargedOffReason = chargedOffReason + } + fun additionalProperties(additionalProperties: Map) = apply { this.additionalProperties.clear() this.additionalProperties.putAll(additionalProperties) @@ -209,10 +230,68 @@ private constructor( tier, financialAccountState, isSpendBlocked, - additionalProperties.toUnmodifiable(), + chargedOffReason, + additionalProperties.toImmutable(), ) } + class ChargedOffReason + @JsonCreator + private constructor( + private val value: JsonField, + ) : Enum { + + @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return /* spotless:off */ other is ChargedOffReason && this.value == other.value /* spotless:on */ + } + + override fun hashCode() = value.hashCode() + + override fun toString() = value.toString() + + companion object { + + val DELINQUENT = ChargedOffReason(JsonField.of("DELINQUENT")) + + val FRAUD = ChargedOffReason(JsonField.of("FRAUD")) + + fun of(value: String) = ChargedOffReason(JsonField.of(value)) + } + + enum class Known { + DELINQUENT, + FRAUD, + } + + enum class Value { + DELINQUENT, + FRAUD, + _UNKNOWN, + } + + fun value(): Value = + when (this) { + DELINQUENT -> Value.DELINQUENT + FRAUD -> Value.FRAUD + else -> Value._UNKNOWN + } + + fun known(): Known = + when (this) { + DELINQUENT -> Known.DELINQUENT + FRAUD -> Known.FRAUD + else -> throw LithicInvalidDataException("Unknown ChargedOffReason: $value") + } + + fun asString(): String = _value().asStringOrThrow() + } + class FinancialAccountState @JsonCreator private constructor( @@ -241,6 +320,8 @@ private constructor( val DELINQUENT = FinancialAccountState(JsonField.of("DELINQUENT")) + val CHARGED_OFF = FinancialAccountState(JsonField.of("CHARGED_OFF")) + fun of(value: String) = FinancialAccountState(JsonField.of(value)) } @@ -248,12 +329,14 @@ private constructor( PENDING, CURRENT, DELINQUENT, + CHARGED_OFF, } enum class Value { PENDING, CURRENT, DELINQUENT, + CHARGED_OFF, _UNKNOWN, } @@ -262,6 +345,7 @@ private constructor( PENDING -> Value.PENDING CURRENT -> Value.CURRENT DELINQUENT -> Value.DELINQUENT + CHARGED_OFF -> Value.CHARGED_OFF else -> Value._UNKNOWN } @@ -270,6 +354,7 @@ private constructor( PENDING -> Known.PENDING CURRENT -> Known.CURRENT DELINQUENT -> Known.DELINQUENT + CHARGED_OFF -> Known.CHARGED_OFF else -> throw LithicInvalidDataException("Unknown FinancialAccountState: $value") } @@ -281,18 +366,18 @@ private constructor( return true } - return /* spotless:off */ other is FinancialAccountCreditConfig && this.accountToken == other.accountToken && this.creditLimit == other.creditLimit && this.externalBankAccountToken == other.externalBankAccountToken && this.creditProductToken == other.creditProductToken && this.tier == other.tier && this.financialAccountState == other.financialAccountState && this.isSpendBlocked == other.isSpendBlocked && this.additionalProperties == other.additionalProperties /* spotless:on */ + return /* spotless:off */ other is FinancialAccountCreditConfig && this.accountToken == other.accountToken && this.creditLimit == other.creditLimit && this.externalBankAccountToken == other.externalBankAccountToken && this.creditProductToken == other.creditProductToken && this.tier == other.tier && this.financialAccountState == other.financialAccountState && this.isSpendBlocked == other.isSpendBlocked && this.chargedOffReason == other.chargedOffReason && this.additionalProperties == other.additionalProperties /* spotless:on */ } private var hashCode: Int = 0 override fun hashCode(): Int { if (hashCode == 0) { - hashCode = /* spotless:off */ Objects.hash(accountToken, creditLimit, externalBankAccountToken, creditProductToken, tier, financialAccountState, isSpendBlocked, additionalProperties) /* spotless:on */ + hashCode = /* spotless:off */ Objects.hash(accountToken, creditLimit, externalBankAccountToken, creditProductToken, tier, financialAccountState, isSpendBlocked, chargedOffReason, additionalProperties) /* spotless:on */ } return hashCode } override fun toString() = - "FinancialAccountCreditConfig{accountToken=$accountToken, creditLimit=$creditLimit, externalBankAccountToken=$externalBankAccountToken, creditProductToken=$creditProductToken, tier=$tier, financialAccountState=$financialAccountState, isSpendBlocked=$isSpendBlocked, additionalProperties=$additionalProperties}" + "FinancialAccountCreditConfig{accountToken=$accountToken, creditLimit=$creditLimit, externalBankAccountToken=$externalBankAccountToken, creditProductToken=$creditProductToken, tier=$tier, financialAccountState=$financialAccountState, isSpendBlocked=$isSpendBlocked, chargedOffReason=$chargedOffReason, additionalProperties=$additionalProperties}" } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountCreditConfigurationRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountCreditConfigurationRetrieveParams.kt index d586c5c4..c4f53187 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountCreditConfigurationRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountCreditConfigurationRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -121,8 +121,8 @@ constructor( checkNotNull(financialAccountToken) { "`financialAccountToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountCreditConfigurationUpdateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountCreditConfigurationUpdateParams.kt index 180d99b5..507dcdc0 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountCreditConfigurationUpdateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountCreditConfigurationUpdateParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -149,7 +149,7 @@ constructor( creditProductToken, externalBankAccountToken, tier, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -316,9 +316,9 @@ constructor( creditProductToken, externalBankAccountToken, tier, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountListPage.kt index f9f99c4d..b44fad99 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.FinancialAccountService import java.util.Objects @@ -155,7 +155,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountListPageAsync.kt index 12149cff..977aa214 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.FinancialAccountServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -157,7 +157,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountListParams.kt index fa8f287b..a677e7a7 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountListParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -35,7 +35,7 @@ constructor( } this.type?.let { params.put("type", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -139,8 +139,8 @@ constructor( accountToken, businessAccountToken, type, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountLoanTapeListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountLoanTapeListPage.kt index 2c72ff5f..5e028301 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountLoanTapeListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountLoanTapeListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.financialAccounts.LoanTapeService import java.util.Objects @@ -169,7 +169,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountLoanTapeListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountLoanTapeListPageAsync.kt index b79f726f..86d81fa0 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountLoanTapeListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountLoanTapeListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.financialAccounts.LoanTapeServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -171,7 +171,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountLoanTapeListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountLoanTapeListParams.kt index 6ea232ae..adeb652c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountLoanTapeListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountLoanTapeListParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.LocalDate import java.util.Objects @@ -40,7 +40,7 @@ constructor( this.pageSize?.let { params.put("page_size", listOf(it.toString())) } this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -185,8 +185,8 @@ constructor( endingBefore, pageSize, startingAfter, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountLoanTapeRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountLoanTapeRetrieveParams.kt index 76d955bb..82316826 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountLoanTapeRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountLoanTapeRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -129,8 +129,8 @@ constructor( "`financialAccountToken` is required but was not set" }, checkNotNull(loanTapeToken) { "`loanTapeToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountRetrieveParams.kt index bee802d2..98f916dc 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -115,8 +115,8 @@ constructor( checkNotNull(financialAccountToken) { "`financialAccountToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementLineItemListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementLineItemListPage.kt index cb3f6887..4e3231a7 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementLineItemListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementLineItemListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.financialAccounts.statements.LineItemService import java.util.Objects @@ -169,7 +169,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementLineItemListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementLineItemListPageAsync.kt index 6b2e2dfe..1a3e7441 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementLineItemListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementLineItemListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.financialAccounts.statements.LineItemServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -171,7 +171,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementLineItemListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementLineItemListParams.kt index a11bff24..a291c1ec 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementLineItemListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementLineItemListParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -34,7 +34,7 @@ constructor( this.pageSize?.let { params.put("page_size", listOf(it.toString())) } this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -169,8 +169,8 @@ constructor( endingBefore, pageSize, startingAfter, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementListPage.kt index 9ce404a0..41c7af6f 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.financialAccounts.StatementService import java.util.Objects @@ -169,7 +169,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementListPageAsync.kt index b6d6b994..611b754f 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.financialAccounts.StatementServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -171,7 +171,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementListParams.kt index c5e6ee22..3f630bea 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementListParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.LocalDate import java.util.Objects @@ -46,7 +46,7 @@ constructor( this.pageSize?.let { params.put("page_size", listOf(it.toString())) } this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -200,8 +200,8 @@ constructor( includeInitialStatements, pageSize, startingAfter, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementRetrieveParams.kt index 3edf39db..5e8e27d7 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountStatementRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -129,8 +129,8 @@ constructor( "`financialAccountToken` is required but was not set" }, checkNotNull(statementToken) { "`statementToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountUpdateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountUpdateParams.kt index dc4b9dd7..27c07d16 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountUpdateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialAccountUpdateParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -90,7 +90,7 @@ constructor( } fun build(): FinancialAccountUpdateBody = - FinancialAccountUpdateBody(nickname, additionalProperties.toUnmodifiable()) + FinancialAccountUpdateBody(nickname, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { @@ -225,9 +225,9 @@ constructor( "`financialAccountToken` is required but was not set" }, nickname, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransaction.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransaction.kt index 8e2fada6..02ba41fd 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransaction.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransaction.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -380,14 +380,14 @@ private constructor( created, currency, descriptor, - events.map { it.toUnmodifiable() }, + events.map { it.toImmutable() }, pendingAmount, result, settledAmount, status, token, updated, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -619,7 +619,7 @@ private constructor( result, token, type, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -742,8 +742,13 @@ private constructor( val BILLING_ERROR = FinancialEventType(JsonField.of("BILLING_ERROR")) + val BILLING_ERROR_REVERSAL = + FinancialEventType(JsonField.of("BILLING_ERROR_REVERSAL")) + val CASH_BACK = FinancialEventType(JsonField.of("CASH_BACK")) + val CASH_BACK_REVERSAL = FinancialEventType(JsonField.of("CASH_BACK_REVERSAL")) + val CLEARING = FinancialEventType(JsonField.of("CLEARING")) val CORRECTION_CREDIT = FinancialEventType(JsonField.of("CORRECTION_CREDIT")) @@ -757,6 +762,9 @@ private constructor( val CURRENCY_CONVERSION = FinancialEventType(JsonField.of("CURRENCY_CONVERSION")) + val CURRENCY_CONVERSION_REVERSAL = + FinancialEventType(JsonField.of("CURRENCY_CONVERSION_REVERSAL")) + val DISPUTE_WON = FinancialEventType(JsonField.of("DISPUTE_WON")) val EXTERNAL_ACH_CANCELED = @@ -826,10 +834,18 @@ private constructor( val INTEREST = FinancialEventType(JsonField.of("INTEREST")) + val INTEREST_REVERSAL = FinancialEventType(JsonField.of("INTEREST_REVERSAL")) + val LATE_PAYMENT = FinancialEventType(JsonField.of("LATE_PAYMENT")) + val LATE_PAYMENT_REVERSAL = + FinancialEventType(JsonField.of("LATE_PAYMENT_REVERSAL")) + val PROVISIONAL_CREDIT = FinancialEventType(JsonField.of("PROVISIONAL_CREDIT")) + val PROVISIONAL_CREDIT_REVERSAL = + FinancialEventType(JsonField.of("PROVISIONAL_CREDIT_REVERSAL")) + val RETURN = FinancialEventType(JsonField.of("RETURN")) val RETURN_REVERSAL = FinancialEventType(JsonField.of("RETURN_REVERSAL")) @@ -859,13 +875,16 @@ private constructor( AUTHORIZATION_REVERSAL, BALANCE_INQUIRY, BILLING_ERROR, + BILLING_ERROR_REVERSAL, CASH_BACK, + CASH_BACK_REVERSAL, CLEARING, CORRECTION_CREDIT, CORRECTION_DEBIT, CREDIT_AUTHORIZATION, CREDIT_AUTHORIZATION_ADVICE, CURRENCY_CONVERSION, + CURRENCY_CONVERSION_REVERSAL, DISPUTE_WON, EXTERNAL_ACH_CANCELED, EXTERNAL_ACH_INITIATED, @@ -890,8 +909,11 @@ private constructor( FINANCIAL_AUTHORIZATION, FINANCIAL_CREDIT_AUTHORIZATION, INTEREST, + INTEREST_REVERSAL, LATE_PAYMENT, + LATE_PAYMENT_REVERSAL, PROVISIONAL_CREDIT, + PROVISIONAL_CREDIT_REVERSAL, RETURN, RETURN_REVERSAL, TRANSFER, @@ -915,13 +937,16 @@ private constructor( AUTHORIZATION_REVERSAL, BALANCE_INQUIRY, BILLING_ERROR, + BILLING_ERROR_REVERSAL, CASH_BACK, + CASH_BACK_REVERSAL, CLEARING, CORRECTION_CREDIT, CORRECTION_DEBIT, CREDIT_AUTHORIZATION, CREDIT_AUTHORIZATION_ADVICE, CURRENCY_CONVERSION, + CURRENCY_CONVERSION_REVERSAL, DISPUTE_WON, EXTERNAL_ACH_CANCELED, EXTERNAL_ACH_INITIATED, @@ -946,8 +971,11 @@ private constructor( FINANCIAL_AUTHORIZATION, FINANCIAL_CREDIT_AUTHORIZATION, INTEREST, + INTEREST_REVERSAL, LATE_PAYMENT, + LATE_PAYMENT_REVERSAL, PROVISIONAL_CREDIT, + PROVISIONAL_CREDIT_REVERSAL, RETURN, RETURN_REVERSAL, TRANSFER, @@ -973,13 +1001,16 @@ private constructor( AUTHORIZATION_REVERSAL -> Value.AUTHORIZATION_REVERSAL BALANCE_INQUIRY -> Value.BALANCE_INQUIRY BILLING_ERROR -> Value.BILLING_ERROR + BILLING_ERROR_REVERSAL -> Value.BILLING_ERROR_REVERSAL CASH_BACK -> Value.CASH_BACK + CASH_BACK_REVERSAL -> Value.CASH_BACK_REVERSAL CLEARING -> Value.CLEARING CORRECTION_CREDIT -> Value.CORRECTION_CREDIT CORRECTION_DEBIT -> Value.CORRECTION_DEBIT CREDIT_AUTHORIZATION -> Value.CREDIT_AUTHORIZATION CREDIT_AUTHORIZATION_ADVICE -> Value.CREDIT_AUTHORIZATION_ADVICE CURRENCY_CONVERSION -> Value.CURRENCY_CONVERSION + CURRENCY_CONVERSION_REVERSAL -> Value.CURRENCY_CONVERSION_REVERSAL DISPUTE_WON -> Value.DISPUTE_WON EXTERNAL_ACH_CANCELED -> Value.EXTERNAL_ACH_CANCELED EXTERNAL_ACH_INITIATED -> Value.EXTERNAL_ACH_INITIATED @@ -1004,8 +1035,11 @@ private constructor( FINANCIAL_AUTHORIZATION -> Value.FINANCIAL_AUTHORIZATION FINANCIAL_CREDIT_AUTHORIZATION -> Value.FINANCIAL_CREDIT_AUTHORIZATION INTEREST -> Value.INTEREST + INTEREST_REVERSAL -> Value.INTEREST_REVERSAL LATE_PAYMENT -> Value.LATE_PAYMENT + LATE_PAYMENT_REVERSAL -> Value.LATE_PAYMENT_REVERSAL PROVISIONAL_CREDIT -> Value.PROVISIONAL_CREDIT + PROVISIONAL_CREDIT_REVERSAL -> Value.PROVISIONAL_CREDIT_REVERSAL RETURN -> Value.RETURN RETURN_REVERSAL -> Value.RETURN_REVERSAL TRANSFER -> Value.TRANSFER @@ -1031,13 +1065,16 @@ private constructor( AUTHORIZATION_REVERSAL -> Known.AUTHORIZATION_REVERSAL BALANCE_INQUIRY -> Known.BALANCE_INQUIRY BILLING_ERROR -> Known.BILLING_ERROR + BILLING_ERROR_REVERSAL -> Known.BILLING_ERROR_REVERSAL CASH_BACK -> Known.CASH_BACK + CASH_BACK_REVERSAL -> Known.CASH_BACK_REVERSAL CLEARING -> Known.CLEARING CORRECTION_CREDIT -> Known.CORRECTION_CREDIT CORRECTION_DEBIT -> Known.CORRECTION_DEBIT CREDIT_AUTHORIZATION -> Known.CREDIT_AUTHORIZATION CREDIT_AUTHORIZATION_ADVICE -> Known.CREDIT_AUTHORIZATION_ADVICE CURRENCY_CONVERSION -> Known.CURRENCY_CONVERSION + CURRENCY_CONVERSION_REVERSAL -> Known.CURRENCY_CONVERSION_REVERSAL DISPUTE_WON -> Known.DISPUTE_WON EXTERNAL_ACH_CANCELED -> Known.EXTERNAL_ACH_CANCELED EXTERNAL_ACH_INITIATED -> Known.EXTERNAL_ACH_INITIATED @@ -1062,8 +1099,11 @@ private constructor( FINANCIAL_AUTHORIZATION -> Known.FINANCIAL_AUTHORIZATION FINANCIAL_CREDIT_AUTHORIZATION -> Known.FINANCIAL_CREDIT_AUTHORIZATION INTEREST -> Known.INTEREST + INTEREST_REVERSAL -> Known.INTEREST_REVERSAL LATE_PAYMENT -> Known.LATE_PAYMENT + LATE_PAYMENT_REVERSAL -> Known.LATE_PAYMENT_REVERSAL PROVISIONAL_CREDIT -> Known.PROVISIONAL_CREDIT + PROVISIONAL_CREDIT_REVERSAL -> Known.PROVISIONAL_CREDIT_REVERSAL RETURN -> Known.RETURN RETURN_REVERSAL -> Known.RETURN_REVERSAL TRANSFER -> Known.TRANSFER diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransactionListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransactionListPage.kt index 65a495ea..47792e1f 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransactionListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransactionListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.financialAccounts.FinancialTransactionService import java.util.Objects @@ -155,7 +155,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransactionListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransactionListPageAsync.kt index a0a77580..70550c87 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransactionListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransactionListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.financialAccounts.FinancialTransactionServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -157,7 +157,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransactionListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransactionListParams.kt index 6143417e..f483cddc 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransactionListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransactionListParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.OffsetDateTime @@ -58,7 +58,7 @@ constructor( this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } this.status?.let { params.put("status", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -212,8 +212,8 @@ constructor( result, startingAfter, status, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransactionRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransactionRetrieveParams.kt index 94e0f37d..b6a0d67b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransactionRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/FinancialTransactionRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -131,8 +131,8 @@ constructor( checkNotNull(financialTransactionToken) { "`financialTransactionToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Kyb.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Kyb.kt index b8e9b027..3a7c2ee7 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Kyb.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Kyb.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -414,8 +414,8 @@ private constructor( fun build(): Kyb = Kyb( - beneficialOwnerEntities.map { it.toUnmodifiable() }, - beneficialOwnerIndividuals.map { it.toUnmodifiable() }, + beneficialOwnerEntities.map { it.toImmutable() }, + beneficialOwnerIndividuals.map { it.toImmutable() }, businessEntity, controlPerson, externalId, @@ -424,7 +424,7 @@ private constructor( tosTimestamp, websiteUrl, workflow, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -641,8 +641,8 @@ private constructor( governmentId, legalBusinessName, parentCompany, - phoneNumbers.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable(), + phoneNumbers.map { it.toImmutable() }, + additionalProperties.toImmutable(), ) } @@ -899,7 +899,7 @@ private constructor( governmentId, lastName, phoneNumber, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Kyc.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Kyc.kt index 5cd935f9..8fe2a57b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Kyc.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Kyc.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -205,7 +205,7 @@ private constructor( kycPassedTimestamp, tosTimestamp, workflow, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -441,7 +441,7 @@ private constructor( governmentId, lastName, phoneNumber, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/KycExempt.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/KycExempt.kt index 58f98824..b98544b8 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/KycExempt.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/KycExempt.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -274,7 +274,7 @@ private constructor( lastName, phoneNumber, workflow, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/LineItemListResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/LineItemListResponse.kt index 6a37a0ec..6d0ec1b2 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/LineItemListResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/LineItemListResponse.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.LocalDate import java.time.OffsetDateTime @@ -309,7 +309,7 @@ private constructor( amount, currency, created, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -478,8 +478,12 @@ private constructor( val BILLING_ERROR = FinancialEventType(JsonField.of("BILLING_ERROR")) + val BILLING_ERROR_REVERSAL = FinancialEventType(JsonField.of("BILLING_ERROR_REVERSAL")) + val CASH_BACK = FinancialEventType(JsonField.of("CASH_BACK")) + val CASH_BACK_REVERSAL = FinancialEventType(JsonField.of("CASH_BACK_REVERSAL")) + val CLEARING = FinancialEventType(JsonField.of("CLEARING")) val CORRECTION_CREDIT = FinancialEventType(JsonField.of("CORRECTION_CREDIT")) @@ -493,6 +497,9 @@ private constructor( val CURRENCY_CONVERSION = FinancialEventType(JsonField.of("CURRENCY_CONVERSION")) + val CURRENCY_CONVERSION_REVERSAL = + FinancialEventType(JsonField.of("CURRENCY_CONVERSION_REVERSAL")) + val DISPUTE_WON = FinancialEventType(JsonField.of("DISPUTE_WON")) val EXTERNAL_ACH_CANCELED = FinancialEventType(JsonField.of("EXTERNAL_ACH_CANCELED")) @@ -553,10 +560,17 @@ private constructor( val INTEREST = FinancialEventType(JsonField.of("INTEREST")) + val INTEREST_REVERSAL = FinancialEventType(JsonField.of("INTEREST_REVERSAL")) + val LATE_PAYMENT = FinancialEventType(JsonField.of("LATE_PAYMENT")) + val LATE_PAYMENT_REVERSAL = FinancialEventType(JsonField.of("LATE_PAYMENT_REVERSAL")) + val PROVISIONAL_CREDIT = FinancialEventType(JsonField.of("PROVISIONAL_CREDIT")) + val PROVISIONAL_CREDIT_REVERSAL = + FinancialEventType(JsonField.of("PROVISIONAL_CREDIT_REVERSAL")) + val RETURN = FinancialEventType(JsonField.of("RETURN")) val RETURN_REVERSAL = FinancialEventType(JsonField.of("RETURN_REVERSAL")) @@ -586,13 +600,16 @@ private constructor( AUTHORIZATION_REVERSAL, BALANCE_INQUIRY, BILLING_ERROR, + BILLING_ERROR_REVERSAL, CASH_BACK, + CASH_BACK_REVERSAL, CLEARING, CORRECTION_CREDIT, CORRECTION_DEBIT, CREDIT_AUTHORIZATION, CREDIT_AUTHORIZATION_ADVICE, CURRENCY_CONVERSION, + CURRENCY_CONVERSION_REVERSAL, DISPUTE_WON, EXTERNAL_ACH_CANCELED, EXTERNAL_ACH_INITIATED, @@ -617,8 +634,11 @@ private constructor( FINANCIAL_AUTHORIZATION, FINANCIAL_CREDIT_AUTHORIZATION, INTEREST, + INTEREST_REVERSAL, LATE_PAYMENT, + LATE_PAYMENT_REVERSAL, PROVISIONAL_CREDIT, + PROVISIONAL_CREDIT_REVERSAL, RETURN, RETURN_REVERSAL, TRANSFER, @@ -642,13 +662,16 @@ private constructor( AUTHORIZATION_REVERSAL, BALANCE_INQUIRY, BILLING_ERROR, + BILLING_ERROR_REVERSAL, CASH_BACK, + CASH_BACK_REVERSAL, CLEARING, CORRECTION_CREDIT, CORRECTION_DEBIT, CREDIT_AUTHORIZATION, CREDIT_AUTHORIZATION_ADVICE, CURRENCY_CONVERSION, + CURRENCY_CONVERSION_REVERSAL, DISPUTE_WON, EXTERNAL_ACH_CANCELED, EXTERNAL_ACH_INITIATED, @@ -673,8 +696,11 @@ private constructor( FINANCIAL_AUTHORIZATION, FINANCIAL_CREDIT_AUTHORIZATION, INTEREST, + INTEREST_REVERSAL, LATE_PAYMENT, + LATE_PAYMENT_REVERSAL, PROVISIONAL_CREDIT, + PROVISIONAL_CREDIT_REVERSAL, RETURN, RETURN_REVERSAL, TRANSFER, @@ -700,13 +726,16 @@ private constructor( AUTHORIZATION_REVERSAL -> Value.AUTHORIZATION_REVERSAL BALANCE_INQUIRY -> Value.BALANCE_INQUIRY BILLING_ERROR -> Value.BILLING_ERROR + BILLING_ERROR_REVERSAL -> Value.BILLING_ERROR_REVERSAL CASH_BACK -> Value.CASH_BACK + CASH_BACK_REVERSAL -> Value.CASH_BACK_REVERSAL CLEARING -> Value.CLEARING CORRECTION_CREDIT -> Value.CORRECTION_CREDIT CORRECTION_DEBIT -> Value.CORRECTION_DEBIT CREDIT_AUTHORIZATION -> Value.CREDIT_AUTHORIZATION CREDIT_AUTHORIZATION_ADVICE -> Value.CREDIT_AUTHORIZATION_ADVICE CURRENCY_CONVERSION -> Value.CURRENCY_CONVERSION + CURRENCY_CONVERSION_REVERSAL -> Value.CURRENCY_CONVERSION_REVERSAL DISPUTE_WON -> Value.DISPUTE_WON EXTERNAL_ACH_CANCELED -> Value.EXTERNAL_ACH_CANCELED EXTERNAL_ACH_INITIATED -> Value.EXTERNAL_ACH_INITIATED @@ -731,8 +760,11 @@ private constructor( FINANCIAL_AUTHORIZATION -> Value.FINANCIAL_AUTHORIZATION FINANCIAL_CREDIT_AUTHORIZATION -> Value.FINANCIAL_CREDIT_AUTHORIZATION INTEREST -> Value.INTEREST + INTEREST_REVERSAL -> Value.INTEREST_REVERSAL LATE_PAYMENT -> Value.LATE_PAYMENT + LATE_PAYMENT_REVERSAL -> Value.LATE_PAYMENT_REVERSAL PROVISIONAL_CREDIT -> Value.PROVISIONAL_CREDIT + PROVISIONAL_CREDIT_REVERSAL -> Value.PROVISIONAL_CREDIT_REVERSAL RETURN -> Value.RETURN RETURN_REVERSAL -> Value.RETURN_REVERSAL TRANSFER -> Value.TRANSFER @@ -758,13 +790,16 @@ private constructor( AUTHORIZATION_REVERSAL -> Known.AUTHORIZATION_REVERSAL BALANCE_INQUIRY -> Known.BALANCE_INQUIRY BILLING_ERROR -> Known.BILLING_ERROR + BILLING_ERROR_REVERSAL -> Known.BILLING_ERROR_REVERSAL CASH_BACK -> Known.CASH_BACK + CASH_BACK_REVERSAL -> Known.CASH_BACK_REVERSAL CLEARING -> Known.CLEARING CORRECTION_CREDIT -> Known.CORRECTION_CREDIT CORRECTION_DEBIT -> Known.CORRECTION_DEBIT CREDIT_AUTHORIZATION -> Known.CREDIT_AUTHORIZATION CREDIT_AUTHORIZATION_ADVICE -> Known.CREDIT_AUTHORIZATION_ADVICE CURRENCY_CONVERSION -> Known.CURRENCY_CONVERSION + CURRENCY_CONVERSION_REVERSAL -> Known.CURRENCY_CONVERSION_REVERSAL DISPUTE_WON -> Known.DISPUTE_WON EXTERNAL_ACH_CANCELED -> Known.EXTERNAL_ACH_CANCELED EXTERNAL_ACH_INITIATED -> Known.EXTERNAL_ACH_INITIATED @@ -789,8 +824,11 @@ private constructor( FINANCIAL_AUTHORIZATION -> Known.FINANCIAL_AUTHORIZATION FINANCIAL_CREDIT_AUTHORIZATION -> Known.FINANCIAL_CREDIT_AUTHORIZATION INTEREST -> Known.INTEREST + INTEREST_REVERSAL -> Known.INTEREST_REVERSAL LATE_PAYMENT -> Known.LATE_PAYMENT + LATE_PAYMENT_REVERSAL -> Known.LATE_PAYMENT_REVERSAL PROVISIONAL_CREDIT -> Known.PROVISIONAL_CREDIT + PROVISIONAL_CREDIT_REVERSAL -> Known.PROVISIONAL_CREDIT_REVERSAL RETURN -> Known.RETURN RETURN_REVERSAL -> Known.RETURN_REVERSAL TRANSFER -> Known.TRANSFER diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/LoanTape.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/LoanTape.kt index a4999117..f1d742ad 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/LoanTape.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/LoanTape.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.LocalDate import java.time.OffsetDateTime @@ -44,6 +44,7 @@ private constructor( private val paymentAllocation: JsonField, private val minimumPaymentBalance: JsonField, private val previousStatementBalance: JsonField, + private val interestDetails: JsonField, private val additionalProperties: Map, ) { @@ -114,6 +115,8 @@ private constructor( fun previousStatementBalance(): BalanceDetails = previousStatementBalance.getRequired("previous_statement_balance") + fun interestDetails(): InterestDetails? = interestDetails.getNullable("interest_details") + /** Globally unique identifier for a loan tape */ @JsonProperty("token") @ExcludeMissing fun _token() = token @@ -184,6 +187,8 @@ private constructor( @ExcludeMissing fun _previousStatementBalance() = previousStatementBalance + @JsonProperty("interest_details") @ExcludeMissing fun _interestDetails() = interestDetails + @JsonAnyGetter @ExcludeMissing fun _additionalProperties(): Map = additionalProperties @@ -211,6 +216,7 @@ private constructor( paymentAllocation().validate() minimumPaymentBalance().validate() previousStatementBalance().validate() + interestDetails()?.validate() validated = true } } @@ -245,6 +251,7 @@ private constructor( private var paymentAllocation: JsonField = JsonMissing.of() private var minimumPaymentBalance: JsonField = JsonMissing.of() private var previousStatementBalance: JsonField = JsonMissing.of() + private var interestDetails: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() internal fun from(loanTape: LoanTape) = apply { @@ -269,6 +276,7 @@ private constructor( this.paymentAllocation = loanTape.paymentAllocation this.minimumPaymentBalance = loanTape.minimumPaymentBalance this.previousStatementBalance = loanTape.previousStatementBalance + this.interestDetails = loanTape.interestDetails additionalProperties(loanTape.additionalProperties) } @@ -466,6 +474,15 @@ private constructor( this.previousStatementBalance = previousStatementBalance } + fun interestDetails(interestDetails: InterestDetails) = + interestDetails(JsonField.of(interestDetails)) + + @JsonProperty("interest_details") + @ExcludeMissing + fun interestDetails(interestDetails: JsonField) = apply { + this.interestDetails = interestDetails + } + fun additionalProperties(additionalProperties: Map) = apply { this.additionalProperties.clear() this.additionalProperties.putAll(additionalProperties) @@ -503,7 +520,8 @@ private constructor( paymentAllocation, minimumPaymentBalance, previousStatementBalance, - additionalProperties.toUnmodifiable(), + interestDetails, + additionalProperties.toImmutable(), ) } @@ -710,7 +728,7 @@ private constructor( consecutiveFullPaymentsMade, daysPastDue, hasGrace, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -960,7 +978,7 @@ private constructor( due, pastStatementsDue, nextStatementDue, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1064,7 +1082,7 @@ private constructor( interest, principal, fees, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1310,7 +1328,7 @@ private constructor( interest, cashAdvances, balanceTransfers, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1335,6 +1353,408 @@ private constructor( "StatementTotals{payments=$payments, purchases=$purchases, fees=$fees, credits=$credits, interest=$interest, cashAdvances=$cashAdvances, balanceTransfers=$balanceTransfers, additionalProperties=$additionalProperties}" } + @JsonDeserialize(builder = InterestDetails.Builder::class) + @NoAutoDetect + class InterestDetails + private constructor( + private val primeRate: JsonField, + private val interestCalculationMethod: JsonField, + private val effectiveApr: JsonField, + private val interestForPeriod: JsonField, + private val dailyBalanceAmounts: JsonField, + private val minimumInterestCharged: JsonField, + private val actualInterestCharged: JsonField, + private val additionalProperties: Map, + ) { + + private var validated: Boolean = false + + fun primeRate(): String? = primeRate.getNullable("prime_rate") + + fun interestCalculationMethod(): InterestCalculationMethod = + interestCalculationMethod.getRequired("interest_calculation_method") + + fun effectiveApr(): CategoryDetails = effectiveApr.getRequired("effective_apr") + + fun interestForPeriod(): CategoryDetails = + interestForPeriod.getRequired("interest_for_period") + + fun dailyBalanceAmounts(): CategoryDetails = + dailyBalanceAmounts.getRequired("daily_balance_amounts") + + fun minimumInterestCharged(): Long? = + minimumInterestCharged.getNullable("minimum_interest_charged") + + fun actualInterestCharged(): Long? = + actualInterestCharged.getNullable("actual_interest_charged") + + @JsonProperty("prime_rate") @ExcludeMissing fun _primeRate() = primeRate + + @JsonProperty("interest_calculation_method") + @ExcludeMissing + fun _interestCalculationMethod() = interestCalculationMethod + + @JsonProperty("effective_apr") @ExcludeMissing fun _effectiveApr() = effectiveApr + + @JsonProperty("interest_for_period") + @ExcludeMissing + fun _interestForPeriod() = interestForPeriod + + @JsonProperty("daily_balance_amounts") + @ExcludeMissing + fun _dailyBalanceAmounts() = dailyBalanceAmounts + + @JsonProperty("minimum_interest_charged") + @ExcludeMissing + fun _minimumInterestCharged() = minimumInterestCharged + + @JsonProperty("actual_interest_charged") + @ExcludeMissing + fun _actualInterestCharged() = actualInterestCharged + + @JsonAnyGetter + @ExcludeMissing + fun _additionalProperties(): Map = additionalProperties + + fun validate(): InterestDetails = apply { + if (!validated) { + primeRate() + interestCalculationMethod() + effectiveApr().validate() + interestForPeriod().validate() + dailyBalanceAmounts().validate() + minimumInterestCharged() + actualInterestCharged() + validated = true + } + } + + fun toBuilder() = Builder().from(this) + + companion object { + + fun builder() = Builder() + } + + class Builder { + + private var primeRate: JsonField = JsonMissing.of() + private var interestCalculationMethod: JsonField = + JsonMissing.of() + private var effectiveApr: JsonField = JsonMissing.of() + private var interestForPeriod: JsonField = JsonMissing.of() + private var dailyBalanceAmounts: JsonField = JsonMissing.of() + private var minimumInterestCharged: JsonField = JsonMissing.of() + private var actualInterestCharged: JsonField = JsonMissing.of() + private var additionalProperties: MutableMap = mutableMapOf() + + internal fun from(interestDetails: InterestDetails) = apply { + this.primeRate = interestDetails.primeRate + this.interestCalculationMethod = interestDetails.interestCalculationMethod + this.effectiveApr = interestDetails.effectiveApr + this.interestForPeriod = interestDetails.interestForPeriod + this.dailyBalanceAmounts = interestDetails.dailyBalanceAmounts + this.minimumInterestCharged = interestDetails.minimumInterestCharged + this.actualInterestCharged = interestDetails.actualInterestCharged + additionalProperties(interestDetails.additionalProperties) + } + + fun primeRate(primeRate: String) = primeRate(JsonField.of(primeRate)) + + @JsonProperty("prime_rate") + @ExcludeMissing + fun primeRate(primeRate: JsonField) = apply { this.primeRate = primeRate } + + fun interestCalculationMethod(interestCalculationMethod: InterestCalculationMethod) = + interestCalculationMethod(JsonField.of(interestCalculationMethod)) + + @JsonProperty("interest_calculation_method") + @ExcludeMissing + fun interestCalculationMethod( + interestCalculationMethod: JsonField + ) = apply { this.interestCalculationMethod = interestCalculationMethod } + + fun effectiveApr(effectiveApr: CategoryDetails) = + effectiveApr(JsonField.of(effectiveApr)) + + @JsonProperty("effective_apr") + @ExcludeMissing + fun effectiveApr(effectiveApr: JsonField) = apply { + this.effectiveApr = effectiveApr + } + + fun interestForPeriod(interestForPeriod: CategoryDetails) = + interestForPeriod(JsonField.of(interestForPeriod)) + + @JsonProperty("interest_for_period") + @ExcludeMissing + fun interestForPeriod(interestForPeriod: JsonField) = apply { + this.interestForPeriod = interestForPeriod + } + + fun dailyBalanceAmounts(dailyBalanceAmounts: CategoryDetails) = + dailyBalanceAmounts(JsonField.of(dailyBalanceAmounts)) + + @JsonProperty("daily_balance_amounts") + @ExcludeMissing + fun dailyBalanceAmounts(dailyBalanceAmounts: JsonField) = apply { + this.dailyBalanceAmounts = dailyBalanceAmounts + } + + fun minimumInterestCharged(minimumInterestCharged: Long) = + minimumInterestCharged(JsonField.of(minimumInterestCharged)) + + @JsonProperty("minimum_interest_charged") + @ExcludeMissing + fun minimumInterestCharged(minimumInterestCharged: JsonField) = apply { + this.minimumInterestCharged = minimumInterestCharged + } + + fun actualInterestCharged(actualInterestCharged: Long) = + actualInterestCharged(JsonField.of(actualInterestCharged)) + + @JsonProperty("actual_interest_charged") + @ExcludeMissing + fun actualInterestCharged(actualInterestCharged: JsonField) = apply { + this.actualInterestCharged = actualInterestCharged + } + + fun additionalProperties(additionalProperties: Map) = apply { + this.additionalProperties.clear() + this.additionalProperties.putAll(additionalProperties) + } + + @JsonAnySetter + fun putAdditionalProperty(key: String, value: JsonValue) = apply { + this.additionalProperties.put(key, value) + } + + fun putAllAdditionalProperties(additionalProperties: Map) = apply { + this.additionalProperties.putAll(additionalProperties) + } + + fun build(): InterestDetails = + InterestDetails( + primeRate, + interestCalculationMethod, + effectiveApr, + interestForPeriod, + dailyBalanceAmounts, + minimumInterestCharged, + actualInterestCharged, + additionalProperties.toImmutable(), + ) + } + + @JsonDeserialize(builder = CategoryDetails.Builder::class) + @NoAutoDetect + class CategoryDetails + private constructor( + private val purchases: JsonField, + private val cashAdvances: JsonField, + private val balanceTransfers: JsonField, + private val additionalProperties: Map, + ) { + + private var validated: Boolean = false + + fun purchases(): String = purchases.getRequired("purchases") + + fun cashAdvances(): String = cashAdvances.getRequired("cash_advances") + + fun balanceTransfers(): String = balanceTransfers.getRequired("balance_transfers") + + @JsonProperty("purchases") @ExcludeMissing fun _purchases() = purchases + + @JsonProperty("cash_advances") @ExcludeMissing fun _cashAdvances() = cashAdvances + + @JsonProperty("balance_transfers") + @ExcludeMissing + fun _balanceTransfers() = balanceTransfers + + @JsonAnyGetter + @ExcludeMissing + fun _additionalProperties(): Map = additionalProperties + + fun validate(): CategoryDetails = apply { + if (!validated) { + purchases() + cashAdvances() + balanceTransfers() + validated = true + } + } + + fun toBuilder() = Builder().from(this) + + companion object { + + fun builder() = Builder() + } + + class Builder { + + private var purchases: JsonField = JsonMissing.of() + private var cashAdvances: JsonField = JsonMissing.of() + private var balanceTransfers: JsonField = JsonMissing.of() + private var additionalProperties: MutableMap = mutableMapOf() + + internal fun from(categoryDetails: CategoryDetails) = apply { + this.purchases = categoryDetails.purchases + this.cashAdvances = categoryDetails.cashAdvances + this.balanceTransfers = categoryDetails.balanceTransfers + additionalProperties(categoryDetails.additionalProperties) + } + + fun purchases(purchases: String) = purchases(JsonField.of(purchases)) + + @JsonProperty("purchases") + @ExcludeMissing + fun purchases(purchases: JsonField) = apply { this.purchases = purchases } + + fun cashAdvances(cashAdvances: String) = cashAdvances(JsonField.of(cashAdvances)) + + @JsonProperty("cash_advances") + @ExcludeMissing + fun cashAdvances(cashAdvances: JsonField) = apply { + this.cashAdvances = cashAdvances + } + + fun balanceTransfers(balanceTransfers: String) = + balanceTransfers(JsonField.of(balanceTransfers)) + + @JsonProperty("balance_transfers") + @ExcludeMissing + fun balanceTransfers(balanceTransfers: JsonField) = apply { + this.balanceTransfers = balanceTransfers + } + + fun additionalProperties(additionalProperties: Map) = apply { + this.additionalProperties.clear() + this.additionalProperties.putAll(additionalProperties) + } + + @JsonAnySetter + fun putAdditionalProperty(key: String, value: JsonValue) = apply { + this.additionalProperties.put(key, value) + } + + fun putAllAdditionalProperties(additionalProperties: Map) = + apply { + this.additionalProperties.putAll(additionalProperties) + } + + fun build(): CategoryDetails = + CategoryDetails( + purchases, + cashAdvances, + balanceTransfers, + additionalProperties.toImmutable(), + ) + } + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return /* spotless:off */ other is CategoryDetails && this.purchases == other.purchases && this.cashAdvances == other.cashAdvances && this.balanceTransfers == other.balanceTransfers && this.additionalProperties == other.additionalProperties /* spotless:on */ + } + + private var hashCode: Int = 0 + + override fun hashCode(): Int { + if (hashCode == 0) { + hashCode = /* spotless:off */ Objects.hash(purchases, cashAdvances, balanceTransfers, additionalProperties) /* spotless:on */ + } + return hashCode + } + + override fun toString() = + "CategoryDetails{purchases=$purchases, cashAdvances=$cashAdvances, balanceTransfers=$balanceTransfers, additionalProperties=$additionalProperties}" + } + + class InterestCalculationMethod + @JsonCreator + private constructor( + private val value: JsonField, + ) : Enum { + + @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return /* spotless:off */ other is InterestCalculationMethod && this.value == other.value /* spotless:on */ + } + + override fun hashCode() = value.hashCode() + + override fun toString() = value.toString() + + companion object { + + val DAILY = InterestCalculationMethod(JsonField.of("DAILY")) + + val AVERAGE_DAILY = InterestCalculationMethod(JsonField.of("AVERAGE_DAILY")) + + fun of(value: String) = InterestCalculationMethod(JsonField.of(value)) + } + + enum class Known { + DAILY, + AVERAGE_DAILY, + } + + enum class Value { + DAILY, + AVERAGE_DAILY, + _UNKNOWN, + } + + fun value(): Value = + when (this) { + DAILY -> Value.DAILY + AVERAGE_DAILY -> Value.AVERAGE_DAILY + else -> Value._UNKNOWN + } + + fun known(): Known = + when (this) { + DAILY -> Known.DAILY + AVERAGE_DAILY -> Known.AVERAGE_DAILY + else -> + throw LithicInvalidDataException( + "Unknown InterestCalculationMethod: $value" + ) + } + + fun asString(): String = _value().asStringOrThrow() + } + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return /* spotless:off */ other is InterestDetails && this.primeRate == other.primeRate && this.interestCalculationMethod == other.interestCalculationMethod && this.effectiveApr == other.effectiveApr && this.interestForPeriod == other.interestForPeriod && this.dailyBalanceAmounts == other.dailyBalanceAmounts && this.minimumInterestCharged == other.minimumInterestCharged && this.actualInterestCharged == other.actualInterestCharged && this.additionalProperties == other.additionalProperties /* spotless:on */ + } + + private var hashCode: Int = 0 + + override fun hashCode(): Int { + if (hashCode == 0) { + hashCode = /* spotless:off */ Objects.hash(primeRate, interestCalculationMethod, effectiveApr, interestForPeriod, dailyBalanceAmounts, minimumInterestCharged, actualInterestCharged, additionalProperties) /* spotless:on */ + } + return hashCode + } + + override fun toString() = + "InterestDetails{primeRate=$primeRate, interestCalculationMethod=$interestCalculationMethod, effectiveApr=$effectiveApr, interestForPeriod=$interestForPeriod, dailyBalanceAmounts=$dailyBalanceAmounts, minimumInterestCharged=$minimumInterestCharged, actualInterestCharged=$actualInterestCharged, additionalProperties=$additionalProperties}" + } + @JsonDeserialize(builder = BalanceDetails.Builder::class) @NoAutoDetect class BalanceDetails @@ -1415,7 +1835,7 @@ private constructor( BalanceDetails( amount, remaining, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1535,7 +1955,7 @@ private constructor( interest, principal, fees, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1565,18 +1985,18 @@ private constructor( return true } - return /* spotless:off */ other is LoanTape && this.token == other.token && this.financialAccountToken == other.financialAccountToken && this.date == other.date && this.created == other.created && this.updated == other.updated && this.version == other.version && this.ytdTotals == other.ytdTotals && this.periodTotals == other.periodTotals && this.dayTotals == other.dayTotals && this.balances == other.balances && this.startingBalance == other.startingBalance && this.endingBalance == other.endingBalance && this.creditLimit == other.creditLimit && this.availableCredit == other.availableCredit && this.excessCredits == other.excessCredits && this.accountStanding == other.accountStanding && this.creditProductToken == other.creditProductToken && this.tier == other.tier && this.paymentAllocation == other.paymentAllocation && this.minimumPaymentBalance == other.minimumPaymentBalance && this.previousStatementBalance == other.previousStatementBalance && this.additionalProperties == other.additionalProperties /* spotless:on */ + return /* spotless:off */ other is LoanTape && this.token == other.token && this.financialAccountToken == other.financialAccountToken && this.date == other.date && this.created == other.created && this.updated == other.updated && this.version == other.version && this.ytdTotals == other.ytdTotals && this.periodTotals == other.periodTotals && this.dayTotals == other.dayTotals && this.balances == other.balances && this.startingBalance == other.startingBalance && this.endingBalance == other.endingBalance && this.creditLimit == other.creditLimit && this.availableCredit == other.availableCredit && this.excessCredits == other.excessCredits && this.accountStanding == other.accountStanding && this.creditProductToken == other.creditProductToken && this.tier == other.tier && this.paymentAllocation == other.paymentAllocation && this.minimumPaymentBalance == other.minimumPaymentBalance && this.previousStatementBalance == other.previousStatementBalance && this.interestDetails == other.interestDetails && this.additionalProperties == other.additionalProperties /* spotless:on */ } private var hashCode: Int = 0 override fun hashCode(): Int { if (hashCode == 0) { - hashCode = /* spotless:off */ Objects.hash(token, financialAccountToken, date, created, updated, version, ytdTotals, periodTotals, dayTotals, balances, startingBalance, endingBalance, creditLimit, availableCredit, excessCredits, accountStanding, creditProductToken, tier, paymentAllocation, minimumPaymentBalance, previousStatementBalance, additionalProperties) /* spotless:on */ + hashCode = /* spotless:off */ Objects.hash(token, financialAccountToken, date, created, updated, version, ytdTotals, periodTotals, dayTotals, balances, startingBalance, endingBalance, creditLimit, availableCredit, excessCredits, accountStanding, creditProductToken, tier, paymentAllocation, minimumPaymentBalance, previousStatementBalance, interestDetails, additionalProperties) /* spotless:on */ } return hashCode } override fun toString() = - "LoanTape{token=$token, financialAccountToken=$financialAccountToken, date=$date, created=$created, updated=$updated, version=$version, ytdTotals=$ytdTotals, periodTotals=$periodTotals, dayTotals=$dayTotals, balances=$balances, startingBalance=$startingBalance, endingBalance=$endingBalance, creditLimit=$creditLimit, availableCredit=$availableCredit, excessCredits=$excessCredits, accountStanding=$accountStanding, creditProductToken=$creditProductToken, tier=$tier, paymentAllocation=$paymentAllocation, minimumPaymentBalance=$minimumPaymentBalance, previousStatementBalance=$previousStatementBalance, additionalProperties=$additionalProperties}" + "LoanTape{token=$token, financialAccountToken=$financialAccountToken, date=$date, created=$created, updated=$updated, version=$version, ytdTotals=$ytdTotals, periodTotals=$periodTotals, dayTotals=$dayTotals, balances=$balances, startingBalance=$startingBalance, endingBalance=$endingBalance, creditLimit=$creditLimit, availableCredit=$availableCredit, excessCredits=$excessCredits, accountStanding=$accountStanding, creditProductToken=$creditProductToken, tier=$tier, paymentAllocation=$paymentAllocation, minimumPaymentBalance=$minimumPaymentBalance, previousStatementBalance=$previousStatementBalance, interestDetails=$interestDetails, additionalProperties=$additionalProperties}" } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationCreateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationCreateParams.kt index 4a1ac88e..8db0cbb5 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationCreateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationCreateParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.LocalDate @@ -215,7 +215,7 @@ constructor( memo, subtype, userDefinedId, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -396,9 +396,9 @@ constructor( memo, subtype, userDefinedId, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationListPage.kt index c573d8bd..c1111bc0 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.ManagementOperationService import java.util.Objects @@ -171,7 +171,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationListPageAsync.kt index bb43674d..c58cc46d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.ManagementOperationServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -173,7 +173,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationListParams.kt index d122dbec..fb09f659 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationListParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.OffsetDateTime @@ -67,7 +67,7 @@ constructor( this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } this.status?.let { params.put("status", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -223,8 +223,8 @@ constructor( pageSize, startingAfter, status, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationRetrieveParams.kt index 8442d2be..d34ad760 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -117,8 +117,8 @@ constructor( checkNotNull(managementOperationToken) { "`managementOperationToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationReverseParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationReverseParams.kt index 99ae118b..f3b42e56 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationReverseParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationReverseParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.LocalDate import java.util.Objects @@ -111,7 +111,7 @@ constructor( ManagementOperationReverseBody( checkNotNull(effectiveDate) { "`effectiveDate` is required but was not set" }, memo, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -254,9 +254,9 @@ constructor( }, checkNotNull(effectiveDate) { "`effectiveDate` is required but was not set" }, memo, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationTransaction.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationTransaction.kt index cadbb964..ea6136c9 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationTransaction.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ManagementOperationTransaction.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.LocalDate import java.time.OffsetDateTime @@ -276,13 +276,13 @@ private constructor( settledAmount, pendingAmount, currency, - events.map { it.toUnmodifiable() }, + events.map { it.toImmutable() }, created, updated, userDefinedId, financialAccountToken, direction, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -601,12 +601,12 @@ private constructor( type, subtype, result, - detailedResults.map { it.toUnmodifiable() }, + detailedResults.map { it.toImmutable() }, created, token, memo, effectiveDate, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/MessageAttempt.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/MessageAttempt.kt index 70462232..62846f90 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/MessageAttempt.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/MessageAttempt.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -244,7 +244,7 @@ private constructor( status, token, url, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/MicroDepositCreateResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/MicroDepositCreateResponse.kt index 16891332..3a00f31f 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/MicroDepositCreateResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/MicroDepositCreateResponse.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.LocalDate import java.time.OffsetDateTime @@ -600,7 +600,7 @@ private constructor( state, verificationState, address, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Payment.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Payment.kt index 2f776be4..47386f33 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Payment.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Payment.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -456,7 +456,7 @@ private constructor( created, currency, descriptor, - events.map { it.toUnmodifiable() }, + events.map { it.toImmutable() }, pendingAmount, result, settledAmount, @@ -470,7 +470,7 @@ private constructor( methodAttributes, source, userDefinedId, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -836,11 +836,11 @@ private constructor( PaymentEvent( amount, created, - detailedResults.map { it.toUnmodifiable() }, + detailedResults.map { it.toImmutable() }, result, token, type, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1326,8 +1326,8 @@ private constructor( retries, returnReasonCode, secCode, - traceNumbers.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable(), + traceNumbers.map { it.toImmutable() }, + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentCreateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentCreateParams.kt index 4b1d592a..e9c2179f 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentCreateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentCreateParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -211,7 +211,7 @@ constructor( token, memo, userDefinedId, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -392,9 +392,9 @@ constructor( token, memo, userDefinedId, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } @@ -507,7 +507,7 @@ constructor( fun build(): PaymentMethodRequestAttributes = PaymentMethodRequestAttributes( checkNotNull(secCode) { "`secCode` is required but was not set" }, - additionalProperties.toUnmodifiable() + additionalProperties.toImmutable() ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentCreateResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentCreateResponse.kt index e94ffa52..20e46f50 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentCreateResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentCreateResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.time.OffsetDateTime import java.util.Objects @@ -495,7 +495,7 @@ private constructor( created, currency, descriptor, - events.map { it.toUnmodifiable() }, + events.map { it.toImmutable() }, pendingAmount, result, settledAmount, @@ -510,7 +510,7 @@ private constructor( source, userDefinedId, balance, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentListPage.kt index f4188a08..3588f8a8 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.PaymentService import java.util.Objects @@ -159,7 +159,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentListPageAsync.kt index 325d1af3..a97ec088 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.PaymentServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -165,7 +165,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentListParams.kt index a8539040..723110a8 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentListParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.OffsetDateTime @@ -75,7 +75,7 @@ constructor( this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } this.status?.let { params.put("status", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -235,8 +235,8 @@ constructor( result, startingAfter, status, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentRetrieveParams.kt index 98154e7b..312376c7 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -111,8 +111,8 @@ constructor( fun build(): PaymentRetrieveParams = PaymentRetrieveParams( checkNotNull(paymentToken) { "`paymentToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentRetryParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentRetryParams.kt index 34a1a07b..6901cde7 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentRetryParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentRetryParams.kt @@ -4,7 +4,7 @@ package com.lithic.api.models import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -135,9 +135,9 @@ constructor( fun build(): PaymentRetryParams = PaymentRetryParams( checkNotNull(paymentToken) { "`paymentToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentRetryResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentRetryResponse.kt index a2c53f57..117b613b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentRetryResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentRetryResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.time.OffsetDateTime import java.util.Objects @@ -495,7 +495,7 @@ private constructor( created, currency, descriptor, - events.map { it.toUnmodifiable() }, + events.map { it.toImmutable() }, pendingAmount, result, settledAmount, @@ -510,7 +510,7 @@ private constructor( source, userDefinedId, balance, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateActionParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateActionParams.kt index c30b07e3..a6a96178 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateActionParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateActionParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -138,7 +138,7 @@ constructor( checkNotNull(eventType) { "`eventType` is required but was not set" }, declineReason, returnReasonCode, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -287,9 +287,9 @@ constructor( checkNotNull(eventType) { "`eventType` is required but was not set" }, declineReason, returnReasonCode, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateActionResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateActionResponse.kt index 1cc77c7d..d00826ab 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateActionResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateActionResponse.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -135,7 +135,7 @@ private constructor( result, transactionEventToken, debuggingRequestId, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReceiptParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReceiptParams.kt index daae2d0c..359cbf43 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReceiptParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReceiptParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -153,7 +153,7 @@ constructor( }, checkNotNull(receiptType) { "`receiptType` is required but was not set" }, memo, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -309,9 +309,9 @@ constructor( }, checkNotNull(receiptType) { "`receiptType` is required but was not set" }, memo, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReceiptResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReceiptResponse.kt index 5cfa68f5..cd9e4a41 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReceiptResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReceiptResponse.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -135,7 +135,7 @@ private constructor( result, transactionEventToken, debuggingRequestId, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReleaseParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReleaseParams.kt index 70c9464c..30308ed2 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReleaseParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReleaseParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -84,7 +84,7 @@ constructor( fun build(): PaymentSimulateReleaseBody = PaymentSimulateReleaseBody( checkNotNull(paymentToken) { "`paymentToken` is required but was not set" }, - additionalProperties.toUnmodifiable() + additionalProperties.toImmutable() ) } @@ -212,9 +212,9 @@ constructor( fun build(): PaymentSimulateReleaseParams = PaymentSimulateReleaseParams( checkNotNull(paymentToken) { "`paymentToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReleaseResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReleaseResponse.kt index d0c903f6..c047ff4f 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReleaseResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReleaseResponse.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -135,7 +135,7 @@ private constructor( result, transactionEventToken, debuggingRequestId, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReturnParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReturnParams.kt index cf81f8e8..363ef763 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReturnParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReturnParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -104,7 +104,7 @@ constructor( PaymentSimulateReturnBody( checkNotNull(paymentToken) { "`paymentToken` is required but was not set" }, returnReasonCode, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -240,9 +240,9 @@ constructor( PaymentSimulateReturnParams( checkNotNull(paymentToken) { "`paymentToken` is required but was not set" }, returnReasonCode, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReturnResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReturnResponse.kt index ae871713..f46bdb26 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReturnResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/PaymentSimulateReturnResponse.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -135,7 +135,7 @@ private constructor( result, transactionEventToken, debuggingRequestId, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ReportSettlementListDetailsPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ReportSettlementListDetailsPage.kt index 8985936a..6cb5d275 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ReportSettlementListDetailsPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ReportSettlementListDetailsPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.reports.SettlementService import java.util.Objects @@ -169,7 +169,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ReportSettlementListDetailsPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ReportSettlementListDetailsPageAsync.kt index ea150a03..2a09ba30 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ReportSettlementListDetailsPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ReportSettlementListDetailsPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.reports.SettlementServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -171,7 +171,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ReportSettlementListDetailsParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ReportSettlementListDetailsParams.kt index ae55fe88..347d6471 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ReportSettlementListDetailsParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ReportSettlementListDetailsParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.LocalDate import java.util.Objects @@ -32,7 +32,7 @@ constructor( this.pageSize?.let { params.put("page_size", listOf(it.toString())) } this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -153,8 +153,8 @@ constructor( endingBefore, pageSize, startingAfter, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ReportSettlementSummaryParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ReportSettlementSummaryParams.kt index dcddfd86..8f49db5e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ReportSettlementSummaryParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ReportSettlementSummaryParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.time.LocalDate import java.util.Objects @@ -112,8 +112,8 @@ constructor( fun build(): ReportSettlementSummaryParams = ReportSettlementSummaryParams( checkNotNull(reportDate) { "`reportDate` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/RequiredDocument.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/RequiredDocument.kt index 61f7ecc3..0f772477 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/RequiredDocument.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/RequiredDocument.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = RequiredDocument.Builder::class) @@ -144,9 +144,9 @@ private constructor( fun build(): RequiredDocument = RequiredDocument( entityToken, - validDocuments.map { it.toUnmodifiable() }, - statusReasons.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable(), + validDocuments.map { it.toImmutable() }, + statusReasons.map { it.toImmutable() }, + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointCheckStatusParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointCheckStatusParams.kt index a33f3fad..32500bac 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointCheckStatusParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointCheckStatusParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -25,7 +25,7 @@ constructor( val params = mutableMapOf>() this.type.let { params.put("type", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -116,8 +116,8 @@ constructor( fun build(): ResponderEndpointCheckStatusParams = ResponderEndpointCheckStatusParams( checkNotNull(type) { "`type` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointCreateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointCreateParams.kt index 345a60ca..06ace980 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointCreateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointCreateParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -104,7 +104,7 @@ constructor( ResponderEndpointCreateBody( type, url, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -238,9 +238,9 @@ constructor( ResponderEndpointCreateParams( type, url, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointCreateResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointCreateResponse.kt index a7cbd3ec..3c1193c2 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointCreateResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointCreateResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = ResponderEndpointCreateResponse.Builder::class) @@ -82,7 +82,7 @@ private constructor( } fun build(): ResponderEndpointCreateResponse = - ResponderEndpointCreateResponse(enrolled, additionalProperties.toUnmodifiable()) + ResponderEndpointCreateResponse(enrolled, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointDeleteParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointDeleteParams.kt index 9af294d1..8adbab31 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointDeleteParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointDeleteParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -30,7 +30,7 @@ constructor( val params = mutableMapOf>() this.type.let { params.put("type", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -138,9 +138,9 @@ constructor( fun build(): ResponderEndpointDeleteParams = ResponderEndpointDeleteParams( checkNotNull(type) { "`type` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointStatus.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointStatus.kt index 2f30ea8c..584cef17 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointStatus.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ResponderEndpointStatus.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = ResponderEndpointStatus.Builder::class) @@ -102,7 +102,7 @@ private constructor( ResponderEndpointStatus( enrolled, url, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/SettlementDetail.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/SettlementDetail.kt index b3b71035..81e4f117 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/SettlementDetail.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/SettlementDetail.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -514,7 +514,7 @@ private constructor( created, currency, disputesGrossAmount, - eventTokens.map { it.toUnmodifiable() }, + eventTokens.map { it.toImmutable() }, institution, interchangeFeeExtendedPrecision, interchangeGrossAmount, @@ -528,7 +528,7 @@ private constructor( transactionsGrossAmount, type, updated, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -671,7 +671,7 @@ private constructor( } fun build(): OtherFeesDetails = - OtherFeesDetails(isa, additionalProperties.toUnmodifiable()) + OtherFeesDetails(isa, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/SettlementReport.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/SettlementReport.kt index 4f7a9fc9..457667f0 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/SettlementReport.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/SettlementReport.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.time.OffsetDateTime import java.util.Objects @@ -388,7 +388,7 @@ private constructor( SettlementReport( created, currency, - details.map { it.toUnmodifiable() }, + details.map { it.toImmutable() }, disputesGrossAmount, interchangeGrossAmount, isComplete, @@ -397,7 +397,7 @@ private constructor( settledNetAmount, transactionsGrossAmount, updated, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/SettlementSummaryDetails.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/SettlementSummaryDetails.kt index 4fba672d..cc01a3f4 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/SettlementSummaryDetails.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/SettlementSummaryDetails.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -270,7 +270,7 @@ private constructor( otherFeesGrossAmount, settledNetAmount, transactionsGrossAmount, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ShippingAddress.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ShippingAddress.kt index f91a0796..dd6ed41c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ShippingAddress.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ShippingAddress.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = ShippingAddress.Builder::class) @@ -357,7 +357,7 @@ private constructor( phoneNumber, postalCode, state, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Statement.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Statement.kt index 2e1d8f97..c4c5eb6c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Statement.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Statement.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.LocalDate import java.time.OffsetDateTime @@ -509,7 +509,7 @@ private constructor( amountDue, interestDetails, statementType, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -716,7 +716,7 @@ private constructor( consecutiveFullPaymentsMade, daysPastDue, hasGrace, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -912,7 +912,7 @@ private constructor( AmountDue( amount, pastDue, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1137,7 +1137,7 @@ private constructor( interest, cashAdvances, balanceTransfers, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1251,8 +1251,8 @@ private constructor( fun minimumInterestCharged(): Long? = minimumInterestCharged.getNullable("minimum_interest_charged") - fun actualInterestCharged(): Long = - actualInterestCharged.getRequired("actual_interest_charged") + fun actualInterestCharged(): Long? = + actualInterestCharged.getNullable("actual_interest_charged") @JsonProperty("prime_rate") @ExcludeMissing fun _primeRate() = primeRate @@ -1408,7 +1408,7 @@ private constructor( dailyBalanceAmounts, minimumInterestCharged, actualInterestCharged, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1515,7 +1515,7 @@ private constructor( purchases, cashAdvances, balanceTransfers, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/StatementLineItems.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/StatementLineItems.kt index 8a4caf90..25b618cb 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/StatementLineItems.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/StatementLineItems.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.LocalDate import java.time.OffsetDateTime @@ -97,9 +97,9 @@ private constructor( fun build(): StatementLineItems = StatementLineItems( - data.map { it.toUnmodifiable() }, + data.map { it.toImmutable() }, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -395,7 +395,7 @@ private constructor( amount, currency, created, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -567,8 +567,13 @@ private constructor( val BILLING_ERROR = FinancialEventType(JsonField.of("BILLING_ERROR")) + val BILLING_ERROR_REVERSAL = + FinancialEventType(JsonField.of("BILLING_ERROR_REVERSAL")) + val CASH_BACK = FinancialEventType(JsonField.of("CASH_BACK")) + val CASH_BACK_REVERSAL = FinancialEventType(JsonField.of("CASH_BACK_REVERSAL")) + val CLEARING = FinancialEventType(JsonField.of("CLEARING")) val CORRECTION_CREDIT = FinancialEventType(JsonField.of("CORRECTION_CREDIT")) @@ -582,6 +587,9 @@ private constructor( val CURRENCY_CONVERSION = FinancialEventType(JsonField.of("CURRENCY_CONVERSION")) + val CURRENCY_CONVERSION_REVERSAL = + FinancialEventType(JsonField.of("CURRENCY_CONVERSION_REVERSAL")) + val DISPUTE_WON = FinancialEventType(JsonField.of("DISPUTE_WON")) val EXTERNAL_ACH_CANCELED = @@ -651,10 +659,18 @@ private constructor( val INTEREST = FinancialEventType(JsonField.of("INTEREST")) + val INTEREST_REVERSAL = FinancialEventType(JsonField.of("INTEREST_REVERSAL")) + val LATE_PAYMENT = FinancialEventType(JsonField.of("LATE_PAYMENT")) + val LATE_PAYMENT_REVERSAL = + FinancialEventType(JsonField.of("LATE_PAYMENT_REVERSAL")) + val PROVISIONAL_CREDIT = FinancialEventType(JsonField.of("PROVISIONAL_CREDIT")) + val PROVISIONAL_CREDIT_REVERSAL = + FinancialEventType(JsonField.of("PROVISIONAL_CREDIT_REVERSAL")) + val RETURN = FinancialEventType(JsonField.of("RETURN")) val RETURN_REVERSAL = FinancialEventType(JsonField.of("RETURN_REVERSAL")) @@ -684,13 +700,16 @@ private constructor( AUTHORIZATION_REVERSAL, BALANCE_INQUIRY, BILLING_ERROR, + BILLING_ERROR_REVERSAL, CASH_BACK, + CASH_BACK_REVERSAL, CLEARING, CORRECTION_CREDIT, CORRECTION_DEBIT, CREDIT_AUTHORIZATION, CREDIT_AUTHORIZATION_ADVICE, CURRENCY_CONVERSION, + CURRENCY_CONVERSION_REVERSAL, DISPUTE_WON, EXTERNAL_ACH_CANCELED, EXTERNAL_ACH_INITIATED, @@ -715,8 +734,11 @@ private constructor( FINANCIAL_AUTHORIZATION, FINANCIAL_CREDIT_AUTHORIZATION, INTEREST, + INTEREST_REVERSAL, LATE_PAYMENT, + LATE_PAYMENT_REVERSAL, PROVISIONAL_CREDIT, + PROVISIONAL_CREDIT_REVERSAL, RETURN, RETURN_REVERSAL, TRANSFER, @@ -740,13 +762,16 @@ private constructor( AUTHORIZATION_REVERSAL, BALANCE_INQUIRY, BILLING_ERROR, + BILLING_ERROR_REVERSAL, CASH_BACK, + CASH_BACK_REVERSAL, CLEARING, CORRECTION_CREDIT, CORRECTION_DEBIT, CREDIT_AUTHORIZATION, CREDIT_AUTHORIZATION_ADVICE, CURRENCY_CONVERSION, + CURRENCY_CONVERSION_REVERSAL, DISPUTE_WON, EXTERNAL_ACH_CANCELED, EXTERNAL_ACH_INITIATED, @@ -771,8 +796,11 @@ private constructor( FINANCIAL_AUTHORIZATION, FINANCIAL_CREDIT_AUTHORIZATION, INTEREST, + INTEREST_REVERSAL, LATE_PAYMENT, + LATE_PAYMENT_REVERSAL, PROVISIONAL_CREDIT, + PROVISIONAL_CREDIT_REVERSAL, RETURN, RETURN_REVERSAL, TRANSFER, @@ -798,13 +826,16 @@ private constructor( AUTHORIZATION_REVERSAL -> Value.AUTHORIZATION_REVERSAL BALANCE_INQUIRY -> Value.BALANCE_INQUIRY BILLING_ERROR -> Value.BILLING_ERROR + BILLING_ERROR_REVERSAL -> Value.BILLING_ERROR_REVERSAL CASH_BACK -> Value.CASH_BACK + CASH_BACK_REVERSAL -> Value.CASH_BACK_REVERSAL CLEARING -> Value.CLEARING CORRECTION_CREDIT -> Value.CORRECTION_CREDIT CORRECTION_DEBIT -> Value.CORRECTION_DEBIT CREDIT_AUTHORIZATION -> Value.CREDIT_AUTHORIZATION CREDIT_AUTHORIZATION_ADVICE -> Value.CREDIT_AUTHORIZATION_ADVICE CURRENCY_CONVERSION -> Value.CURRENCY_CONVERSION + CURRENCY_CONVERSION_REVERSAL -> Value.CURRENCY_CONVERSION_REVERSAL DISPUTE_WON -> Value.DISPUTE_WON EXTERNAL_ACH_CANCELED -> Value.EXTERNAL_ACH_CANCELED EXTERNAL_ACH_INITIATED -> Value.EXTERNAL_ACH_INITIATED @@ -829,8 +860,11 @@ private constructor( FINANCIAL_AUTHORIZATION -> Value.FINANCIAL_AUTHORIZATION FINANCIAL_CREDIT_AUTHORIZATION -> Value.FINANCIAL_CREDIT_AUTHORIZATION INTEREST -> Value.INTEREST + INTEREST_REVERSAL -> Value.INTEREST_REVERSAL LATE_PAYMENT -> Value.LATE_PAYMENT + LATE_PAYMENT_REVERSAL -> Value.LATE_PAYMENT_REVERSAL PROVISIONAL_CREDIT -> Value.PROVISIONAL_CREDIT + PROVISIONAL_CREDIT_REVERSAL -> Value.PROVISIONAL_CREDIT_REVERSAL RETURN -> Value.RETURN RETURN_REVERSAL -> Value.RETURN_REVERSAL TRANSFER -> Value.TRANSFER @@ -856,13 +890,16 @@ private constructor( AUTHORIZATION_REVERSAL -> Known.AUTHORIZATION_REVERSAL BALANCE_INQUIRY -> Known.BALANCE_INQUIRY BILLING_ERROR -> Known.BILLING_ERROR + BILLING_ERROR_REVERSAL -> Known.BILLING_ERROR_REVERSAL CASH_BACK -> Known.CASH_BACK + CASH_BACK_REVERSAL -> Known.CASH_BACK_REVERSAL CLEARING -> Known.CLEARING CORRECTION_CREDIT -> Known.CORRECTION_CREDIT CORRECTION_DEBIT -> Known.CORRECTION_DEBIT CREDIT_AUTHORIZATION -> Known.CREDIT_AUTHORIZATION CREDIT_AUTHORIZATION_ADVICE -> Known.CREDIT_AUTHORIZATION_ADVICE CURRENCY_CONVERSION -> Known.CURRENCY_CONVERSION + CURRENCY_CONVERSION_REVERSAL -> Known.CURRENCY_CONVERSION_REVERSAL DISPUTE_WON -> Known.DISPUTE_WON EXTERNAL_ACH_CANCELED -> Known.EXTERNAL_ACH_CANCELED EXTERNAL_ACH_INITIATED -> Known.EXTERNAL_ACH_INITIATED @@ -887,8 +924,11 @@ private constructor( FINANCIAL_AUTHORIZATION -> Known.FINANCIAL_AUTHORIZATION FINANCIAL_CREDIT_AUTHORIZATION -> Known.FINANCIAL_CREDIT_AUTHORIZATION INTEREST -> Known.INTEREST + INTEREST_REVERSAL -> Known.INTEREST_REVERSAL LATE_PAYMENT -> Known.LATE_PAYMENT + LATE_PAYMENT_REVERSAL -> Known.LATE_PAYMENT_REVERSAL PROVISIONAL_CREDIT -> Known.PROVISIONAL_CREDIT + PROVISIONAL_CREDIT_REVERSAL -> Known.PROVISIONAL_CREDIT_REVERSAL RETURN -> Known.RETURN RETURN_REVERSAL -> Known.RETURN_REVERSAL TRANSFER -> Known.TRANSFER diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Statements.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Statements.kt index ebd3fb90..c42adf7d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Statements.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Statements.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = Statements.Builder::class) @@ -92,9 +92,9 @@ private constructor( fun build(): Statements = Statements( - data.map { it.toUnmodifiable() }, + data.map { it.toImmutable() }, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/SubscriptionRetrieveSecretResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/SubscriptionRetrieveSecretResponse.kt index 5fc764aa..cfebc871 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/SubscriptionRetrieveSecretResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/SubscriptionRetrieveSecretResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = SubscriptionRetrieveSecretResponse.Builder::class) @@ -82,7 +82,7 @@ private constructor( } fun build(): SubscriptionRetrieveSecretResponse = - SubscriptionRetrieveSecretResponse(secret, additionalProperties.toUnmodifiable()) + SubscriptionRetrieveSecretResponse(secret, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSAuthenticationRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSAuthenticationRetrieveParams.kt index 4201b9b3..b94fca64 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSAuthenticationRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSAuthenticationRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -118,8 +118,8 @@ constructor( checkNotNull(threeDSAuthenticationToken) { "`threeDSAuthenticationToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSAuthenticationSimulateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSAuthenticationSimulateParams.kt index 11439adc..ec1619cd 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSAuthenticationSimulateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSAuthenticationSimulateParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -141,7 +141,7 @@ constructor( checkNotNull(pan) { "`pan` is required but was not set" }, checkNotNull(transaction) { "`transaction` is required but was not set" }, cardExpiryCheck, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -292,9 +292,9 @@ constructor( checkNotNull(pan) { "`pan` is required but was not set" }, checkNotNull(transaction) { "`transaction` is required but was not set" }, cardExpiryCheck, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } @@ -399,7 +399,7 @@ constructor( checkNotNull(id) { "`id` is required but was not set" }, checkNotNull(mcc) { "`mcc` is required but was not set" }, checkNotNull(name) { "`name` is required but was not set" }, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -487,7 +487,7 @@ constructor( Transaction( checkNotNull(amount) { "`amount` is required but was not set" }, checkNotNull(currency) { "`currency` is required but was not set" }, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningChallengeResponseParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningChallengeResponseParams.kt index faee4e30..db265c5d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningChallengeResponseParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningChallengeResponseParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -116,7 +116,7 @@ constructor( checkNotNull(challengeResponse) { "`challengeResponse` is required but was not set" }, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -262,9 +262,9 @@ constructor( checkNotNull(challengeResponse) { "`challengeResponse` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningRetrieveSecretParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningRetrieveSecretParams.kt index 7995348d..803c9790 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningRetrieveSecretParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningRetrieveSecretParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -98,8 +98,8 @@ constructor( fun build(): ThreeDSDecisioningRetrieveSecretParams = ThreeDSDecisioningRetrieveSecretParams( - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable() + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable() ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningRotateSecretParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningRotateSecretParams.kt index c0721a4d..b5fcc686 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningRotateSecretParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningRotateSecretParams.kt @@ -4,7 +4,7 @@ package com.lithic.api.models import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -122,9 +122,9 @@ constructor( fun build(): ThreeDSDecisioningRotateSecretParams = ThreeDSDecisioningRotateSecretParams( - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningSimulateChallengeParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningSimulateChallengeParams.kt index c6bd36d1..1d817419 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningSimulateChallengeParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningSimulateChallengeParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -89,10 +89,7 @@ constructor( } fun build(): ThreeDSDecisioningSimulateChallengeBody = - ThreeDSDecisioningSimulateChallengeBody( - token, - additionalProperties.toUnmodifiable() - ) + ThreeDSDecisioningSimulateChallengeBody(token, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { @@ -226,9 +223,9 @@ constructor( fun build(): ThreeDSDecisioningSimulateChallengeParams = ThreeDSDecisioningSimulateChallengeParams( token, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningSimulateChallengeResponseParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningSimulateChallengeResponseParams.kt index e87de982..1b6f87bb 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningSimulateChallengeResponseParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/ThreeDSDecisioningSimulateChallengeResponseParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -120,7 +120,7 @@ constructor( checkNotNull(challengeResponse) { "`challengeResponse` is required but was not set" }, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -270,9 +270,9 @@ constructor( checkNotNull(challengeResponse) { "`challengeResponse` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Tokenization.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Tokenization.kt index bca1eac4..28dbe701 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Tokenization.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Tokenization.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -312,14 +312,14 @@ private constructor( cardToken, createdAt, digitalCardArtToken, - events.map { it.toUnmodifiable() }, + events.map { it.toImmutable() }, status, token, tokenRequestorName, tokenUniqueReference, tokenizationChannel, updatedAt, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -706,7 +706,7 @@ private constructor( result, token, type, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationActivateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationActivateParams.kt index fa9db446..feb1fef8 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationActivateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationActivateParams.kt @@ -4,7 +4,7 @@ package com.lithic.api.models import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -139,9 +139,9 @@ constructor( checkNotNull(tokenizationToken) { "`tokenizationToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationDeactivateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationDeactivateParams.kt index 167f656f..44a3eb38 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationDeactivateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationDeactivateParams.kt @@ -4,7 +4,7 @@ package com.lithic.api.models import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -139,9 +139,9 @@ constructor( checkNotNull(tokenizationToken) { "`tokenizationToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationDecisioningRetrieveSecretParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationDecisioningRetrieveSecretParams.kt index 395999e5..65ce599a 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationDecisioningRetrieveSecretParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationDecisioningRetrieveSecretParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -98,8 +98,8 @@ constructor( fun build(): TokenizationDecisioningRetrieveSecretParams = TokenizationDecisioningRetrieveSecretParams( - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable() + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable() ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationDecisioningRotateSecretParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationDecisioningRotateSecretParams.kt index 175ac87f..948796b2 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationDecisioningRotateSecretParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationDecisioningRotateSecretParams.kt @@ -4,7 +4,7 @@ package com.lithic.api.models import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -124,9 +124,9 @@ constructor( fun build(): TokenizationDecisioningRotateSecretParams = TokenizationDecisioningRotateSecretParams( - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationDecisioningRotateSecretResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationDecisioningRotateSecretResponse.kt index 20bd57f0..86897ac9 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationDecisioningRotateSecretResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationDecisioningRotateSecretResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = TokenizationDecisioningRotateSecretResponse.Builder::class) @@ -83,10 +83,7 @@ private constructor( } fun build(): TokenizationDecisioningRotateSecretResponse = - TokenizationDecisioningRotateSecretResponse( - secret, - additionalProperties.toUnmodifiable() - ) + TokenizationDecisioningRotateSecretResponse(secret, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationListPage.kt index e668ebd4..6e5a411a 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.TokenizationService import java.util.Objects @@ -169,7 +169,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationListPageAsync.kt index ed84ba67..d9b14b1c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.TokenizationServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -171,7 +171,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationListParams.kt index d70f0ed3..383a8a79 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationListParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.LocalDate @@ -54,7 +54,7 @@ constructor( this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } this.tokenizationChannel?.let { params.put("tokenization_channel", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -197,8 +197,8 @@ constructor( pageSize, startingAfter, tokenizationChannel, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationPauseParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationPauseParams.kt index 1a387038..a828b4e9 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationPauseParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationPauseParams.kt @@ -4,7 +4,7 @@ package com.lithic.api.models import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -139,9 +139,9 @@ constructor( checkNotNull(tokenizationToken) { "`tokenizationToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationResendActivationCodeParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationResendActivationCodeParams.kt index 936ccc71..be4afa52 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationResendActivationCodeParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationResendActivationCodeParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -112,7 +112,7 @@ constructor( fun build(): TokenizationResendActivationCodeBody = TokenizationResendActivationCodeBody( activationMethodType, - additionalProperties.toUnmodifiable() + additionalProperties.toImmutable() ) } @@ -259,9 +259,9 @@ constructor( "`tokenizationToken` is required but was not set" }, activationMethodType, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationRetrieveParams.kt index b735ff82..17f2281b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -115,8 +115,8 @@ constructor( checkNotNull(tokenizationToken) { "`tokenizationToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationRetrieveResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationRetrieveResponse.kt index 6f958ccb..7c635b9e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationRetrieveResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationRetrieveResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = TokenizationRetrieveResponse.Builder::class) @@ -77,7 +77,7 @@ private constructor( } fun build(): TokenizationRetrieveResponse = - TokenizationRetrieveResponse(data, additionalProperties.toUnmodifiable()) + TokenizationRetrieveResponse(data, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationSecret.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationSecret.kt index 890ae644..4688cf5f 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationSecret.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationSecret.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = TokenizationSecret.Builder::class) @@ -81,7 +81,7 @@ private constructor( } fun build(): TokenizationSecret = - TokenizationSecret(secret, additionalProperties.toUnmodifiable()) + TokenizationSecret(secret, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationSimulateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationSimulateParams.kt index 9b55168c..4809d9ba 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationSimulateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationSimulateParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -222,7 +222,7 @@ constructor( deviceScore, entity, walletRecommendedDecision, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -408,9 +408,9 @@ constructor( deviceScore, entity, walletRecommendedDecision, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationSimulateResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationSimulateResponse.kt index 75964ebf..aefefc78 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationSimulateResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationSimulateResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = TokenizationSimulateResponse.Builder::class) @@ -78,8 +78,8 @@ private constructor( fun build(): TokenizationSimulateResponse = TokenizationSimulateResponse( - data.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + data.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationUnpauseParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationUnpauseParams.kt index a6e9a392..8e942c10 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationUnpauseParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationUnpauseParams.kt @@ -4,7 +4,7 @@ package com.lithic.api.models import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -139,9 +139,9 @@ constructor( checkNotNull(tokenizationToken) { "`tokenizationToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationUpdateDigitalCardArtParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationUpdateDigitalCardArtParams.kt index 2bef2609..8b01fda7 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationUpdateDigitalCardArtParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationUpdateDigitalCardArtParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -109,7 +109,7 @@ constructor( fun build(): TokenizationUpdateDigitalCardArtBody = TokenizationUpdateDigitalCardArtBody( digitalCardArtToken, - additionalProperties.toUnmodifiable() + additionalProperties.toImmutable() ) } @@ -257,9 +257,9 @@ constructor( "`tokenizationToken` is required but was not set" }, digitalCardArtToken, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationUpdateDigitalCardArtResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationUpdateDigitalCardArtResponse.kt index ca2505f9..66d34c57 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationUpdateDigitalCardArtResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TokenizationUpdateDigitalCardArtResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = TokenizationUpdateDigitalCardArtResponse.Builder::class) @@ -79,7 +79,7 @@ private constructor( } fun build(): TokenizationUpdateDigitalCardArtResponse = - TokenizationUpdateDigitalCardArtResponse(data, additionalProperties.toUnmodifiable()) + TokenizationUpdateDigitalCardArtResponse(data, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Transaction.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Transaction.kt index 8d378096..e1c42fcf 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Transaction.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Transaction.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -40,7 +40,7 @@ private constructor( private val merchantCurrency: JsonField, private val network: JsonField, private val networkRiskScore: JsonField, - private val result: JsonField, + private val result: JsonField, private val pos: JsonField, private val settledAmount: JsonField, private val status: JsonField, @@ -70,17 +70,15 @@ private constructor( fun accountToken(): String = accountToken.getRequired("account_token") /** - * Authorization amount of the transaction (in cents), including any acquirer fees. This may - * change over time, and will represent the settled amount once the transaction is settled. + * When the transaction is pending, this represents the authorization amount of the transaction + * in the anticipated settlement currency. Once the transaction has settled, this field + * represents the settled amount in the settlement currency. */ fun amount(): Long = amount.getRequired("amount") fun amounts(): TransactionAmounts = amounts.getRequired("amounts") - /** - * Authorization amount (in cents) of the transaction, including any acquirer fees. This amount - * always represents the amount authorized for the transaction, unaffected by settlement. - */ + /** The authorization amount of the transaction in the anticipated settlement currency. */ fun authorizationAmount(): Long? = authorizationAmount.getNullable("authorization_amount") /** @@ -104,16 +102,10 @@ private constructor( fun merchant(): Merchant = merchant.getRequired("merchant") - /** - * Analogous to the 'amount' property, but will represent the amount in the transaction's local - * currency (smallest unit), including any acquirer fees. - */ + /** Analogous to the 'amount', but in the merchant currency. */ fun merchantAmount(): Long? = merchantAmount.getNullable("merchant_amount") - /** - * Analogous to the 'authorization_amount' property, but will represent the amount in the - * transaction's local currency (smallest unit), including any acquirer fees. - */ + /** Analogous to the 'authorization_amount', but in the merchant currency. */ fun merchantAuthorizationAmount(): Long? = merchantAuthorizationAmount.getNullable("merchant_authorization_amount") @@ -135,15 +127,11 @@ private constructor( */ fun networkRiskScore(): Long? = networkRiskScore.getNullable("network_risk_score") - /** `APPROVED` or decline reason. See Event result types */ - fun result(): Result = result.getRequired("result") + fun result(): DeclineResult = result.getRequired("result") fun pos(): Pos = pos.getRequired("pos") - /** - * Amount of the transaction that has been settled (in cents), including any acquirer fees. This - * may change over time. - */ + /** The settled amount of the transaction in the settlement currency. */ fun settledAmount(): Long = settledAmount.getRequired("settled_amount") /** Status of the transaction. */ @@ -176,17 +164,15 @@ private constructor( @JsonProperty("account_token") @ExcludeMissing fun _accountToken() = accountToken /** - * Authorization amount of the transaction (in cents), including any acquirer fees. This may - * change over time, and will represent the settled amount once the transaction is settled. + * When the transaction is pending, this represents the authorization amount of the transaction + * in the anticipated settlement currency. Once the transaction has settled, this field + * represents the settled amount in the settlement currency. */ @JsonProperty("amount") @ExcludeMissing fun _amount() = amount @JsonProperty("amounts") @ExcludeMissing fun _amounts() = amounts - /** - * Authorization amount (in cents) of the transaction, including any acquirer fees. This amount - * always represents the amount authorized for the transaction, unaffected by settlement. - */ + /** The authorization amount of the transaction in the anticipated settlement currency. */ @JsonProperty("authorization_amount") @ExcludeMissing fun _authorizationAmount() = authorizationAmount @@ -213,16 +199,10 @@ private constructor( @JsonProperty("merchant") @ExcludeMissing fun _merchant() = merchant - /** - * Analogous to the 'amount' property, but will represent the amount in the transaction's local - * currency (smallest unit), including any acquirer fees. - */ + /** Analogous to the 'amount', but in the merchant currency. */ @JsonProperty("merchant_amount") @ExcludeMissing fun _merchantAmount() = merchantAmount - /** - * Analogous to the 'authorization_amount' property, but will represent the amount in the - * transaction's local currency (smallest unit), including any acquirer fees. - */ + /** Analogous to the 'authorization_amount', but in the merchant currency. */ @JsonProperty("merchant_authorization_amount") @ExcludeMissing fun _merchantAuthorizationAmount() = merchantAuthorizationAmount @@ -245,15 +225,11 @@ private constructor( */ @JsonProperty("network_risk_score") @ExcludeMissing fun _networkRiskScore() = networkRiskScore - /** `APPROVED` or decline reason. See Event result types */ @JsonProperty("result") @ExcludeMissing fun _result() = result @JsonProperty("pos") @ExcludeMissing fun _pos() = pos - /** - * Amount of the transaction that has been settled (in cents), including any acquirer fees. This - * may change over time. - */ + /** The settled amount of the transaction in the settlement currency. */ @JsonProperty("settled_amount") @ExcludeMissing fun _settledAmount() = settledAmount /** Status of the transaction. */ @@ -329,7 +305,7 @@ private constructor( private var merchantCurrency: JsonField = JsonMissing.of() private var network: JsonField = JsonMissing.of() private var networkRiskScore: JsonField = JsonMissing.of() - private var result: JsonField = JsonMissing.of() + private var result: JsonField = JsonMissing.of() private var pos: JsonField = JsonMissing.of() private var settledAmount: JsonField = JsonMissing.of() private var status: JsonField = JsonMissing.of() @@ -411,14 +387,16 @@ private constructor( } /** - * Authorization amount of the transaction (in cents), including any acquirer fees. This may - * change over time, and will represent the settled amount once the transaction is settled. + * When the transaction is pending, this represents the authorization amount of the + * transaction in the anticipated settlement currency. Once the transaction has settled, + * this field represents the settled amount in the settlement currency. */ fun amount(amount: Long) = amount(JsonField.of(amount)) /** - * Authorization amount of the transaction (in cents), including any acquirer fees. This may - * change over time, and will represent the settled amount once the transaction is settled. + * When the transaction is pending, this represents the authorization amount of the + * transaction in the anticipated settlement currency. Once the transaction has settled, + * this field represents the settled amount in the settlement currency. */ @JsonProperty("amount") @ExcludeMissing @@ -430,19 +408,11 @@ private constructor( @ExcludeMissing fun amounts(amounts: JsonField) = apply { this.amounts = amounts } - /** - * Authorization amount (in cents) of the transaction, including any acquirer fees. This - * amount always represents the amount authorized for the transaction, unaffected by - * settlement. - */ + /** The authorization amount of the transaction in the anticipated settlement currency. */ fun authorizationAmount(authorizationAmount: Long) = authorizationAmount(JsonField.of(authorizationAmount)) - /** - * Authorization amount (in cents) of the transaction, including any acquirer fees. This - * amount always represents the amount authorized for the transaction, unaffected by - * settlement. - */ + /** The authorization amount of the transaction in the anticipated settlement currency. */ @JsonProperty("authorization_amount") @ExcludeMissing fun authorizationAmount(authorizationAmount: JsonField) = apply { @@ -507,33 +477,21 @@ private constructor( @ExcludeMissing fun merchant(merchant: JsonField) = apply { this.merchant = merchant } - /** - * Analogous to the 'amount' property, but will represent the amount in the transaction's - * local currency (smallest unit), including any acquirer fees. - */ + /** Analogous to the 'amount', but in the merchant currency. */ fun merchantAmount(merchantAmount: Long) = merchantAmount(JsonField.of(merchantAmount)) - /** - * Analogous to the 'amount' property, but will represent the amount in the transaction's - * local currency (smallest unit), including any acquirer fees. - */ + /** Analogous to the 'amount', but in the merchant currency. */ @JsonProperty("merchant_amount") @ExcludeMissing fun merchantAmount(merchantAmount: JsonField) = apply { this.merchantAmount = merchantAmount } - /** - * Analogous to the 'authorization_amount' property, but will represent the amount in the - * transaction's local currency (smallest unit), including any acquirer fees. - */ + /** Analogous to the 'authorization_amount', but in the merchant currency. */ fun merchantAuthorizationAmount(merchantAuthorizationAmount: Long) = merchantAuthorizationAmount(JsonField.of(merchantAuthorizationAmount)) - /** - * Analogous to the 'authorization_amount' property, but will represent the amount in the - * transaction's local currency (smallest unit), including any acquirer fees. - */ + /** Analogous to the 'authorization_amount', but in the merchant currency. */ @JsonProperty("merchant_authorization_amount") @ExcludeMissing fun merchantAuthorizationAmount(merchantAuthorizationAmount: JsonField) = apply { @@ -588,28 +546,20 @@ private constructor( this.networkRiskScore = networkRiskScore } - /** `APPROVED` or decline reason. See Event result types */ - fun result(result: Result) = result(JsonField.of(result)) + fun result(result: DeclineResult) = result(JsonField.of(result)) - /** `APPROVED` or decline reason. See Event result types */ @JsonProperty("result") @ExcludeMissing - fun result(result: JsonField) = apply { this.result = result } + fun result(result: JsonField) = apply { this.result = result } fun pos(pos: Pos) = pos(JsonField.of(pos)) @JsonProperty("pos") @ExcludeMissing fun pos(pos: JsonField) = apply { this.pos = pos } - /** - * Amount of the transaction that has been settled (in cents), including any acquirer fees. - * This may change over time. - */ + /** The settled amount of the transaction in the settlement currency. */ fun settledAmount(settledAmount: Long) = settledAmount(JsonField.of(settledAmount)) - /** - * Amount of the transaction that has been settled (in cents), including any acquirer fees. - * This may change over time. - */ + /** The settled amount of the transaction in the settlement currency. */ @JsonProperty("settled_amount") @ExcludeMissing fun settledAmount(settledAmount: JsonField) = apply { @@ -673,7 +623,7 @@ private constructor( cardToken, cardholderAuthentication, created, - events.map { it.toUnmodifiable() }, + events.map { it.toImmutable() }, merchant, merchantAmount, merchantAuthorizationAmount, @@ -687,7 +637,7 @@ private constructor( token, tokenInfo, updated, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -805,7 +755,7 @@ private constructor( hold, merchant, settlement, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -821,10 +771,13 @@ private constructor( private var validated: Boolean = false - /** The aggregate settled amount in the cardholder's local currency. */ + /** The aggregate settled amount in the cardholder billing currency. */ fun amount(): Long = amount.getRequired("amount") - /** The conversion rate used to convert the merchant amount to the cardholder amount. */ + /** + * The conversion rate used to convert the merchant amount to the cardholder billing + * amount. + */ fun conversionRate(): String = conversionRate.getRequired("conversion_rate") /** @@ -834,10 +787,13 @@ private constructor( */ fun currency(): Currency = currency.getRequired("currency") - /** The aggregate settled amount in the cardholder's local currency. */ + /** The aggregate settled amount in the cardholder billing currency. */ @JsonProperty("amount") @ExcludeMissing fun _amount() = amount - /** The conversion rate used to convert the merchant amount to the cardholder amount. */ + /** + * The conversion rate used to convert the merchant amount to the cardholder billing + * amount. + */ @JsonProperty("conversion_rate") @ExcludeMissing fun _conversionRate() = conversionRate /** @@ -881,22 +837,24 @@ private constructor( additionalProperties(cardholder.additionalProperties) } - /** The aggregate settled amount in the cardholder's local currency. */ + /** The aggregate settled amount in the cardholder billing currency. */ fun amount(amount: Long) = amount(JsonField.of(amount)) - /** The aggregate settled amount in the cardholder's local currency. */ + /** The aggregate settled amount in the cardholder billing currency. */ @JsonProperty("amount") @ExcludeMissing fun amount(amount: JsonField) = apply { this.amount = amount } /** - * The conversion rate used to convert the merchant amount to the cardholder amount. + * The conversion rate used to convert the merchant amount to the cardholder billing + * amount. */ fun conversionRate(conversionRate: String) = conversionRate(JsonField.of(conversionRate)) /** - * The conversion rate used to convert the merchant amount to the cardholder amount. + * The conversion rate used to convert the merchant amount to the cardholder billing + * amount. */ @JsonProperty("conversion_rate") @ExcludeMissing @@ -940,7 +898,7 @@ private constructor( amount, conversionRate, currency, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -976,7 +934,10 @@ private constructor( private var validated: Boolean = false - /** The aggregate pending amount in the anticipated settlement currency. */ + /** + * The aggregate authorization amount of the transaction in the anticipated settlement + * currency. + */ fun amount(): Long = amount.getRequired("amount") /** @@ -986,7 +947,10 @@ private constructor( */ fun currency(): Currency = currency.getRequired("currency") - /** The aggregate pending amount in the anticipated settlement currency. */ + /** + * The aggregate authorization amount of the transaction in the anticipated settlement + * currency. + */ @JsonProperty("amount") @ExcludeMissing fun _amount() = amount /** @@ -1027,10 +991,16 @@ private constructor( additionalProperties(hold.additionalProperties) } - /** The aggregate pending amount in the anticipated settlement currency. */ + /** + * The aggregate authorization amount of the transaction in the anticipated + * settlement currency. + */ fun amount(amount: Long) = amount(JsonField.of(amount)) - /** The aggregate pending amount in the anticipated settlement currency. */ + /** + * The aggregate authorization amount of the transaction in the anticipated + * settlement currency. + */ @JsonProperty("amount") @ExcludeMissing fun amount(amount: JsonField) = apply { this.amount = amount } @@ -1070,7 +1040,7 @@ private constructor( Hold( amount, currency, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1106,7 +1076,7 @@ private constructor( private var validated: Boolean = false - /** The aggregate settled amount in the merchant's local currency. */ + /** The aggregate settled amount in the merchant currency. */ fun amount(): Long = amount.getRequired("amount") /** @@ -1116,7 +1086,7 @@ private constructor( */ fun currency(): Currency = currency.getRequired("currency") - /** The aggregate settled amount in the merchant's local currency. */ + /** The aggregate settled amount in the merchant currency. */ @JsonProperty("amount") @ExcludeMissing fun _amount() = amount /** @@ -1157,10 +1127,10 @@ private constructor( additionalProperties(merchant.additionalProperties) } - /** The aggregate settled amount in the merchant's local currency. */ + /** The aggregate settled amount in the merchant currency. */ fun amount(amount: Long) = amount(JsonField.of(amount)) - /** The aggregate settled amount in the merchant's local currency. */ + /** The aggregate settled amount in the merchant currency. */ @JsonProperty("amount") @ExcludeMissing fun amount(amount: JsonField) = apply { this.amount = amount } @@ -1200,7 +1170,7 @@ private constructor( Merchant( amount, currency, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1330,7 +1300,7 @@ private constructor( Settlement( amount, currency, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1464,7 +1434,7 @@ private constructor( Avs( address, zipcode, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1812,7 +1782,7 @@ private constructor( threeDSAuthenticationToken, verificationAttempted, verificationResult, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -2514,7 +2484,7 @@ private constructor( descriptor, mcc, state, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -2694,7 +2664,7 @@ private constructor( Pos( entryMode, terminal, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -2833,7 +2803,7 @@ private constructor( cardholder, pan, pinEntered, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -3390,7 +3360,7 @@ private constructor( partialApprovalCapable, pinCapability, type, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -3763,7 +3733,7 @@ private constructor( "Pos{entryMode=$entryMode, terminal=$terminal, additionalProperties=$additionalProperties}" } - class Result + class DeclineResult @JsonCreator private constructor( private val value: JsonField, @@ -3776,7 +3746,7 @@ private constructor( return true } - return /* spotless:off */ other is Result && this.value == other.value /* spotless:on */ + return /* spotless:off */ other is DeclineResult && this.value == other.value /* spotless:on */ } override fun hashCode() = value.hashCode() @@ -3785,44 +3755,59 @@ private constructor( companion object { - val APPROVED = Result(JsonField.of("APPROVED")) + val ACCOUNT_STATE_TRANSACTION_FAIL = + DeclineResult(JsonField.of("ACCOUNT_STATE_TRANSACTION_FAIL")) - val BANK_CONNECTION_ERROR = Result(JsonField.of("BANK_CONNECTION_ERROR")) + val APPROVED = DeclineResult(JsonField.of("APPROVED")) - val BANK_NOT_VERIFIED = Result(JsonField.of("BANK_NOT_VERIFIED")) + val BANK_CONNECTION_ERROR = DeclineResult(JsonField.of("BANK_CONNECTION_ERROR")) - val CARD_CLOSED = Result(JsonField.of("CARD_CLOSED")) + val BANK_NOT_VERIFIED = DeclineResult(JsonField.of("BANK_NOT_VERIFIED")) - val CARD_PAUSED = Result(JsonField.of("CARD_PAUSED")) + val CARD_CLOSED = DeclineResult(JsonField.of("CARD_CLOSED")) - val DECLINED = Result(JsonField.of("DECLINED")) + val CARD_PAUSED = DeclineResult(JsonField.of("CARD_PAUSED")) - val FRAUD_ADVICE = Result(JsonField.of("FRAUD_ADVICE")) + val DECLINED = DeclineResult(JsonField.of("DECLINED")) - val INACTIVE_ACCOUNT = Result(JsonField.of("INACTIVE_ACCOUNT")) + val FRAUD_ADVICE = DeclineResult(JsonField.of("FRAUD_ADVICE")) - val INCORRECT_PIN = Result(JsonField.of("INCORRECT_PIN")) + val IGNORED_TTL_EXPIRY = DeclineResult(JsonField.of("IGNORED_TTL_EXPIRY")) - val INSUFFICIENT_FUNDS = Result(JsonField.of("INSUFFICIENT_FUNDS")) + val INACTIVE_ACCOUNT = DeclineResult(JsonField.of("INACTIVE_ACCOUNT")) - val INVALID_CARD_DETAILS = Result(JsonField.of("INVALID_CARD_DETAILS")) + val INCORRECT_PIN = DeclineResult(JsonField.of("INCORRECT_PIN")) - val MERCHANT_BLACKLIST = Result(JsonField.of("MERCHANT_BLACKLIST")) + val INVALID_CARD_DETAILS = DeclineResult(JsonField.of("INVALID_CARD_DETAILS")) - val SINGLE_USE_RECHARGED = Result(JsonField.of("SINGLE_USE_RECHARGED")) + val INSUFFICIENT_FUNDS = DeclineResult(JsonField.of("INSUFFICIENT_FUNDS")) - val SWITCH_INOPERATIVE_ADVICE = Result(JsonField.of("SWITCH_INOPERATIVE_ADVICE")) + val INSUFFICIENT_FUNDS_PRELOAD = + DeclineResult(JsonField.of("INSUFFICIENT_FUNDS_PRELOAD")) - val UNAUTHORIZED_MERCHANT = Result(JsonField.of("UNAUTHORIZED_MERCHANT")) + val INVALID_TRANSACTION = DeclineResult(JsonField.of("INVALID_TRANSACTION")) - val UNKNOWN_HOST_TIMEOUT = Result(JsonField.of("UNKNOWN_HOST_TIMEOUT")) + val MERCHANT_BLACKLIST = DeclineResult(JsonField.of("MERCHANT_BLACKLIST")) - val USER_TRANSACTION_LIMIT = Result(JsonField.of("USER_TRANSACTION_LIMIT")) + val ORIGINAL_NOT_FOUND = DeclineResult(JsonField.of("ORIGINAL_NOT_FOUND")) - fun of(value: String) = Result(JsonField.of(value)) + val PREVIOUSLY_COMPLETED = DeclineResult(JsonField.of("PREVIOUSLY_COMPLETED")) + + val SINGLE_USE_RECHARGED = DeclineResult(JsonField.of("SINGLE_USE_RECHARGED")) + + val SWITCH_INOPERATIVE_ADVICE = DeclineResult(JsonField.of("SWITCH_INOPERATIVE_ADVICE")) + + val UNAUTHORIZED_MERCHANT = DeclineResult(JsonField.of("UNAUTHORIZED_MERCHANT")) + + val UNKNOWN_HOST_TIMEOUT = DeclineResult(JsonField.of("UNKNOWN_HOST_TIMEOUT")) + + val USER_TRANSACTION_LIMIT = DeclineResult(JsonField.of("USER_TRANSACTION_LIMIT")) + + fun of(value: String) = DeclineResult(JsonField.of(value)) } enum class Known { + ACCOUNT_STATE_TRANSACTION_FAIL, APPROVED, BANK_CONNECTION_ERROR, BANK_NOT_VERIFIED, @@ -3830,11 +3815,16 @@ private constructor( CARD_PAUSED, DECLINED, FRAUD_ADVICE, + IGNORED_TTL_EXPIRY, INACTIVE_ACCOUNT, INCORRECT_PIN, - INSUFFICIENT_FUNDS, INVALID_CARD_DETAILS, + INSUFFICIENT_FUNDS, + INSUFFICIENT_FUNDS_PRELOAD, + INVALID_TRANSACTION, MERCHANT_BLACKLIST, + ORIGINAL_NOT_FOUND, + PREVIOUSLY_COMPLETED, SINGLE_USE_RECHARGED, SWITCH_INOPERATIVE_ADVICE, UNAUTHORIZED_MERCHANT, @@ -3843,6 +3833,7 @@ private constructor( } enum class Value { + ACCOUNT_STATE_TRANSACTION_FAIL, APPROVED, BANK_CONNECTION_ERROR, BANK_NOT_VERIFIED, @@ -3850,11 +3841,16 @@ private constructor( CARD_PAUSED, DECLINED, FRAUD_ADVICE, + IGNORED_TTL_EXPIRY, INACTIVE_ACCOUNT, INCORRECT_PIN, - INSUFFICIENT_FUNDS, INVALID_CARD_DETAILS, + INSUFFICIENT_FUNDS, + INSUFFICIENT_FUNDS_PRELOAD, + INVALID_TRANSACTION, MERCHANT_BLACKLIST, + ORIGINAL_NOT_FOUND, + PREVIOUSLY_COMPLETED, SINGLE_USE_RECHARGED, SWITCH_INOPERATIVE_ADVICE, UNAUTHORIZED_MERCHANT, @@ -3865,6 +3861,7 @@ private constructor( fun value(): Value = when (this) { + ACCOUNT_STATE_TRANSACTION_FAIL -> Value.ACCOUNT_STATE_TRANSACTION_FAIL APPROVED -> Value.APPROVED BANK_CONNECTION_ERROR -> Value.BANK_CONNECTION_ERROR BANK_NOT_VERIFIED -> Value.BANK_NOT_VERIFIED @@ -3872,11 +3869,16 @@ private constructor( CARD_PAUSED -> Value.CARD_PAUSED DECLINED -> Value.DECLINED FRAUD_ADVICE -> Value.FRAUD_ADVICE + IGNORED_TTL_EXPIRY -> Value.IGNORED_TTL_EXPIRY INACTIVE_ACCOUNT -> Value.INACTIVE_ACCOUNT INCORRECT_PIN -> Value.INCORRECT_PIN - INSUFFICIENT_FUNDS -> Value.INSUFFICIENT_FUNDS INVALID_CARD_DETAILS -> Value.INVALID_CARD_DETAILS + INSUFFICIENT_FUNDS -> Value.INSUFFICIENT_FUNDS + INSUFFICIENT_FUNDS_PRELOAD -> Value.INSUFFICIENT_FUNDS_PRELOAD + INVALID_TRANSACTION -> Value.INVALID_TRANSACTION MERCHANT_BLACKLIST -> Value.MERCHANT_BLACKLIST + ORIGINAL_NOT_FOUND -> Value.ORIGINAL_NOT_FOUND + PREVIOUSLY_COMPLETED -> Value.PREVIOUSLY_COMPLETED SINGLE_USE_RECHARGED -> Value.SINGLE_USE_RECHARGED SWITCH_INOPERATIVE_ADVICE -> Value.SWITCH_INOPERATIVE_ADVICE UNAUTHORIZED_MERCHANT -> Value.UNAUTHORIZED_MERCHANT @@ -3887,6 +3889,7 @@ private constructor( fun known(): Known = when (this) { + ACCOUNT_STATE_TRANSACTION_FAIL -> Known.ACCOUNT_STATE_TRANSACTION_FAIL APPROVED -> Known.APPROVED BANK_CONNECTION_ERROR -> Known.BANK_CONNECTION_ERROR BANK_NOT_VERIFIED -> Known.BANK_NOT_VERIFIED @@ -3894,17 +3897,22 @@ private constructor( CARD_PAUSED -> Known.CARD_PAUSED DECLINED -> Known.DECLINED FRAUD_ADVICE -> Known.FRAUD_ADVICE + IGNORED_TTL_EXPIRY -> Known.IGNORED_TTL_EXPIRY INACTIVE_ACCOUNT -> Known.INACTIVE_ACCOUNT INCORRECT_PIN -> Known.INCORRECT_PIN - INSUFFICIENT_FUNDS -> Known.INSUFFICIENT_FUNDS INVALID_CARD_DETAILS -> Known.INVALID_CARD_DETAILS + INSUFFICIENT_FUNDS -> Known.INSUFFICIENT_FUNDS + INSUFFICIENT_FUNDS_PRELOAD -> Known.INSUFFICIENT_FUNDS_PRELOAD + INVALID_TRANSACTION -> Known.INVALID_TRANSACTION MERCHANT_BLACKLIST -> Known.MERCHANT_BLACKLIST + ORIGINAL_NOT_FOUND -> Known.ORIGINAL_NOT_FOUND + PREVIOUSLY_COMPLETED -> Known.PREVIOUSLY_COMPLETED SINGLE_USE_RECHARGED -> Known.SINGLE_USE_RECHARGED SWITCH_INOPERATIVE_ADVICE -> Known.SWITCH_INOPERATIVE_ADVICE UNAUTHORIZED_MERCHANT -> Known.UNAUTHORIZED_MERCHANT UNKNOWN_HOST_TIMEOUT -> Known.UNKNOWN_HOST_TIMEOUT USER_TRANSACTION_LIMIT -> Known.USER_TRANSACTION_LIMIT - else -> throw LithicInvalidDataException("Unknown Result: $value") + else -> throw LithicInvalidDataException("Unknown DeclineResult: $value") } fun asString(): String = _value().asStringOrThrow() @@ -4073,7 +4081,7 @@ private constructor( this.additionalProperties.putAll(additionalProperties) } - fun build(): TokenInfo = TokenInfo(walletType, additionalProperties.toUnmodifiable()) + fun build(): TokenInfo = TokenInfo(walletType, additionalProperties.toImmutable()) } class WalletType @@ -4187,7 +4195,7 @@ private constructor( private val created: JsonField, private val detailedResults: JsonField>, private val effectivePolarity: JsonField, - private val result: JsonField, + private val result: JsonField, private val token: JsonField, private val type: JsonField, private val additionalProperties: Map, @@ -4195,7 +4203,7 @@ private constructor( private var validated: Boolean = false - /** Amount of the transaction event (in cents), including any acquirer fees. */ + /** Amount of the event in the settlement currency. */ fun amount(): Long = amount.getRequired("amount") fun amounts(): TransactionEventAmounts = amounts.getRequired("amounts") @@ -4210,8 +4218,7 @@ private constructor( fun effectivePolarity(): EffectivePolarity = effectivePolarity.getRequired("effective_polarity") - /** Result of the transaction. */ - fun result(): Result = result.getRequired("result") + fun result(): DeclineResult = result.getRequired("result") /** Transaction event identifier. */ fun token(): String = token.getRequired("token") @@ -4219,7 +4226,7 @@ private constructor( /** Type of transaction event */ fun type(): Type = type.getRequired("type") - /** Amount of the transaction event (in cents), including any acquirer fees. */ + /** Amount of the event in the settlement currency. */ @JsonProperty("amount") @ExcludeMissing fun _amount() = amount @JsonProperty("amounts") @ExcludeMissing fun _amounts() = amounts @@ -4234,7 +4241,6 @@ private constructor( @ExcludeMissing fun _effectivePolarity() = effectivePolarity - /** Result of the transaction. */ @JsonProperty("result") @ExcludeMissing fun _result() = result /** Transaction event identifier. */ @@ -4275,7 +4281,7 @@ private constructor( private var created: JsonField = JsonMissing.of() private var detailedResults: JsonField> = JsonMissing.of() private var effectivePolarity: JsonField = JsonMissing.of() - private var result: JsonField = JsonMissing.of() + private var result: JsonField = JsonMissing.of() private var token: JsonField = JsonMissing.of() private var type: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -4292,10 +4298,10 @@ private constructor( additionalProperties(transactionEvent.additionalProperties) } - /** Amount of the transaction event (in cents), including any acquirer fees. */ + /** Amount of the event in the settlement currency. */ fun amount(amount: Long) = amount(JsonField.of(amount)) - /** Amount of the transaction event (in cents), including any acquirer fees. */ + /** Amount of the event in the settlement currency. */ @JsonProperty("amount") @ExcludeMissing fun amount(amount: JsonField) = apply { this.amount = amount } @@ -4336,13 +4342,11 @@ private constructor( this.effectivePolarity = effectivePolarity } - /** Result of the transaction. */ - fun result(result: Result) = result(JsonField.of(result)) + fun result(result: DeclineResult) = result(JsonField.of(result)) - /** Result of the transaction. */ @JsonProperty("result") @ExcludeMissing - fun result(result: JsonField) = apply { this.result = result } + fun result(result: JsonField) = apply { this.result = result } /** Transaction event identifier. */ fun token(token: String) = token(JsonField.of(token)) @@ -4379,12 +4383,12 @@ private constructor( amount, amounts, created, - detailedResults.map { it.toUnmodifiable() }, + detailedResults.map { it.toImmutable() }, effectivePolarity, result, token, type, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -4488,7 +4492,7 @@ private constructor( cardholder, merchant, settlement, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -4504,11 +4508,12 @@ private constructor( private var validated: Boolean = false - /** The amount in the cardholder's local currency. */ + /** The amount in the cardholder billing currency. */ fun amount(): Long = amount.getRequired("amount") /** - * The conversion rate used to convert the merchant amount to the cardholder amount. + * The conversion rate used to convert the merchant amount to the cardholder billing + * amount. */ fun conversionRate(): String = conversionRate.getRequired("conversion_rate") @@ -4519,11 +4524,12 @@ private constructor( */ fun currency(): Currency = currency.getRequired("currency") - /** The amount in the cardholder's local currency. */ + /** The amount in the cardholder billing currency. */ @JsonProperty("amount") @ExcludeMissing fun _amount() = amount /** - * The conversion rate used to convert the merchant amount to the cardholder amount. + * The conversion rate used to convert the merchant amount to the cardholder billing + * amount. */ @JsonProperty("conversion_rate") @ExcludeMissing @@ -4570,24 +4576,24 @@ private constructor( additionalProperties(cardholder.additionalProperties) } - /** The amount in the cardholder's local currency. */ + /** The amount in the cardholder billing currency. */ fun amount(amount: Long) = amount(JsonField.of(amount)) - /** The amount in the cardholder's local currency. */ + /** The amount in the cardholder billing currency. */ @JsonProperty("amount") @ExcludeMissing fun amount(amount: JsonField) = apply { this.amount = amount } /** * The conversion rate used to convert the merchant amount to the cardholder - * amount. + * billing amount. */ fun conversionRate(conversionRate: String) = conversionRate(JsonField.of(conversionRate)) /** * The conversion rate used to convert the merchant amount to the cardholder - * amount. + * billing amount. */ @JsonProperty("conversion_rate") @ExcludeMissing @@ -4631,7 +4637,7 @@ private constructor( amount, conversionRate, currency, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -4667,7 +4673,7 @@ private constructor( private var validated: Boolean = false - /** The amount in the merchant's local currency. */ + /** The amount in the merchant currency. */ fun amount(): Long = amount.getRequired("amount") /** @@ -4677,7 +4683,7 @@ private constructor( */ fun currency(): Currency = currency.getRequired("currency") - /** The amount in the merchant's local currency. */ + /** The amount in the merchant currency. */ @JsonProperty("amount") @ExcludeMissing fun _amount() = amount /** @@ -4718,10 +4724,10 @@ private constructor( additionalProperties(merchant.additionalProperties) } - /** The amount in the merchant's local currency. */ + /** The amount in the merchant currency. */ fun amount(amount: Long) = amount(JsonField.of(amount)) - /** The amount in the merchant's local currency. */ + /** The amount in the merchant currency. */ @JsonProperty("amount") @ExcludeMissing fun amount(amount: JsonField) = apply { this.amount = amount } @@ -4761,7 +4767,7 @@ private constructor( Merchant( amount, currency, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -4798,7 +4804,7 @@ private constructor( private var validated: Boolean = false - /** The amount in the settlement currency. */ + /** Amount of the event, if it is financial, in the settlement currency. */ fun amount(): Long = amount.getRequired("amount") /** Conversion rate used to convert the merchant amount to the settlement amount. */ @@ -4811,7 +4817,7 @@ private constructor( */ fun currency(): Currency = currency.getRequired("currency") - /** The amount in the settlement currency. */ + /** Amount of the event, if it is financial, in the settlement currency. */ @JsonProperty("amount") @ExcludeMissing fun _amount() = amount /** Conversion rate used to convert the merchant amount to the settlement amount. */ @@ -4860,10 +4866,10 @@ private constructor( additionalProperties(settlement.additionalProperties) } - /** The amount in the settlement currency. */ + /** Amount of the event, if it is financial, in the settlement currency. */ fun amount(amount: Long) = amount(JsonField.of(amount)) - /** The amount in the settlement currency. */ + /** Amount of the event, if it is financial, in the settlement currency. */ @JsonProperty("amount") @ExcludeMissing fun amount(amount: JsonField) = apply { this.amount = amount } @@ -4919,7 +4925,7 @@ private constructor( amount, conversionRate, currency, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -5078,6 +5084,8 @@ private constructor( val OVER_REVERSAL_ATTEMPTED = DetailedResult(JsonField.of("OVER_REVERSAL_ATTEMPTED")) + val PIN_BLOCKED = DetailedResult(JsonField.of("PIN_BLOCKED")) + val PROGRAM_CARD_SPEND_LIMIT_EXCEEDED = DetailedResult(JsonField.of("PROGRAM_CARD_SPEND_LIMIT_EXCEEDED")) @@ -5155,6 +5163,7 @@ private constructor( MERCHANT_LOCKED_CARD_ATTEMPTED_ELSEWHERE, MERCHANT_NOT_PERMITTED, OVER_REVERSAL_ATTEMPTED, + PIN_BLOCKED, PROGRAM_CARD_SPEND_LIMIT_EXCEEDED, PROGRAM_SUSPENDED, PROGRAM_USAGE_RESTRICTION, @@ -5209,6 +5218,7 @@ private constructor( MERCHANT_LOCKED_CARD_ATTEMPTED_ELSEWHERE, MERCHANT_NOT_PERMITTED, OVER_REVERSAL_ATTEMPTED, + PIN_BLOCKED, PROGRAM_CARD_SPEND_LIMIT_EXCEEDED, PROGRAM_SUSPENDED, PROGRAM_USAGE_RESTRICTION, @@ -5268,6 +5278,7 @@ private constructor( Value.MERCHANT_LOCKED_CARD_ATTEMPTED_ELSEWHERE MERCHANT_NOT_PERMITTED -> Value.MERCHANT_NOT_PERMITTED OVER_REVERSAL_ATTEMPTED -> Value.OVER_REVERSAL_ATTEMPTED + PIN_BLOCKED -> Value.PIN_BLOCKED PROGRAM_CARD_SPEND_LIMIT_EXCEEDED -> Value.PROGRAM_CARD_SPEND_LIMIT_EXCEEDED PROGRAM_SUSPENDED -> Value.PROGRAM_SUSPENDED PROGRAM_USAGE_RESTRICTION -> Value.PROGRAM_USAGE_RESTRICTION @@ -5329,6 +5340,7 @@ private constructor( Known.MERCHANT_LOCKED_CARD_ATTEMPTED_ELSEWHERE MERCHANT_NOT_PERMITTED -> Known.MERCHANT_NOT_PERMITTED OVER_REVERSAL_ATTEMPTED -> Known.OVER_REVERSAL_ATTEMPTED + PIN_BLOCKED -> Known.PIN_BLOCKED PROGRAM_CARD_SPEND_LIMIT_EXCEEDED -> Known.PROGRAM_CARD_SPEND_LIMIT_EXCEEDED PROGRAM_SUSPENDED -> Known.PROGRAM_SUSPENDED PROGRAM_USAGE_RESTRICTION -> Known.PROGRAM_USAGE_RESTRICTION @@ -5406,7 +5418,7 @@ private constructor( fun asString(): String = _value().asStringOrThrow() } - class Result + class DeclineResult @JsonCreator private constructor( private val value: JsonField, @@ -5419,7 +5431,7 @@ private constructor( return true } - return /* spotless:off */ other is Result && this.value == other.value /* spotless:on */ + return /* spotless:off */ other is DeclineResult && this.value == other.value /* spotless:on */ } override fun hashCode() = value.hashCode() @@ -5429,41 +5441,55 @@ private constructor( companion object { val ACCOUNT_STATE_TRANSACTION_FAIL = - Result(JsonField.of("ACCOUNT_STATE_TRANSACTION_FAIL")) + DeclineResult(JsonField.of("ACCOUNT_STATE_TRANSACTION_FAIL")) + + val APPROVED = DeclineResult(JsonField.of("APPROVED")) + + val BANK_CONNECTION_ERROR = DeclineResult(JsonField.of("BANK_CONNECTION_ERROR")) - val APPROVED = Result(JsonField.of("APPROVED")) + val BANK_NOT_VERIFIED = DeclineResult(JsonField.of("BANK_NOT_VERIFIED")) - val BANK_CONNECTION_ERROR = Result(JsonField.of("BANK_CONNECTION_ERROR")) + val CARD_CLOSED = DeclineResult(JsonField.of("CARD_CLOSED")) - val BANK_NOT_VERIFIED = Result(JsonField.of("BANK_NOT_VERIFIED")) + val CARD_PAUSED = DeclineResult(JsonField.of("CARD_PAUSED")) - val CARD_CLOSED = Result(JsonField.of("CARD_CLOSED")) + val DECLINED = DeclineResult(JsonField.of("DECLINED")) - val CARD_PAUSED = Result(JsonField.of("CARD_PAUSED")) + val FRAUD_ADVICE = DeclineResult(JsonField.of("FRAUD_ADVICE")) - val FRAUD_ADVICE = Result(JsonField.of("FRAUD_ADVICE")) + val IGNORED_TTL_EXPIRY = DeclineResult(JsonField.of("IGNORED_TTL_EXPIRY")) - val INACTIVE_ACCOUNT = Result(JsonField.of("INACTIVE_ACCOUNT")) + val INACTIVE_ACCOUNT = DeclineResult(JsonField.of("INACTIVE_ACCOUNT")) - val INCORRECT_PIN = Result(JsonField.of("INCORRECT_PIN")) + val INCORRECT_PIN = DeclineResult(JsonField.of("INCORRECT_PIN")) - val INVALID_CARD_DETAILS = Result(JsonField.of("INVALID_CARD_DETAILS")) + val INVALID_CARD_DETAILS = DeclineResult(JsonField.of("INVALID_CARD_DETAILS")) - val INSUFFICIENT_FUNDS = Result(JsonField.of("INSUFFICIENT_FUNDS")) + val INSUFFICIENT_FUNDS = DeclineResult(JsonField.of("INSUFFICIENT_FUNDS")) - val MERCHANT_BLACKLIST = Result(JsonField.of("MERCHANT_BLACKLIST")) + val INSUFFICIENT_FUNDS_PRELOAD = + DeclineResult(JsonField.of("INSUFFICIENT_FUNDS_PRELOAD")) - val SINGLE_USE_RECHARGED = Result(JsonField.of("SINGLE_USE_RECHARGED")) + val INVALID_TRANSACTION = DeclineResult(JsonField.of("INVALID_TRANSACTION")) - val SWITCH_INOPERATIVE_ADVICE = Result(JsonField.of("SWITCH_INOPERATIVE_ADVICE")) + val MERCHANT_BLACKLIST = DeclineResult(JsonField.of("MERCHANT_BLACKLIST")) - val UNAUTHORIZED_MERCHANT = Result(JsonField.of("UNAUTHORIZED_MERCHANT")) + val ORIGINAL_NOT_FOUND = DeclineResult(JsonField.of("ORIGINAL_NOT_FOUND")) - val UNKNOWN_HOST_TIMEOUT = Result(JsonField.of("UNKNOWN_HOST_TIMEOUT")) + val PREVIOUSLY_COMPLETED = DeclineResult(JsonField.of("PREVIOUSLY_COMPLETED")) - val USER_TRANSACTION_LIMIT = Result(JsonField.of("USER_TRANSACTION_LIMIT")) + val SINGLE_USE_RECHARGED = DeclineResult(JsonField.of("SINGLE_USE_RECHARGED")) - fun of(value: String) = Result(JsonField.of(value)) + val SWITCH_INOPERATIVE_ADVICE = + DeclineResult(JsonField.of("SWITCH_INOPERATIVE_ADVICE")) + + val UNAUTHORIZED_MERCHANT = DeclineResult(JsonField.of("UNAUTHORIZED_MERCHANT")) + + val UNKNOWN_HOST_TIMEOUT = DeclineResult(JsonField.of("UNKNOWN_HOST_TIMEOUT")) + + val USER_TRANSACTION_LIMIT = DeclineResult(JsonField.of("USER_TRANSACTION_LIMIT")) + + fun of(value: String) = DeclineResult(JsonField.of(value)) } enum class Known { @@ -5473,12 +5499,18 @@ private constructor( BANK_NOT_VERIFIED, CARD_CLOSED, CARD_PAUSED, + DECLINED, FRAUD_ADVICE, + IGNORED_TTL_EXPIRY, INACTIVE_ACCOUNT, INCORRECT_PIN, INVALID_CARD_DETAILS, INSUFFICIENT_FUNDS, + INSUFFICIENT_FUNDS_PRELOAD, + INVALID_TRANSACTION, MERCHANT_BLACKLIST, + ORIGINAL_NOT_FOUND, + PREVIOUSLY_COMPLETED, SINGLE_USE_RECHARGED, SWITCH_INOPERATIVE_ADVICE, UNAUTHORIZED_MERCHANT, @@ -5493,12 +5525,18 @@ private constructor( BANK_NOT_VERIFIED, CARD_CLOSED, CARD_PAUSED, + DECLINED, FRAUD_ADVICE, + IGNORED_TTL_EXPIRY, INACTIVE_ACCOUNT, INCORRECT_PIN, INVALID_CARD_DETAILS, INSUFFICIENT_FUNDS, + INSUFFICIENT_FUNDS_PRELOAD, + INVALID_TRANSACTION, MERCHANT_BLACKLIST, + ORIGINAL_NOT_FOUND, + PREVIOUSLY_COMPLETED, SINGLE_USE_RECHARGED, SWITCH_INOPERATIVE_ADVICE, UNAUTHORIZED_MERCHANT, @@ -5515,12 +5553,18 @@ private constructor( BANK_NOT_VERIFIED -> Value.BANK_NOT_VERIFIED CARD_CLOSED -> Value.CARD_CLOSED CARD_PAUSED -> Value.CARD_PAUSED + DECLINED -> Value.DECLINED FRAUD_ADVICE -> Value.FRAUD_ADVICE + IGNORED_TTL_EXPIRY -> Value.IGNORED_TTL_EXPIRY INACTIVE_ACCOUNT -> Value.INACTIVE_ACCOUNT INCORRECT_PIN -> Value.INCORRECT_PIN INVALID_CARD_DETAILS -> Value.INVALID_CARD_DETAILS INSUFFICIENT_FUNDS -> Value.INSUFFICIENT_FUNDS + INSUFFICIENT_FUNDS_PRELOAD -> Value.INSUFFICIENT_FUNDS_PRELOAD + INVALID_TRANSACTION -> Value.INVALID_TRANSACTION MERCHANT_BLACKLIST -> Value.MERCHANT_BLACKLIST + ORIGINAL_NOT_FOUND -> Value.ORIGINAL_NOT_FOUND + PREVIOUSLY_COMPLETED -> Value.PREVIOUSLY_COMPLETED SINGLE_USE_RECHARGED -> Value.SINGLE_USE_RECHARGED SWITCH_INOPERATIVE_ADVICE -> Value.SWITCH_INOPERATIVE_ADVICE UNAUTHORIZED_MERCHANT -> Value.UNAUTHORIZED_MERCHANT @@ -5537,18 +5581,24 @@ private constructor( BANK_NOT_VERIFIED -> Known.BANK_NOT_VERIFIED CARD_CLOSED -> Known.CARD_CLOSED CARD_PAUSED -> Known.CARD_PAUSED + DECLINED -> Known.DECLINED FRAUD_ADVICE -> Known.FRAUD_ADVICE + IGNORED_TTL_EXPIRY -> Known.IGNORED_TTL_EXPIRY INACTIVE_ACCOUNT -> Known.INACTIVE_ACCOUNT INCORRECT_PIN -> Known.INCORRECT_PIN INVALID_CARD_DETAILS -> Known.INVALID_CARD_DETAILS INSUFFICIENT_FUNDS -> Known.INSUFFICIENT_FUNDS + INSUFFICIENT_FUNDS_PRELOAD -> Known.INSUFFICIENT_FUNDS_PRELOAD + INVALID_TRANSACTION -> Known.INVALID_TRANSACTION MERCHANT_BLACKLIST -> Known.MERCHANT_BLACKLIST + ORIGINAL_NOT_FOUND -> Known.ORIGINAL_NOT_FOUND + PREVIOUSLY_COMPLETED -> Known.PREVIOUSLY_COMPLETED SINGLE_USE_RECHARGED -> Known.SINGLE_USE_RECHARGED SWITCH_INOPERATIVE_ADVICE -> Known.SWITCH_INOPERATIVE_ADVICE UNAUTHORIZED_MERCHANT -> Known.UNAUTHORIZED_MERCHANT UNKNOWN_HOST_TIMEOUT -> Known.UNKNOWN_HOST_TIMEOUT USER_TRANSACTION_LIMIT -> Known.USER_TRANSACTION_LIMIT - else -> throw LithicInvalidDataException("Unknown Result: $value") + else -> throw LithicInvalidDataException("Unknown DeclineResult: $value") } fun asString(): String = _value().asStringOrThrow() diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionEnhancedCommercialDataRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionEnhancedCommercialDataRetrieveParams.kt index c6c19743..e30030f8 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionEnhancedCommercialDataRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionEnhancedCommercialDataRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -118,8 +118,8 @@ constructor( fun build(): TransactionEnhancedCommercialDataRetrieveParams = TransactionEnhancedCommercialDataRetrieveParams( checkNotNull(transactionToken) { "`transactionToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionEventEnhancedCommercialDataRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionEventEnhancedCommercialDataRetrieveParams.kt index e18b058f..79addae7 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionEventEnhancedCommercialDataRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionEventEnhancedCommercialDataRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -118,8 +118,8 @@ constructor( fun build(): TransactionEventEnhancedCommercialDataRetrieveParams = TransactionEventEnhancedCommercialDataRetrieveParams( checkNotNull(eventToken) { "`eventToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionListPage.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionListPage.kt index 5ba1070e..b40fe922 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionListPage.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionListPage.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.blocking.TransactionService import java.util.Objects @@ -169,7 +169,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionListPageAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionListPageAsync.kt index a668b264..80b42021 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionListPageAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionListPageAsync.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.services.async.TransactionServiceAsync import java.util.Objects import kotlinx.coroutines.flow.Flow @@ -171,7 +171,7 @@ private constructor( Response( data, hasMore, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionListParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionListParams.kt index 70396485..9bf2c213 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionListParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionListParams.kt @@ -7,7 +7,7 @@ import com.lithic.api.core.Enum import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.time.OffsetDateTime @@ -59,7 +59,7 @@ constructor( this.result?.let { params.put("result", listOf(it.toString())) } this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) } params.putAll(additionalQueryParams) - return params.toUnmodifiable() + return params.toImmutable() } internal fun getHeaders(): Map> = additionalHeaders @@ -206,8 +206,8 @@ constructor( pageSize, result, startingAfter, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionRetrieveParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionRetrieveParams.kt index d338c13e..17126811 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionRetrieveParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionRetrieveParams.kt @@ -3,7 +3,7 @@ package com.lithic.api.models import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -113,8 +113,8 @@ constructor( fun build(): TransactionRetrieveParams = TransactionRetrieveParams( checkNotNull(transactionToken) { "`transactionToken` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateAuthorizationAdviceParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateAuthorizationAdviceParams.kt index 79fe5e9f..43b43d58 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateAuthorizationAdviceParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateAuthorizationAdviceParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -111,7 +111,7 @@ constructor( TransactionSimulateAuthorizationAdviceBody( checkNotNull(token) { "`token` is required but was not set" }, checkNotNull(amount) { "`amount` is required but was not set" }, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -255,9 +255,9 @@ constructor( TransactionSimulateAuthorizationAdviceParams( checkNotNull(token) { "`token` is required but was not set" }, checkNotNull(amount) { "`amount` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateAuthorizationAdviceResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateAuthorizationAdviceResponse.kt index fde27b40..1f703238 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateAuthorizationAdviceResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateAuthorizationAdviceResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = TransactionSimulateAuthorizationAdviceResponse.Builder::class) @@ -113,7 +113,7 @@ private constructor( TransactionSimulateAuthorizationAdviceResponse( debuggingRequestId, token, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateAuthorizationParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateAuthorizationParams.kt index e48fe3c1..a8ce2914 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateAuthorizationParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateAuthorizationParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -287,7 +287,7 @@ constructor( merchantCurrency, partialApprovalCapable, status, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -507,9 +507,9 @@ constructor( merchantCurrency, partialApprovalCapable, status, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateAuthorizationResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateAuthorizationResponse.kt index 66c45ff4..1de36e23 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateAuthorizationResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateAuthorizationResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = TransactionSimulateAuthorizationResponse.Builder::class) @@ -121,7 +121,7 @@ private constructor( TransactionSimulateAuthorizationResponse( debuggingRequestId, token, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateClearingParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateClearingParams.kt index 4ab295df..c91e15ad 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateClearingParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateClearingParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -115,7 +115,7 @@ constructor( TransactionSimulateClearingBody( checkNotNull(token) { "`token` is required but was not set" }, amount, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -257,9 +257,9 @@ constructor( TransactionSimulateClearingParams( checkNotNull(token) { "`token` is required but was not set" }, amount, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateClearingResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateClearingResponse.kt index 909fec75..c4388fd1 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateClearingResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateClearingResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = TransactionSimulateClearingResponse.Builder::class) @@ -90,7 +90,7 @@ private constructor( fun build(): TransactionSimulateClearingResponse = TransactionSimulateClearingResponse( debuggingRequestId, - additionalProperties.toUnmodifiable() + additionalProperties.toImmutable() ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateCreditAuthorizationParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateCreditAuthorizationParams.kt index 4b725327..cdca2609 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateCreditAuthorizationParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateCreditAuthorizationParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -168,7 +168,7 @@ constructor( checkNotNull(pan) { "`pan` is required but was not set" }, mcc, merchantAcceptorId, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -338,9 +338,9 @@ constructor( checkNotNull(pan) { "`pan` is required but was not set" }, mcc, merchantAcceptorId, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateCreditAuthorizationResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateCreditAuthorizationResponse.kt index 7bc56c98..b5e7c654 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateCreditAuthorizationResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateCreditAuthorizationResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = TransactionSimulateCreditAuthorizationResponse.Builder::class) @@ -113,7 +113,7 @@ private constructor( TransactionSimulateCreditAuthorizationResponse( debuggingRequestId, token, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateReturnParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateReturnParams.kt index 5d57f897..68fc9eff 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateReturnParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateReturnParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -116,7 +116,7 @@ constructor( checkNotNull(amount) { "`amount` is required but was not set" }, checkNotNull(descriptor) { "`descriptor` is required but was not set" }, checkNotNull(pan) { "`pan` is required but was not set" }, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -257,9 +257,9 @@ constructor( checkNotNull(amount) { "`amount` is required but was not set" }, checkNotNull(descriptor) { "`descriptor` is required but was not set" }, checkNotNull(pan) { "`pan` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateReturnResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateReturnResponse.kt index 81dafa83..d5ca8036 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateReturnResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateReturnResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = TransactionSimulateReturnResponse.Builder::class) @@ -108,7 +108,7 @@ private constructor( TransactionSimulateReturnResponse( debuggingRequestId, token, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateReturnReversalParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateReturnReversalParams.kt index 89711a9d..4007d1c4 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateReturnReversalParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateReturnReversalParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -85,7 +85,7 @@ constructor( fun build(): TransactionSimulateReturnReversalBody = TransactionSimulateReturnReversalBody( checkNotNull(token) { "`token` is required but was not set" }, - additionalProperties.toUnmodifiable() + additionalProperties.toImmutable() ) } @@ -217,9 +217,9 @@ constructor( fun build(): TransactionSimulateReturnReversalParams = TransactionSimulateReturnReversalParams( checkNotNull(token) { "`token` is required but was not set" }, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateReturnReversalResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateReturnReversalResponse.kt index 23e67b88..c5a3a11b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateReturnReversalResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateReturnReversalResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = TransactionSimulateReturnReversalResponse.Builder::class) @@ -90,7 +90,7 @@ private constructor( fun build(): TransactionSimulateReturnReversalResponse = TransactionSimulateReturnReversalResponse( debuggingRequestId, - additionalProperties.toUnmodifiable() + additionalProperties.toImmutable() ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateVoidParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateVoidParams.kt index 99cc66ba..81a417a1 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateVoidParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateVoidParams.kt @@ -12,7 +12,7 @@ import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonField import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.* import java.util.Objects @@ -133,7 +133,7 @@ constructor( checkNotNull(token) { "`token` is required but was not set" }, amount, type, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -280,9 +280,9 @@ constructor( checkNotNull(token) { "`token` is required but was not set" }, amount, type, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateVoidResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateVoidResponse.kt index e3a3c2b4..bf0ca888 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateVoidResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransactionSimulateVoidResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = TransactionSimulateVoidResponse.Builder::class) @@ -87,10 +87,7 @@ private constructor( } fun build(): TransactionSimulateVoidResponse = - TransactionSimulateVoidResponse( - debuggingRequestId, - additionalProperties.toUnmodifiable() - ) + TransactionSimulateVoidResponse(debuggingRequestId, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Transfer.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Transfer.kt index 51e99844..0bfa5315 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Transfer.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/Transfer.kt @@ -13,7 +13,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.time.OffsetDateTime import java.util.Objects @@ -396,16 +396,16 @@ private constructor( created, currency, descriptor, - events.map { it.toUnmodifiable() }, - fromBalance.map { it.toUnmodifiable() }, + events.map { it.toImmutable() }, + fromBalance.map { it.toImmutable() }, pendingAmount, result, settledAmount, status, - toBalance.map { it.toUnmodifiable() }, + toBalance.map { it.toImmutable() }, token, updated, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -625,7 +625,7 @@ private constructor( result, token, type, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -748,8 +748,13 @@ private constructor( val BILLING_ERROR = FinancialEventType(JsonField.of("BILLING_ERROR")) + val BILLING_ERROR_REVERSAL = + FinancialEventType(JsonField.of("BILLING_ERROR_REVERSAL")) + val CASH_BACK = FinancialEventType(JsonField.of("CASH_BACK")) + val CASH_BACK_REVERSAL = FinancialEventType(JsonField.of("CASH_BACK_REVERSAL")) + val CLEARING = FinancialEventType(JsonField.of("CLEARING")) val CORRECTION_CREDIT = FinancialEventType(JsonField.of("CORRECTION_CREDIT")) @@ -763,6 +768,9 @@ private constructor( val CURRENCY_CONVERSION = FinancialEventType(JsonField.of("CURRENCY_CONVERSION")) + val CURRENCY_CONVERSION_REVERSAL = + FinancialEventType(JsonField.of("CURRENCY_CONVERSION_REVERSAL")) + val DISPUTE_WON = FinancialEventType(JsonField.of("DISPUTE_WON")) val EXTERNAL_ACH_CANCELED = @@ -832,10 +840,18 @@ private constructor( val INTEREST = FinancialEventType(JsonField.of("INTEREST")) + val INTEREST_REVERSAL = FinancialEventType(JsonField.of("INTEREST_REVERSAL")) + val LATE_PAYMENT = FinancialEventType(JsonField.of("LATE_PAYMENT")) + val LATE_PAYMENT_REVERSAL = + FinancialEventType(JsonField.of("LATE_PAYMENT_REVERSAL")) + val PROVISIONAL_CREDIT = FinancialEventType(JsonField.of("PROVISIONAL_CREDIT")) + val PROVISIONAL_CREDIT_REVERSAL = + FinancialEventType(JsonField.of("PROVISIONAL_CREDIT_REVERSAL")) + val RETURN = FinancialEventType(JsonField.of("RETURN")) val RETURN_REVERSAL = FinancialEventType(JsonField.of("RETURN_REVERSAL")) @@ -865,13 +881,16 @@ private constructor( AUTHORIZATION_REVERSAL, BALANCE_INQUIRY, BILLING_ERROR, + BILLING_ERROR_REVERSAL, CASH_BACK, + CASH_BACK_REVERSAL, CLEARING, CORRECTION_CREDIT, CORRECTION_DEBIT, CREDIT_AUTHORIZATION, CREDIT_AUTHORIZATION_ADVICE, CURRENCY_CONVERSION, + CURRENCY_CONVERSION_REVERSAL, DISPUTE_WON, EXTERNAL_ACH_CANCELED, EXTERNAL_ACH_INITIATED, @@ -896,8 +915,11 @@ private constructor( FINANCIAL_AUTHORIZATION, FINANCIAL_CREDIT_AUTHORIZATION, INTEREST, + INTEREST_REVERSAL, LATE_PAYMENT, + LATE_PAYMENT_REVERSAL, PROVISIONAL_CREDIT, + PROVISIONAL_CREDIT_REVERSAL, RETURN, RETURN_REVERSAL, TRANSFER, @@ -921,13 +943,16 @@ private constructor( AUTHORIZATION_REVERSAL, BALANCE_INQUIRY, BILLING_ERROR, + BILLING_ERROR_REVERSAL, CASH_BACK, + CASH_BACK_REVERSAL, CLEARING, CORRECTION_CREDIT, CORRECTION_DEBIT, CREDIT_AUTHORIZATION, CREDIT_AUTHORIZATION_ADVICE, CURRENCY_CONVERSION, + CURRENCY_CONVERSION_REVERSAL, DISPUTE_WON, EXTERNAL_ACH_CANCELED, EXTERNAL_ACH_INITIATED, @@ -952,8 +977,11 @@ private constructor( FINANCIAL_AUTHORIZATION, FINANCIAL_CREDIT_AUTHORIZATION, INTEREST, + INTEREST_REVERSAL, LATE_PAYMENT, + LATE_PAYMENT_REVERSAL, PROVISIONAL_CREDIT, + PROVISIONAL_CREDIT_REVERSAL, RETURN, RETURN_REVERSAL, TRANSFER, @@ -979,13 +1007,16 @@ private constructor( AUTHORIZATION_REVERSAL -> Value.AUTHORIZATION_REVERSAL BALANCE_INQUIRY -> Value.BALANCE_INQUIRY BILLING_ERROR -> Value.BILLING_ERROR + BILLING_ERROR_REVERSAL -> Value.BILLING_ERROR_REVERSAL CASH_BACK -> Value.CASH_BACK + CASH_BACK_REVERSAL -> Value.CASH_BACK_REVERSAL CLEARING -> Value.CLEARING CORRECTION_CREDIT -> Value.CORRECTION_CREDIT CORRECTION_DEBIT -> Value.CORRECTION_DEBIT CREDIT_AUTHORIZATION -> Value.CREDIT_AUTHORIZATION CREDIT_AUTHORIZATION_ADVICE -> Value.CREDIT_AUTHORIZATION_ADVICE CURRENCY_CONVERSION -> Value.CURRENCY_CONVERSION + CURRENCY_CONVERSION_REVERSAL -> Value.CURRENCY_CONVERSION_REVERSAL DISPUTE_WON -> Value.DISPUTE_WON EXTERNAL_ACH_CANCELED -> Value.EXTERNAL_ACH_CANCELED EXTERNAL_ACH_INITIATED -> Value.EXTERNAL_ACH_INITIATED @@ -1010,8 +1041,11 @@ private constructor( FINANCIAL_AUTHORIZATION -> Value.FINANCIAL_AUTHORIZATION FINANCIAL_CREDIT_AUTHORIZATION -> Value.FINANCIAL_CREDIT_AUTHORIZATION INTEREST -> Value.INTEREST + INTEREST_REVERSAL -> Value.INTEREST_REVERSAL LATE_PAYMENT -> Value.LATE_PAYMENT + LATE_PAYMENT_REVERSAL -> Value.LATE_PAYMENT_REVERSAL PROVISIONAL_CREDIT -> Value.PROVISIONAL_CREDIT + PROVISIONAL_CREDIT_REVERSAL -> Value.PROVISIONAL_CREDIT_REVERSAL RETURN -> Value.RETURN RETURN_REVERSAL -> Value.RETURN_REVERSAL TRANSFER -> Value.TRANSFER @@ -1037,13 +1071,16 @@ private constructor( AUTHORIZATION_REVERSAL -> Known.AUTHORIZATION_REVERSAL BALANCE_INQUIRY -> Known.BALANCE_INQUIRY BILLING_ERROR -> Known.BILLING_ERROR + BILLING_ERROR_REVERSAL -> Known.BILLING_ERROR_REVERSAL CASH_BACK -> Known.CASH_BACK + CASH_BACK_REVERSAL -> Known.CASH_BACK_REVERSAL CLEARING -> Known.CLEARING CORRECTION_CREDIT -> Known.CORRECTION_CREDIT CORRECTION_DEBIT -> Known.CORRECTION_DEBIT CREDIT_AUTHORIZATION -> Known.CREDIT_AUTHORIZATION CREDIT_AUTHORIZATION_ADVICE -> Known.CREDIT_AUTHORIZATION_ADVICE CURRENCY_CONVERSION -> Known.CURRENCY_CONVERSION + CURRENCY_CONVERSION_REVERSAL -> Known.CURRENCY_CONVERSION_REVERSAL DISPUTE_WON -> Known.DISPUTE_WON EXTERNAL_ACH_CANCELED -> Known.EXTERNAL_ACH_CANCELED EXTERNAL_ACH_INITIATED -> Known.EXTERNAL_ACH_INITIATED @@ -1068,8 +1105,11 @@ private constructor( FINANCIAL_AUTHORIZATION -> Known.FINANCIAL_AUTHORIZATION FINANCIAL_CREDIT_AUTHORIZATION -> Known.FINANCIAL_CREDIT_AUTHORIZATION INTEREST -> Known.INTEREST + INTEREST_REVERSAL -> Known.INTEREST_REVERSAL LATE_PAYMENT -> Known.LATE_PAYMENT + LATE_PAYMENT_REVERSAL -> Known.LATE_PAYMENT_REVERSAL PROVISIONAL_CREDIT -> Known.PROVISIONAL_CREDIT + PROVISIONAL_CREDIT_REVERSAL -> Known.PROVISIONAL_CREDIT_REVERSAL RETURN -> Known.RETURN RETURN_REVERSAL -> Known.RETURN_REVERSAL TRANSFER -> Known.TRANSFER diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransferCreateParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransferCreateParams.kt index 97bc200c..864bb5a4 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransferCreateParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/TransferCreateParams.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.lithic.api.core.ExcludeMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.models.* import java.util.Objects @@ -166,7 +166,7 @@ constructor( checkNotNull(to) { "`to` is required but was not set" }, token, memo, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -330,9 +330,9 @@ constructor( checkNotNull(to) { "`to` is required but was not set" }, token, memo, - additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(), - additionalBodyProperties.toUnmodifiable(), + additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(), + additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(), + additionalBodyProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2ApplyResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2ApplyResponse.kt index a6f90084..0681adf0 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2ApplyResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2ApplyResponse.kt @@ -22,7 +22,7 @@ import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect import com.lithic.api.core.getOrThrow -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -220,12 +220,12 @@ private constructor( token, state, programLevel, - cardTokens.map { it.toUnmodifiable() }, - accountTokens.map { it.toUnmodifiable() }, + cardTokens.map { it.toImmutable() }, + accountTokens.map { it.toImmutable() }, type, currentVersion, draftVersion, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -233,7 +233,7 @@ private constructor( @NoAutoDetect class CurrentVersion private constructor( - private val parameters: JsonField, + private val parameters: JsonField, private val version: JsonField, private val additionalProperties: Map, ) { @@ -241,7 +241,7 @@ private constructor( private var validated: Boolean = false /** Parameters for the current version of the Auth Rule */ - fun parameters(): AuthRuleParameters = parameters.getRequired("parameters") + fun parameters(): Parameters = parameters.getRequired("parameters") /** The version of the rule, this is incremented whenever the rule's parameters change. */ fun version(): Long = version.getRequired("version") @@ -273,7 +273,7 @@ private constructor( class Builder { - private var parameters: JsonField = JsonMissing.of() + private var parameters: JsonField = JsonMissing.of() private var version: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -284,12 +284,12 @@ private constructor( } /** Parameters for the current version of the Auth Rule */ - fun parameters(parameters: AuthRuleParameters) = parameters(JsonField.of(parameters)) + fun parameters(parameters: Parameters) = parameters(JsonField.of(parameters)) /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") @ExcludeMissing - fun parameters(parameters: JsonField) = apply { + fun parameters(parameters: JsonField) = apply { this.parameters = parameters } @@ -323,13 +323,13 @@ private constructor( CurrentVersion( parameters, version, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -365,10 +365,10 @@ private constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -381,7 +381,7 @@ private constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -391,11 +391,11 @@ private constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -403,10 +403,10 @@ private constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -418,33 +418,34 @@ private constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -454,7 +455,7 @@ private constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -528,8 +529,8 @@ private constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -545,20 +546,84 @@ private constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -596,10 +661,74 @@ private constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -616,8 +745,10 @@ private constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -642,7 +773,7 @@ private constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -929,6 +1060,7 @@ private constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } @@ -1029,7 +1161,7 @@ private constructor( @NoAutoDetect class DraftVersion private constructor( - private val parameters: JsonField, + private val parameters: JsonField, private val version: JsonField, private val additionalProperties: Map, ) { @@ -1037,7 +1169,7 @@ private constructor( private var validated: Boolean = false /** Parameters for the current version of the Auth Rule */ - fun parameters(): AuthRuleParameters = parameters.getRequired("parameters") + fun parameters(): Parameters = parameters.getRequired("parameters") /** The version of the rule, this is incremented whenever the rule's parameters change. */ fun version(): Long = version.getRequired("version") @@ -1069,7 +1201,7 @@ private constructor( class Builder { - private var parameters: JsonField = JsonMissing.of() + private var parameters: JsonField = JsonMissing.of() private var version: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -1080,12 +1212,12 @@ private constructor( } /** Parameters for the current version of the Auth Rule */ - fun parameters(parameters: AuthRuleParameters) = parameters(JsonField.of(parameters)) + fun parameters(parameters: Parameters) = parameters(JsonField.of(parameters)) /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") @ExcludeMissing - fun parameters(parameters: JsonField) = apply { + fun parameters(parameters: JsonField) = apply { this.parameters = parameters } @@ -1119,13 +1251,13 @@ private constructor( DraftVersion( parameters, version, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -1161,10 +1293,10 @@ private constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -1177,7 +1309,7 @@ private constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -1187,11 +1319,11 @@ private constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -1199,10 +1331,10 @@ private constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -1214,33 +1346,34 @@ private constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -1250,7 +1383,7 @@ private constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -1324,8 +1457,8 @@ private constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -1341,20 +1474,84 @@ private constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -1392,10 +1589,74 @@ private constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -1412,8 +1673,10 @@ private constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -1438,7 +1701,7 @@ private constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1725,6 +1988,7 @@ private constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2CreateResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2CreateResponse.kt index 71eee2e1..200436c0 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2CreateResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2CreateResponse.kt @@ -22,7 +22,7 @@ import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect import com.lithic.api.core.getOrThrow -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -220,12 +220,12 @@ private constructor( token, state, programLevel, - cardTokens.map { it.toUnmodifiable() }, - accountTokens.map { it.toUnmodifiable() }, + cardTokens.map { it.toImmutable() }, + accountTokens.map { it.toImmutable() }, type, currentVersion, draftVersion, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -233,7 +233,7 @@ private constructor( @NoAutoDetect class CurrentVersion private constructor( - private val parameters: JsonField, + private val parameters: JsonField, private val version: JsonField, private val additionalProperties: Map, ) { @@ -241,7 +241,7 @@ private constructor( private var validated: Boolean = false /** Parameters for the current version of the Auth Rule */ - fun parameters(): AuthRuleParameters = parameters.getRequired("parameters") + fun parameters(): Parameters = parameters.getRequired("parameters") /** The version of the rule, this is incremented whenever the rule's parameters change. */ fun version(): Long = version.getRequired("version") @@ -273,7 +273,7 @@ private constructor( class Builder { - private var parameters: JsonField = JsonMissing.of() + private var parameters: JsonField = JsonMissing.of() private var version: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -284,12 +284,12 @@ private constructor( } /** Parameters for the current version of the Auth Rule */ - fun parameters(parameters: AuthRuleParameters) = parameters(JsonField.of(parameters)) + fun parameters(parameters: Parameters) = parameters(JsonField.of(parameters)) /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") @ExcludeMissing - fun parameters(parameters: JsonField) = apply { + fun parameters(parameters: JsonField) = apply { this.parameters = parameters } @@ -323,13 +323,13 @@ private constructor( CurrentVersion( parameters, version, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -365,10 +365,10 @@ private constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -381,7 +381,7 @@ private constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -391,11 +391,11 @@ private constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -403,10 +403,10 @@ private constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -418,33 +418,34 @@ private constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -454,7 +455,7 @@ private constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -528,8 +529,8 @@ private constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -545,20 +546,84 @@ private constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -596,10 +661,74 @@ private constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -616,8 +745,10 @@ private constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -642,7 +773,7 @@ private constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -929,6 +1060,7 @@ private constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } @@ -1029,7 +1161,7 @@ private constructor( @NoAutoDetect class DraftVersion private constructor( - private val parameters: JsonField, + private val parameters: JsonField, private val version: JsonField, private val additionalProperties: Map, ) { @@ -1037,7 +1169,7 @@ private constructor( private var validated: Boolean = false /** Parameters for the current version of the Auth Rule */ - fun parameters(): AuthRuleParameters = parameters.getRequired("parameters") + fun parameters(): Parameters = parameters.getRequired("parameters") /** The version of the rule, this is incremented whenever the rule's parameters change. */ fun version(): Long = version.getRequired("version") @@ -1069,7 +1201,7 @@ private constructor( class Builder { - private var parameters: JsonField = JsonMissing.of() + private var parameters: JsonField = JsonMissing.of() private var version: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -1080,12 +1212,12 @@ private constructor( } /** Parameters for the current version of the Auth Rule */ - fun parameters(parameters: AuthRuleParameters) = parameters(JsonField.of(parameters)) + fun parameters(parameters: Parameters) = parameters(JsonField.of(parameters)) /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") @ExcludeMissing - fun parameters(parameters: JsonField) = apply { + fun parameters(parameters: JsonField) = apply { this.parameters = parameters } @@ -1119,13 +1251,13 @@ private constructor( DraftVersion( parameters, version, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -1161,10 +1293,10 @@ private constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -1177,7 +1309,7 @@ private constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -1187,11 +1319,11 @@ private constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -1199,10 +1331,10 @@ private constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -1214,33 +1346,34 @@ private constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -1250,7 +1383,7 @@ private constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -1324,8 +1457,8 @@ private constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -1341,20 +1474,84 @@ private constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -1392,10 +1589,74 @@ private constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -1412,8 +1673,10 @@ private constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -1438,7 +1701,7 @@ private constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1725,6 +1988,7 @@ private constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2DraftResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2DraftResponse.kt index c84d07b9..680c6771 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2DraftResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2DraftResponse.kt @@ -22,7 +22,7 @@ import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect import com.lithic.api.core.getOrThrow -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -220,12 +220,12 @@ private constructor( token, state, programLevel, - cardTokens.map { it.toUnmodifiable() }, - accountTokens.map { it.toUnmodifiable() }, + cardTokens.map { it.toImmutable() }, + accountTokens.map { it.toImmutable() }, type, currentVersion, draftVersion, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -233,7 +233,7 @@ private constructor( @NoAutoDetect class CurrentVersion private constructor( - private val parameters: JsonField, + private val parameters: JsonField, private val version: JsonField, private val additionalProperties: Map, ) { @@ -241,7 +241,7 @@ private constructor( private var validated: Boolean = false /** Parameters for the current version of the Auth Rule */ - fun parameters(): AuthRuleParameters = parameters.getRequired("parameters") + fun parameters(): Parameters = parameters.getRequired("parameters") /** The version of the rule, this is incremented whenever the rule's parameters change. */ fun version(): Long = version.getRequired("version") @@ -273,7 +273,7 @@ private constructor( class Builder { - private var parameters: JsonField = JsonMissing.of() + private var parameters: JsonField = JsonMissing.of() private var version: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -284,12 +284,12 @@ private constructor( } /** Parameters for the current version of the Auth Rule */ - fun parameters(parameters: AuthRuleParameters) = parameters(JsonField.of(parameters)) + fun parameters(parameters: Parameters) = parameters(JsonField.of(parameters)) /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") @ExcludeMissing - fun parameters(parameters: JsonField) = apply { + fun parameters(parameters: JsonField) = apply { this.parameters = parameters } @@ -323,13 +323,13 @@ private constructor( CurrentVersion( parameters, version, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -365,10 +365,10 @@ private constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -381,7 +381,7 @@ private constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -391,11 +391,11 @@ private constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -403,10 +403,10 @@ private constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -418,33 +418,34 @@ private constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -454,7 +455,7 @@ private constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -528,8 +529,8 @@ private constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -545,20 +546,84 @@ private constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -596,10 +661,74 @@ private constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -616,8 +745,10 @@ private constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -642,7 +773,7 @@ private constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -929,6 +1060,7 @@ private constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } @@ -1029,7 +1161,7 @@ private constructor( @NoAutoDetect class DraftVersion private constructor( - private val parameters: JsonField, + private val parameters: JsonField, private val version: JsonField, private val additionalProperties: Map, ) { @@ -1037,7 +1169,7 @@ private constructor( private var validated: Boolean = false /** Parameters for the current version of the Auth Rule */ - fun parameters(): AuthRuleParameters = parameters.getRequired("parameters") + fun parameters(): Parameters = parameters.getRequired("parameters") /** The version of the rule, this is incremented whenever the rule's parameters change. */ fun version(): Long = version.getRequired("version") @@ -1069,7 +1201,7 @@ private constructor( class Builder { - private var parameters: JsonField = JsonMissing.of() + private var parameters: JsonField = JsonMissing.of() private var version: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -1080,12 +1212,12 @@ private constructor( } /** Parameters for the current version of the Auth Rule */ - fun parameters(parameters: AuthRuleParameters) = parameters(JsonField.of(parameters)) + fun parameters(parameters: Parameters) = parameters(JsonField.of(parameters)) /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") @ExcludeMissing - fun parameters(parameters: JsonField) = apply { + fun parameters(parameters: JsonField) = apply { this.parameters = parameters } @@ -1119,13 +1251,13 @@ private constructor( DraftVersion( parameters, version, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -1161,10 +1293,10 @@ private constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -1177,7 +1309,7 @@ private constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -1187,11 +1319,11 @@ private constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -1199,10 +1331,10 @@ private constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -1214,33 +1346,34 @@ private constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -1250,7 +1383,7 @@ private constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -1324,8 +1457,8 @@ private constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -1341,20 +1474,84 @@ private constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -1392,10 +1589,74 @@ private constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -1412,8 +1673,10 @@ private constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -1438,7 +1701,7 @@ private constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1725,6 +1988,7 @@ private constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2ListResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2ListResponse.kt index f51bc190..96175b99 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2ListResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2ListResponse.kt @@ -22,7 +22,7 @@ import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect import com.lithic.api.core.getOrThrow -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -220,12 +220,12 @@ private constructor( token, state, programLevel, - cardTokens.map { it.toUnmodifiable() }, - accountTokens.map { it.toUnmodifiable() }, + cardTokens.map { it.toImmutable() }, + accountTokens.map { it.toImmutable() }, type, currentVersion, draftVersion, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -233,7 +233,7 @@ private constructor( @NoAutoDetect class CurrentVersion private constructor( - private val parameters: JsonField, + private val parameters: JsonField, private val version: JsonField, private val additionalProperties: Map, ) { @@ -241,7 +241,7 @@ private constructor( private var validated: Boolean = false /** Parameters for the current version of the Auth Rule */ - fun parameters(): AuthRuleParameters = parameters.getRequired("parameters") + fun parameters(): Parameters = parameters.getRequired("parameters") /** The version of the rule, this is incremented whenever the rule's parameters change. */ fun version(): Long = version.getRequired("version") @@ -273,7 +273,7 @@ private constructor( class Builder { - private var parameters: JsonField = JsonMissing.of() + private var parameters: JsonField = JsonMissing.of() private var version: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -284,12 +284,12 @@ private constructor( } /** Parameters for the current version of the Auth Rule */ - fun parameters(parameters: AuthRuleParameters) = parameters(JsonField.of(parameters)) + fun parameters(parameters: Parameters) = parameters(JsonField.of(parameters)) /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") @ExcludeMissing - fun parameters(parameters: JsonField) = apply { + fun parameters(parameters: JsonField) = apply { this.parameters = parameters } @@ -323,13 +323,13 @@ private constructor( CurrentVersion( parameters, version, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -365,10 +365,10 @@ private constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -381,7 +381,7 @@ private constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -391,11 +391,11 @@ private constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -403,10 +403,10 @@ private constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -418,33 +418,34 @@ private constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -454,7 +455,7 @@ private constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -528,8 +529,8 @@ private constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -545,20 +546,84 @@ private constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -596,10 +661,74 @@ private constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -616,8 +745,10 @@ private constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -642,7 +773,7 @@ private constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -929,6 +1060,7 @@ private constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } @@ -1029,7 +1161,7 @@ private constructor( @NoAutoDetect class DraftVersion private constructor( - private val parameters: JsonField, + private val parameters: JsonField, private val version: JsonField, private val additionalProperties: Map, ) { @@ -1037,7 +1169,7 @@ private constructor( private var validated: Boolean = false /** Parameters for the current version of the Auth Rule */ - fun parameters(): AuthRuleParameters = parameters.getRequired("parameters") + fun parameters(): Parameters = parameters.getRequired("parameters") /** The version of the rule, this is incremented whenever the rule's parameters change. */ fun version(): Long = version.getRequired("version") @@ -1069,7 +1201,7 @@ private constructor( class Builder { - private var parameters: JsonField = JsonMissing.of() + private var parameters: JsonField = JsonMissing.of() private var version: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -1080,12 +1212,12 @@ private constructor( } /** Parameters for the current version of the Auth Rule */ - fun parameters(parameters: AuthRuleParameters) = parameters(JsonField.of(parameters)) + fun parameters(parameters: Parameters) = parameters(JsonField.of(parameters)) /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") @ExcludeMissing - fun parameters(parameters: JsonField) = apply { + fun parameters(parameters: JsonField) = apply { this.parameters = parameters } @@ -1119,13 +1251,13 @@ private constructor( DraftVersion( parameters, version, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -1161,10 +1293,10 @@ private constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -1177,7 +1309,7 @@ private constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -1187,11 +1319,11 @@ private constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -1199,10 +1331,10 @@ private constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -1214,33 +1346,34 @@ private constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -1250,7 +1383,7 @@ private constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -1324,8 +1457,8 @@ private constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -1341,20 +1474,84 @@ private constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -1392,10 +1589,74 @@ private constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -1412,8 +1673,10 @@ private constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -1438,7 +1701,7 @@ private constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1725,6 +1988,7 @@ private constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2PromoteResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2PromoteResponse.kt index 7613f8c2..ca1a3f7b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2PromoteResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2PromoteResponse.kt @@ -22,7 +22,7 @@ import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect import com.lithic.api.core.getOrThrow -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -220,12 +220,12 @@ private constructor( token, state, programLevel, - cardTokens.map { it.toUnmodifiable() }, - accountTokens.map { it.toUnmodifiable() }, + cardTokens.map { it.toImmutable() }, + accountTokens.map { it.toImmutable() }, type, currentVersion, draftVersion, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -233,7 +233,7 @@ private constructor( @NoAutoDetect class CurrentVersion private constructor( - private val parameters: JsonField, + private val parameters: JsonField, private val version: JsonField, private val additionalProperties: Map, ) { @@ -241,7 +241,7 @@ private constructor( private var validated: Boolean = false /** Parameters for the current version of the Auth Rule */ - fun parameters(): AuthRuleParameters = parameters.getRequired("parameters") + fun parameters(): Parameters = parameters.getRequired("parameters") /** The version of the rule, this is incremented whenever the rule's parameters change. */ fun version(): Long = version.getRequired("version") @@ -273,7 +273,7 @@ private constructor( class Builder { - private var parameters: JsonField = JsonMissing.of() + private var parameters: JsonField = JsonMissing.of() private var version: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -284,12 +284,12 @@ private constructor( } /** Parameters for the current version of the Auth Rule */ - fun parameters(parameters: AuthRuleParameters) = parameters(JsonField.of(parameters)) + fun parameters(parameters: Parameters) = parameters(JsonField.of(parameters)) /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") @ExcludeMissing - fun parameters(parameters: JsonField) = apply { + fun parameters(parameters: JsonField) = apply { this.parameters = parameters } @@ -323,13 +323,13 @@ private constructor( CurrentVersion( parameters, version, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -365,10 +365,10 @@ private constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -381,7 +381,7 @@ private constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -391,11 +391,11 @@ private constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -403,10 +403,10 @@ private constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -418,33 +418,34 @@ private constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -454,7 +455,7 @@ private constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -528,8 +529,8 @@ private constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -545,20 +546,84 @@ private constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -596,10 +661,74 @@ private constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -616,8 +745,10 @@ private constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -642,7 +773,7 @@ private constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -929,6 +1060,7 @@ private constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } @@ -1029,7 +1161,7 @@ private constructor( @NoAutoDetect class DraftVersion private constructor( - private val parameters: JsonField, + private val parameters: JsonField, private val version: JsonField, private val additionalProperties: Map, ) { @@ -1037,7 +1169,7 @@ private constructor( private var validated: Boolean = false /** Parameters for the current version of the Auth Rule */ - fun parameters(): AuthRuleParameters = parameters.getRequired("parameters") + fun parameters(): Parameters = parameters.getRequired("parameters") /** The version of the rule, this is incremented whenever the rule's parameters change. */ fun version(): Long = version.getRequired("version") @@ -1069,7 +1201,7 @@ private constructor( class Builder { - private var parameters: JsonField = JsonMissing.of() + private var parameters: JsonField = JsonMissing.of() private var version: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -1080,12 +1212,12 @@ private constructor( } /** Parameters for the current version of the Auth Rule */ - fun parameters(parameters: AuthRuleParameters) = parameters(JsonField.of(parameters)) + fun parameters(parameters: Parameters) = parameters(JsonField.of(parameters)) /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") @ExcludeMissing - fun parameters(parameters: JsonField) = apply { + fun parameters(parameters: JsonField) = apply { this.parameters = parameters } @@ -1119,13 +1251,13 @@ private constructor( DraftVersion( parameters, version, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -1161,10 +1293,10 @@ private constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -1177,7 +1309,7 @@ private constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -1187,11 +1319,11 @@ private constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -1199,10 +1331,10 @@ private constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -1214,33 +1346,34 @@ private constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -1250,7 +1383,7 @@ private constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -1324,8 +1457,8 @@ private constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -1341,20 +1474,84 @@ private constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -1392,10 +1589,74 @@ private constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -1412,8 +1673,10 @@ private constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -1438,7 +1701,7 @@ private constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1725,6 +1988,7 @@ private constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2ReportResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2ReportResponse.kt index ac776027..4a27339d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2ReportResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2ReportResponse.kt @@ -11,7 +11,7 @@ import com.lithic.api.core.JsonField import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import java.util.Objects @JsonDeserialize(builder = V2ReportResponse.Builder::class) @@ -77,7 +77,7 @@ private constructor( } fun build(): V2ReportResponse = - V2ReportResponse(reportToken, additionalProperties.toUnmodifiable()) + V2ReportResponse(reportToken, additionalProperties.toImmutable()) } override fun equals(other: Any?): Boolean { diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2RetrieveResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2RetrieveResponse.kt index bbf9d44f..6338e708 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2RetrieveResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2RetrieveResponse.kt @@ -22,7 +22,7 @@ import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect import com.lithic.api.core.getOrThrow -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -220,12 +220,12 @@ private constructor( token, state, programLevel, - cardTokens.map { it.toUnmodifiable() }, - accountTokens.map { it.toUnmodifiable() }, + cardTokens.map { it.toImmutable() }, + accountTokens.map { it.toImmutable() }, type, currentVersion, draftVersion, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -233,7 +233,7 @@ private constructor( @NoAutoDetect class CurrentVersion private constructor( - private val parameters: JsonField, + private val parameters: JsonField, private val version: JsonField, private val additionalProperties: Map, ) { @@ -241,7 +241,7 @@ private constructor( private var validated: Boolean = false /** Parameters for the current version of the Auth Rule */ - fun parameters(): AuthRuleParameters = parameters.getRequired("parameters") + fun parameters(): Parameters = parameters.getRequired("parameters") /** The version of the rule, this is incremented whenever the rule's parameters change. */ fun version(): Long = version.getRequired("version") @@ -273,7 +273,7 @@ private constructor( class Builder { - private var parameters: JsonField = JsonMissing.of() + private var parameters: JsonField = JsonMissing.of() private var version: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -284,12 +284,12 @@ private constructor( } /** Parameters for the current version of the Auth Rule */ - fun parameters(parameters: AuthRuleParameters) = parameters(JsonField.of(parameters)) + fun parameters(parameters: Parameters) = parameters(JsonField.of(parameters)) /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") @ExcludeMissing - fun parameters(parameters: JsonField) = apply { + fun parameters(parameters: JsonField) = apply { this.parameters = parameters } @@ -323,13 +323,13 @@ private constructor( CurrentVersion( parameters, version, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -365,10 +365,10 @@ private constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -381,7 +381,7 @@ private constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -391,11 +391,11 @@ private constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -403,10 +403,10 @@ private constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -418,33 +418,34 @@ private constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -454,7 +455,7 @@ private constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -528,8 +529,8 @@ private constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -545,20 +546,84 @@ private constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -596,10 +661,74 @@ private constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -616,8 +745,10 @@ private constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -642,7 +773,7 @@ private constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -929,6 +1060,7 @@ private constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } @@ -1029,7 +1161,7 @@ private constructor( @NoAutoDetect class DraftVersion private constructor( - private val parameters: JsonField, + private val parameters: JsonField, private val version: JsonField, private val additionalProperties: Map, ) { @@ -1037,7 +1169,7 @@ private constructor( private var validated: Boolean = false /** Parameters for the current version of the Auth Rule */ - fun parameters(): AuthRuleParameters = parameters.getRequired("parameters") + fun parameters(): Parameters = parameters.getRequired("parameters") /** The version of the rule, this is incremented whenever the rule's parameters change. */ fun version(): Long = version.getRequired("version") @@ -1069,7 +1201,7 @@ private constructor( class Builder { - private var parameters: JsonField = JsonMissing.of() + private var parameters: JsonField = JsonMissing.of() private var version: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -1080,12 +1212,12 @@ private constructor( } /** Parameters for the current version of the Auth Rule */ - fun parameters(parameters: AuthRuleParameters) = parameters(JsonField.of(parameters)) + fun parameters(parameters: Parameters) = parameters(JsonField.of(parameters)) /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") @ExcludeMissing - fun parameters(parameters: JsonField) = apply { + fun parameters(parameters: JsonField) = apply { this.parameters = parameters } @@ -1119,13 +1251,13 @@ private constructor( DraftVersion( parameters, version, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -1161,10 +1293,10 @@ private constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -1177,7 +1309,7 @@ private constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -1187,11 +1319,11 @@ private constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -1199,10 +1331,10 @@ private constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -1214,33 +1346,34 @@ private constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -1250,7 +1383,7 @@ private constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -1324,8 +1457,8 @@ private constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -1341,20 +1474,84 @@ private constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -1392,10 +1589,74 @@ private constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -1412,8 +1673,10 @@ private constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -1438,7 +1701,7 @@ private constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1725,6 +1988,7 @@ private constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2UpdateResponse.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2UpdateResponse.kt index d2cba458..7bd14741 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2UpdateResponse.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/V2UpdateResponse.kt @@ -22,7 +22,7 @@ import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect import com.lithic.api.core.getOrThrow -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -220,12 +220,12 @@ private constructor( token, state, programLevel, - cardTokens.map { it.toUnmodifiable() }, - accountTokens.map { it.toUnmodifiable() }, + cardTokens.map { it.toImmutable() }, + accountTokens.map { it.toImmutable() }, type, currentVersion, draftVersion, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -233,7 +233,7 @@ private constructor( @NoAutoDetect class CurrentVersion private constructor( - private val parameters: JsonField, + private val parameters: JsonField, private val version: JsonField, private val additionalProperties: Map, ) { @@ -241,7 +241,7 @@ private constructor( private var validated: Boolean = false /** Parameters for the current version of the Auth Rule */ - fun parameters(): AuthRuleParameters = parameters.getRequired("parameters") + fun parameters(): Parameters = parameters.getRequired("parameters") /** The version of the rule, this is incremented whenever the rule's parameters change. */ fun version(): Long = version.getRequired("version") @@ -273,7 +273,7 @@ private constructor( class Builder { - private var parameters: JsonField = JsonMissing.of() + private var parameters: JsonField = JsonMissing.of() private var version: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -284,12 +284,12 @@ private constructor( } /** Parameters for the current version of the Auth Rule */ - fun parameters(parameters: AuthRuleParameters) = parameters(JsonField.of(parameters)) + fun parameters(parameters: Parameters) = parameters(JsonField.of(parameters)) /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") @ExcludeMissing - fun parameters(parameters: JsonField) = apply { + fun parameters(parameters: JsonField) = apply { this.parameters = parameters } @@ -323,13 +323,13 @@ private constructor( CurrentVersion( parameters, version, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -365,10 +365,10 @@ private constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -381,7 +381,7 @@ private constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -391,11 +391,11 @@ private constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -403,10 +403,10 @@ private constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -418,33 +418,34 @@ private constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -454,7 +455,7 @@ private constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -528,8 +529,8 @@ private constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -545,20 +546,84 @@ private constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -596,10 +661,74 @@ private constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -616,8 +745,10 @@ private constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -642,7 +773,7 @@ private constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -929,6 +1060,7 @@ private constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } @@ -1029,7 +1161,7 @@ private constructor( @NoAutoDetect class DraftVersion private constructor( - private val parameters: JsonField, + private val parameters: JsonField, private val version: JsonField, private val additionalProperties: Map, ) { @@ -1037,7 +1169,7 @@ private constructor( private var validated: Boolean = false /** Parameters for the current version of the Auth Rule */ - fun parameters(): AuthRuleParameters = parameters.getRequired("parameters") + fun parameters(): Parameters = parameters.getRequired("parameters") /** The version of the rule, this is incremented whenever the rule's parameters change. */ fun version(): Long = version.getRequired("version") @@ -1069,7 +1201,7 @@ private constructor( class Builder { - private var parameters: JsonField = JsonMissing.of() + private var parameters: JsonField = JsonMissing.of() private var version: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -1080,12 +1212,12 @@ private constructor( } /** Parameters for the current version of the Auth Rule */ - fun parameters(parameters: AuthRuleParameters) = parameters(JsonField.of(parameters)) + fun parameters(parameters: Parameters) = parameters(JsonField.of(parameters)) /** Parameters for the current version of the Auth Rule */ @JsonProperty("parameters") @ExcludeMissing - fun parameters(parameters: JsonField) = apply { + fun parameters(parameters: JsonField) = apply { this.parameters = parameters } @@ -1119,13 +1251,13 @@ private constructor( DraftVersion( parameters, version, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } - @JsonDeserialize(using = AuthRuleParameters.Deserializer::class) - @JsonSerialize(using = AuthRuleParameters.Serializer::class) - class AuthRuleParameters + @JsonDeserialize(using = Parameters.Deserializer::class) + @JsonSerialize(using = Parameters.Serializer::class) + class Parameters private constructor( private val conditionalBlockParameters: ConditionalBlockParameters? = null, private val velocityLimitParams: VelocityLimitParams? = null, @@ -1161,10 +1293,10 @@ private constructor( } } - fun validate(): AuthRuleParameters = apply { + fun validate(): Parameters = apply { if (!validated) { if (conditionalBlockParameters == null && velocityLimitParams == null) { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $_json") + throw LithicInvalidDataException("Unknown Parameters: $_json") } conditionalBlockParameters?.validate() velocityLimitParams?.validate() @@ -1177,7 +1309,7 @@ private constructor( return true } - return /* spotless:off */ other is AuthRuleParameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ + return /* spotless:off */ other is Parameters && this.conditionalBlockParameters == other.conditionalBlockParameters && this.velocityLimitParams == other.velocityLimitParams /* spotless:on */ } override fun hashCode(): Int { @@ -1187,11 +1319,11 @@ private constructor( override fun toString(): String { return when { conditionalBlockParameters != null -> - "AuthRuleParameters{conditionalBlockParameters=$conditionalBlockParameters}" + "Parameters{conditionalBlockParameters=$conditionalBlockParameters}" velocityLimitParams != null -> - "AuthRuleParameters{velocityLimitParams=$velocityLimitParams}" - _json != null -> "AuthRuleParameters{_unknown=$_json}" - else -> throw IllegalStateException("Invalid AuthRuleParameters") + "Parameters{velocityLimitParams=$velocityLimitParams}" + _json != null -> "Parameters{_unknown=$_json}" + else -> throw IllegalStateException("Invalid Parameters") } } @@ -1199,10 +1331,10 @@ private constructor( fun ofConditionalBlockParameters( conditionalBlockParameters: ConditionalBlockParameters - ) = AuthRuleParameters(conditionalBlockParameters = conditionalBlockParameters) + ) = Parameters(conditionalBlockParameters = conditionalBlockParameters) fun ofVelocityLimitParams(velocityLimitParams: VelocityLimitParams) = - AuthRuleParameters(velocityLimitParams = velocityLimitParams) + Parameters(velocityLimitParams = velocityLimitParams) } interface Visitor { @@ -1214,33 +1346,34 @@ private constructor( fun visitVelocityLimitParams(velocityLimitParams: VelocityLimitParams): T fun unknown(json: JsonValue?): T { - throw LithicInvalidDataException("Unknown AuthRuleParameters: $json") + throw LithicInvalidDataException("Unknown Parameters: $json") } } - class Deserializer : BaseDeserializer(AuthRuleParameters::class) { + class Deserializer : BaseDeserializer(Parameters::class) { - override fun ObjectCodec.deserialize(node: JsonNode): AuthRuleParameters { + override fun ObjectCodec.deserialize(node: JsonNode): Parameters { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(conditionalBlockParameters = it, _json = json) + return Parameters(conditionalBlockParameters = it, _json = json) } tryDeserialize(node, jacksonTypeRef()) { it.validate() } ?.let { - return AuthRuleParameters(velocityLimitParams = it, _json = json) + return Parameters(velocityLimitParams = it, _json = json) } - return AuthRuleParameters(_json = json) + return Parameters(_json = json) } } - class Serializer : BaseSerializer(AuthRuleParameters::class) { + class Serializer : BaseSerializer(Parameters::class) { override fun serialize( - value: AuthRuleParameters, + value: Parameters, generator: JsonGenerator, provider: SerializerProvider ) { @@ -1250,7 +1383,7 @@ private constructor( value.velocityLimitParams != null -> generator.writeObject(value.velocityLimitParams) value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid AuthRuleParameters") + else -> throw IllegalStateException("Invalid Parameters") } } } @@ -1324,8 +1457,8 @@ private constructor( fun build(): ConditionalBlockParameters = ConditionalBlockParameters( - conditions.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable() + conditions.map { it.toImmutable() }, + additionalProperties.toImmutable() ) } @@ -1341,20 +1474,84 @@ private constructor( private var validated: Boolean = false - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(): Attribute? = attribute.getNullable("attribute") /** The operation to apply to the attribute */ fun operation(): Operation? = operation.getNullable("operation") + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(): Value? = value.getNullable("value") - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify + * a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all + * ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for + * Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency of + * the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor + * (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, + * `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, + * `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This is + * the amount the issuer should authorize against unless the issuer is paying + * the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated with a + * given authorization. Scores are on a range of 0-999, with 0 representing + * the lowest risk and 999 representing the highest risk. For Visa + * transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun _attribute() = attribute /** The operation to apply to the attribute */ @JsonProperty("operation") @ExcludeMissing fun _operation() = operation + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun _value() = value @JsonAnyGetter @@ -1392,10 +1589,74 @@ private constructor( additionalProperties(condition.additionalProperties) } - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ fun attribute(attribute: Attribute) = attribute(JsonField.of(attribute)) - /** The attribute to target */ + /** + * The attribute to target. + * + * The following attributes may be targeted: + * - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to + * classify a business by the types of goods or services it provides. + * - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) + * all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT + * for Netherlands Antilles. + * - `CURRENCY`: 3-digit alphabetic ISO 4217 code for the merchant currency + * of the transaction. + * - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card + * acceptor (merchant). + * - `DESCRIPTOR`: Short description of card acceptor. + * - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the + * issuer applies to the transaction. Valid values are `NONE`, + * `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`. + * - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account + * number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, + * `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, + * `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, + * `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or + * `ECOMMERCE`. + * - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the + * acquirer fee field in the settlement/cardholder billing currency. This + * is the amount the issuer should authorize against unless the issuer is + * paying the acquirer fee on behalf of the cardholder. + * - `RISK_SCORE`: Network-provided score assessing risk level associated + * with a given authorization. Scores are on a range of 0-999, with 0 + * representing the lowest risk and 999 representing the highest risk. For + * Visa transactions, where the raw score has a range of 0-99, Lithic will + * normalize the score by multiplying the raw score by 10x. + */ @JsonProperty("attribute") @ExcludeMissing fun attribute(attribute: JsonField) = apply { @@ -1412,8 +1673,10 @@ private constructor( this.operation = operation } + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ fun value(value: Value) = value(JsonField.of(value)) + /** A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` */ @JsonProperty("value") @ExcludeMissing fun value(value: JsonField) = apply { this.value = value } @@ -1438,7 +1701,7 @@ private constructor( attribute, operation, value, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -1725,6 +1988,7 @@ private constructor( override fun ObjectCodec.deserialize(node: JsonNode): Value { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Value(string = it, _json = json) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/VelocityLimitParams.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/VelocityLimitParams.kt index 797b3eeb..2cef96ab 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/VelocityLimitParams.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/models/VelocityLimitParams.kt @@ -22,7 +22,7 @@ import com.lithic.api.core.JsonMissing import com.lithic.api.core.JsonValue import com.lithic.api.core.NoAutoDetect import com.lithic.api.core.getOrThrow -import com.lithic.api.core.toUnmodifiable +import com.lithic.api.core.toImmutable import com.lithic.api.errors.LithicInvalidDataException import java.util.Objects @@ -42,6 +42,10 @@ private constructor( fun scope(): Scope = scope.getRequired("scope") + /** + * The size of the trailing window to calculate Spend Velocity over in seconds. The minimum + * value is 10 seconds, and the maximum value is 2678400 seconds. + */ fun period(): Period = period.getRequired("period") fun filters(): Filters = filters.getRequired("filters") @@ -62,6 +66,10 @@ private constructor( @JsonProperty("scope") @ExcludeMissing fun _scope() = scope + /** + * The size of the trailing window to calculate Spend Velocity over in seconds. The minimum + * value is 10 seconds, and the maximum value is 2678400 seconds. + */ @JsonProperty("period") @ExcludeMissing fun _period() = period @JsonProperty("filters") @ExcludeMissing fun _filters() = filters @@ -126,8 +134,16 @@ private constructor( @ExcludeMissing fun scope(scope: JsonField) = apply { this.scope = scope } + /** + * The size of the trailing window to calculate Spend Velocity over in seconds. The minimum + * value is 10 seconds, and the maximum value is 2678400 seconds. + */ fun period(period: Period) = period(JsonField.of(period)) + /** + * The size of the trailing window to calculate Spend Velocity over in seconds. The minimum + * value is 10 seconds, and the maximum value is 2678400 seconds. + */ @JsonProperty("period") @ExcludeMissing fun period(period: JsonField) = apply { this.period = period } @@ -193,7 +209,7 @@ private constructor( filters, limitAmount, limitCount, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } @@ -314,9 +330,9 @@ private constructor( fun build(): Filters = Filters( - includeMccs.map { it.toUnmodifiable() }, - includeCountries.map { it.toUnmodifiable() }, - additionalProperties.toUnmodifiable(), + includeMccs.map { it.toImmutable() }, + includeCountries.map { it.toImmutable() }, + additionalProperties.toImmutable(), ) } @@ -352,7 +368,10 @@ private constructor( private var validated: Boolean = false - /** The size of the trailing window to calculate Spend Velocity over in seconds. */ + /** + * The size of the trailing window to calculate Spend Velocity over in seconds. The minimum + * value is 10 seconds, and the maximum value is 2678400 seconds. + */ fun double(): Double? = double /** * The window of time to calculate Spend Velocity over. @@ -440,6 +459,7 @@ private constructor( override fun ObjectCodec.deserialize(node: JsonNode): Period { val json = JsonValue.fromJsonNode(node) + tryDeserialize(node, jacksonTypeRef())?.let { return Period(double = it, _json = json) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AccountHolderServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AccountHolderServiceAsync.kt index 26632962..0c4c5100 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AccountHolderServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AccountHolderServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AccountHolderServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AccountHolderServiceAsyncImpl.kt index 3ff27c4d..c0f103e8 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AccountHolderServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AccountHolderServiceAsyncImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.AccountHolder import com.lithic.api.models.AccountHolderCreateParams @@ -25,10 +29,6 @@ import com.lithic.api.models.AccountHolderUpdateParams import com.lithic.api.models.AccountHolderUpdateResponse import com.lithic.api.models.AccountHolderUploadDocumentParams import com.lithic.api.models.Document -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler import java.time.Duration class AccountHolderServiceAsyncImpl diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AccountServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AccountServiceAsync.kt index 341dd669..bacb2eeb 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AccountServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AccountServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AccountServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AccountServiceAsyncImpl.kt index 275d4bc5..8be44420 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AccountServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AccountServiceAsyncImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.Account import com.lithic.api.models.AccountListPageAsync @@ -15,10 +19,6 @@ import com.lithic.api.models.AccountRetrieveParams import com.lithic.api.models.AccountRetrieveSpendLimitsParams import com.lithic.api.models.AccountSpendLimits import com.lithic.api.models.AccountUpdateParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class AccountServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AggregateBalanceServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AggregateBalanceServiceAsync.kt index 1986e3ba..b1ab1d4a 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AggregateBalanceServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AggregateBalanceServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AggregateBalanceServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AggregateBalanceServiceAsyncImpl.kt index 637d11b8..7f9896b4 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AggregateBalanceServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AggregateBalanceServiceAsyncImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.AggregateBalanceListPageAsync import com.lithic.api.models.AggregateBalanceListParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class AggregateBalanceServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AuthRuleServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AuthRuleServiceAsync.kt index 853ed417..7937c905 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AuthRuleServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AuthRuleServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AuthRuleServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AuthRuleServiceAsyncImpl.kt index 3c24dc8f..dbf6f965 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AuthRuleServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AuthRuleServiceAsyncImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.AuthRule import com.lithic.api.models.AuthRuleApplyParams @@ -21,10 +25,6 @@ import com.lithic.api.models.AuthRuleRetrieveResponse import com.lithic.api.models.AuthRuleUpdateParams import com.lithic.api.services.async.authRules.V2ServiceAsync import com.lithic.api.services.async.authRules.V2ServiceAsyncImpl -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class AuthRuleServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AuthStreamEnrollmentServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AuthStreamEnrollmentServiceAsync.kt index c1a8a770..f5152a8e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AuthStreamEnrollmentServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AuthStreamEnrollmentServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AuthStreamEnrollmentServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AuthStreamEnrollmentServiceAsyncImpl.kt index 63319a84..b4723ce2 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AuthStreamEnrollmentServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/AuthStreamEnrollmentServiceAsyncImpl.kt @@ -4,18 +4,18 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.emptyHandler +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.AuthStreamEnrollmentRetrieveSecretParams import com.lithic.api.models.AuthStreamEnrollmentRotateSecretParams import com.lithic.api.models.AuthStreamSecret -import com.lithic.api.services.emptyHandler -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class AuthStreamEnrollmentServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/BalanceServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/BalanceServiceAsync.kt index bbc429ae..ea4abc95 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/BalanceServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/BalanceServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/BalanceServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/BalanceServiceAsyncImpl.kt index 3d0d31e3..ba77c30c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/BalanceServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/BalanceServiceAsyncImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.BalanceListPageAsync import com.lithic.api.models.BalanceListParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class BalanceServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/BookTransferServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/BookTransferServiceAsync.kt index 1c122c0a..3913085f 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/BookTransferServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/BookTransferServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/BookTransferServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/BookTransferServiceAsyncImpl.kt index ab85ecb4..d0c666ce 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/BookTransferServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/BookTransferServiceAsyncImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.BookTransferCreateParams import com.lithic.api.models.BookTransferListPageAsync @@ -14,10 +18,6 @@ import com.lithic.api.models.BookTransferListParams import com.lithic.api.models.BookTransferResponse import com.lithic.api.models.BookTransferRetrieveParams import com.lithic.api.models.BookTransferReverseParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class BookTransferServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CardProgramServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CardProgramServiceAsync.kt index 25aeb5ec..908edbc7 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CardProgramServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CardProgramServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CardProgramServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CardProgramServiceAsyncImpl.kt index ec38ae65..c39f5370 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CardProgramServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CardProgramServiceAsyncImpl.kt @@ -4,6 +4,9 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler @@ -12,9 +15,6 @@ import com.lithic.api.models.CardProgram import com.lithic.api.models.CardProgramListPageAsync import com.lithic.api.models.CardProgramListParams import com.lithic.api.models.CardProgramRetrieveParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class CardProgramServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CardServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CardServiceAsync.kt index 75781e6b..6ee7be55 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CardServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CardServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CardServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CardServiceAsyncImpl.kt index edc60cab..5303aadf 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CardServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CardServiceAsyncImpl.kt @@ -4,9 +4,14 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.stringHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.Card import com.lithic.api.models.CardCreateParams @@ -30,11 +35,6 @@ import com.lithic.api.services.async.cards.BalanceServiceAsync import com.lithic.api.services.async.cards.BalanceServiceAsyncImpl import com.lithic.api.services.async.cards.FinancialTransactionServiceAsync import com.lithic.api.services.async.cards.FinancialTransactionServiceAsyncImpl -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.stringHandler -import com.lithic.api.services.withErrorHandler import java.net.URI import java.util.Base64 import javax.crypto.Mac diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CreditProductServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CreditProductServiceAsync.kt index 8ae1dddc..e673b33e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CreditProductServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CreditProductServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.services.async.creditProducts.ExtendedCreditServiceAsync diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CreditProductServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CreditProductServiceAsyncImpl.kt index bd29500a..0c627a7e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CreditProductServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/CreditProductServiceAsyncImpl.kt @@ -3,19 +3,14 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions -import com.lithic.api.core.http.HttpResponse.Handler -import com.lithic.api.errors.LithicError import com.lithic.api.services.async.creditProducts.ExtendedCreditServiceAsync import com.lithic.api.services.async.creditProducts.ExtendedCreditServiceAsyncImpl -import com.lithic.api.services.errorHandler class CreditProductServiceAsyncImpl constructor( private val clientOptions: ClientOptions, ) : CreditProductServiceAsync { - private val errorHandler: Handler = errorHandler(clientOptions.jsonMapper) - private val extendedCredit: ExtendedCreditServiceAsync by lazy { ExtendedCreditServiceAsyncImpl(clientOptions) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/DigitalCardArtServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/DigitalCardArtServiceAsync.kt index 0ed0cf86..f383288d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/DigitalCardArtServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/DigitalCardArtServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/DigitalCardArtServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/DigitalCardArtServiceAsyncImpl.kt index 3558d8c6..495b080d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/DigitalCardArtServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/DigitalCardArtServiceAsyncImpl.kt @@ -4,6 +4,9 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler @@ -12,9 +15,6 @@ import com.lithic.api.models.DigitalCardArt import com.lithic.api.models.DigitalCardArtListPageAsync import com.lithic.api.models.DigitalCardArtListParams import com.lithic.api.models.DigitalCardArtRetrieveParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class DigitalCardArtServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/DisputeServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/DisputeServiceAsync.kt index bb5f89ec..8067a615 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/DisputeServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/DisputeServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/DisputeServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/DisputeServiceAsyncImpl.kt index 3886d9a5..9f3c9554 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/DisputeServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/DisputeServiceAsyncImpl.kt @@ -6,9 +6,15 @@ import com.lithic.api.core.ClientOptions import com.lithic.api.core.ContentTypes import com.lithic.api.core.MultipartFormValue import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.emptyHandler +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json +import com.lithic.api.core.multipartFormData import com.lithic.api.errors.LithicError import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.Dispute @@ -24,12 +30,6 @@ import com.lithic.api.models.DisputeListParams import com.lithic.api.models.DisputeRetrieveEvidenceParams import com.lithic.api.models.DisputeRetrieveParams import com.lithic.api.models.DisputeUpdateParams -import com.lithic.api.services.emptyHandler -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.multipartFormData -import com.lithic.api.services.withErrorHandler class DisputeServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/EventServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/EventServiceAsync.kt index 0c9ec254..ae73d799 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/EventServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/EventServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.JsonValue diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/EventServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/EventServiceAsyncImpl.kt index d23570b7..6bb627e8 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/EventServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/EventServiceAsyncImpl.kt @@ -5,9 +5,14 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.JsonValue import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.emptyHandler +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.Event import com.lithic.api.models.EventListAttemptsPageAsync @@ -17,11 +22,6 @@ import com.lithic.api.models.EventListParams import com.lithic.api.models.EventRetrieveParams import com.lithic.api.services.async.events.SubscriptionServiceAsync import com.lithic.api.services.async.events.SubscriptionServiceAsyncImpl -import com.lithic.api.services.emptyHandler -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class EventServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ExternalBankAccountServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ExternalBankAccountServiceAsync.kt index bed3fc81..ad0108a3 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ExternalBankAccountServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ExternalBankAccountServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ExternalBankAccountServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ExternalBankAccountServiceAsyncImpl.kt index 759c7503..2f0f48f1 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ExternalBankAccountServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ExternalBankAccountServiceAsyncImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.ExternalBankAccountCreateParams import com.lithic.api.models.ExternalBankAccountCreateResponse @@ -22,10 +26,6 @@ import com.lithic.api.models.ExternalBankAccountUpdateParams import com.lithic.api.models.ExternalBankAccountUpdateResponse import com.lithic.api.services.async.externalBankAccounts.MicroDepositServiceAsync import com.lithic.api.services.async.externalBankAccounts.MicroDepositServiceAsyncImpl -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class ExternalBankAccountServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ExternalPaymentServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ExternalPaymentServiceAsync.kt index 9812acfd..2a1f83e9 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ExternalPaymentServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ExternalPaymentServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ExternalPaymentServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ExternalPaymentServiceAsyncImpl.kt index 5facfbd3..a02c3ce9 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ExternalPaymentServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ExternalPaymentServiceAsyncImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.ExternalPayment import com.lithic.api.models.ExternalPaymentCancelParams @@ -17,10 +21,6 @@ import com.lithic.api.models.ExternalPaymentReleaseParams import com.lithic.api.models.ExternalPaymentRetrieveParams import com.lithic.api.models.ExternalPaymentReverseParams import com.lithic.api.models.ExternalPaymentSettleParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class ExternalPaymentServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/FinancialAccountServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/FinancialAccountServiceAsync.kt index bf76a21b..9cd5122b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/FinancialAccountServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/FinancialAccountServiceAsync.kt @@ -1,12 +1,12 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions import com.lithic.api.models.FinancialAccount +import com.lithic.api.models.FinancialAccountChargeOffParams import com.lithic.api.models.FinancialAccountCreateParams +import com.lithic.api.models.FinancialAccountCreditConfig import com.lithic.api.models.FinancialAccountListPageAsync import com.lithic.api.models.FinancialAccountListParams import com.lithic.api.models.FinancialAccountRetrieveParams @@ -52,4 +52,10 @@ interface FinancialAccountServiceAsync { params: FinancialAccountListParams, requestOptions: RequestOptions = RequestOptions.none() ): FinancialAccountListPageAsync + + /** Update issuing account state to charged off */ + suspend fun chargeOff( + params: FinancialAccountChargeOffParams, + requestOptions: RequestOptions = RequestOptions.none() + ): FinancialAccountCreditConfig } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/FinancialAccountServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/FinancialAccountServiceAsyncImpl.kt index 7b7a19dd..c0ce233d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/FinancialAccountServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/FinancialAccountServiceAsyncImpl.kt @@ -4,12 +4,18 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.FinancialAccount +import com.lithic.api.models.FinancialAccountChargeOffParams import com.lithic.api.models.FinancialAccountCreateParams +import com.lithic.api.models.FinancialAccountCreditConfig import com.lithic.api.models.FinancialAccountListPageAsync import com.lithic.api.models.FinancialAccountListParams import com.lithic.api.models.FinancialAccountRetrieveParams @@ -24,10 +30,6 @@ import com.lithic.api.services.async.financialAccounts.LoanTapeServiceAsync import com.lithic.api.services.async.financialAccounts.LoanTapeServiceAsyncImpl import com.lithic.api.services.async.financialAccounts.StatementServiceAsync import com.lithic.api.services.async.financialAccounts.StatementServiceAsyncImpl -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class FinancialAccountServiceAsyncImpl constructor( @@ -177,4 +179,34 @@ constructor( .let { FinancialAccountListPageAsync.of(this, params, it) } } } + + private val chargeOffHandler: Handler = + jsonHandler(clientOptions.jsonMapper) + .withErrorHandler(errorHandler) + + /** Update issuing account state to charged off */ + override suspend fun chargeOff( + params: FinancialAccountChargeOffParams, + requestOptions: RequestOptions + ): FinancialAccountCreditConfig { + val request = + HttpRequest.builder() + .method(HttpMethod.PATCH) + .addPathSegments("v1", "financial_accounts", params.getPathParam(0), "charge_off") + .putAllQueryParams(clientOptions.queryParams) + .putAllQueryParams(params.getQueryParams()) + .putAllHeaders(clientOptions.headers) + .putAllHeaders(params.getHeaders()) + .body(json(clientOptions.jsonMapper, params.getBody())) + .build() + return clientOptions.httpClient.executeAsync(request, requestOptions).let { response -> + response + .use { chargeOffHandler.handle(it) } + .apply { + if (requestOptions.responseValidation ?: clientOptions.responseValidation) { + validate() + } + } + } + } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ManagementOperationServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ManagementOperationServiceAsync.kt index c334e1eb..1fce36e1 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ManagementOperationServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ManagementOperationServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ManagementOperationServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ManagementOperationServiceAsyncImpl.kt index 874bae9f..73ff7ddd 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ManagementOperationServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ManagementOperationServiceAsyncImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.ManagementOperationCreateParams import com.lithic.api.models.ManagementOperationListPageAsync @@ -14,10 +18,6 @@ import com.lithic.api.models.ManagementOperationListParams import com.lithic.api.models.ManagementOperationRetrieveParams import com.lithic.api.models.ManagementOperationReverseParams import com.lithic.api.models.ManagementOperationTransaction -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class ManagementOperationServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/PaymentServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/PaymentServiceAsync.kt index 9d796c62..02524840 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/PaymentServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/PaymentServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/PaymentServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/PaymentServiceAsyncImpl.kt index 33d5ef5c..32d89137 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/PaymentServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/PaymentServiceAsyncImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.Payment import com.lithic.api.models.PaymentCreateParams @@ -24,10 +28,6 @@ import com.lithic.api.models.PaymentSimulateReleaseParams import com.lithic.api.models.PaymentSimulateReleaseResponse import com.lithic.api.models.PaymentSimulateReturnParams import com.lithic.api.models.PaymentSimulateReturnResponse -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class PaymentServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ReportServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ReportServiceAsync.kt index b28550f3..18a4449a 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ReportServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ReportServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.services.async.reports.SettlementServiceAsync diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ReportServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ReportServiceAsyncImpl.kt index 7d27843f..4f97eb06 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ReportServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ReportServiceAsyncImpl.kt @@ -3,19 +3,14 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions -import com.lithic.api.core.http.HttpResponse.Handler -import com.lithic.api.errors.LithicError import com.lithic.api.services.async.reports.SettlementServiceAsync import com.lithic.api.services.async.reports.SettlementServiceAsyncImpl -import com.lithic.api.services.errorHandler class ReportServiceAsyncImpl constructor( private val clientOptions: ClientOptions, ) : ReportServiceAsync { - private val errorHandler: Handler = errorHandler(clientOptions.jsonMapper) - private val settlement: SettlementServiceAsync by lazy { SettlementServiceAsyncImpl(clientOptions) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ResponderEndpointServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ResponderEndpointServiceAsync.kt index 8d07882c..76a63ef5 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ResponderEndpointServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ResponderEndpointServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ResponderEndpointServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ResponderEndpointServiceAsyncImpl.kt index 332980ba..caabea3b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ResponderEndpointServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ResponderEndpointServiceAsyncImpl.kt @@ -4,20 +4,20 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.emptyHandler +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.ResponderEndpointCheckStatusParams import com.lithic.api.models.ResponderEndpointCreateParams import com.lithic.api.models.ResponderEndpointCreateResponse import com.lithic.api.models.ResponderEndpointDeleteParams import com.lithic.api.models.ResponderEndpointStatus -import com.lithic.api.services.emptyHandler -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class ResponderEndpointServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ThreeDSServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ThreeDSServiceAsync.kt index 827f51e3..e4e85689 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ThreeDSServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ThreeDSServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.services.async.threeDS.AuthenticationServiceAsync diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ThreeDSServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ThreeDSServiceAsyncImpl.kt index 764b32b1..bc85e7e4 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ThreeDSServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/ThreeDSServiceAsyncImpl.kt @@ -3,21 +3,16 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions -import com.lithic.api.core.http.HttpResponse.Handler -import com.lithic.api.errors.LithicError import com.lithic.api.services.async.threeDS.AuthenticationServiceAsync import com.lithic.api.services.async.threeDS.AuthenticationServiceAsyncImpl import com.lithic.api.services.async.threeDS.DecisioningServiceAsync import com.lithic.api.services.async.threeDS.DecisioningServiceAsyncImpl -import com.lithic.api.services.errorHandler class ThreeDSServiceAsyncImpl constructor( private val clientOptions: ClientOptions, ) : ThreeDSServiceAsync { - private val errorHandler: Handler = errorHandler(clientOptions.jsonMapper) - private val authentication: AuthenticationServiceAsync by lazy { AuthenticationServiceAsyncImpl(clientOptions) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TokenizationDecisioningServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TokenizationDecisioningServiceAsync.kt index afd64d8b..846f32c8 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TokenizationDecisioningServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TokenizationDecisioningServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TokenizationDecisioningServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TokenizationDecisioningServiceAsyncImpl.kt index 6fd4bc36..b930489a 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TokenizationDecisioningServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TokenizationDecisioningServiceAsyncImpl.kt @@ -4,18 +4,18 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.TokenizationDecisioningRetrieveSecretParams import com.lithic.api.models.TokenizationDecisioningRotateSecretParams import com.lithic.api.models.TokenizationDecisioningRotateSecretResponse import com.lithic.api.models.TokenizationSecret -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class TokenizationDecisioningServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TokenizationServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TokenizationServiceAsync.kt index 7a7548ad..c47d124b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TokenizationServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TokenizationServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TokenizationServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TokenizationServiceAsyncImpl.kt index 46257f31..08981ff5 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TokenizationServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TokenizationServiceAsyncImpl.kt @@ -4,9 +4,14 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.emptyHandler +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.TokenizationActivateParams import com.lithic.api.models.TokenizationDeactivateParams @@ -21,11 +26,6 @@ import com.lithic.api.models.TokenizationSimulateResponse import com.lithic.api.models.TokenizationUnpauseParams import com.lithic.api.models.TokenizationUpdateDigitalCardArtParams import com.lithic.api.models.TokenizationUpdateDigitalCardArtResponse -import com.lithic.api.services.emptyHandler -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class TokenizationServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TransactionServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TransactionServiceAsync.kt index f2c0ecf2..dfa17c58 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TransactionServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TransactionServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions @@ -32,13 +30,19 @@ interface TransactionServiceAsync { fun events(): EventServiceAsync - /** Get specific card transaction. */ + /** + * Get a specific card transaction. All amounts are in the smallest unit of their respective + * currency (e.g., cents for USD). + */ suspend fun retrieve( params: TransactionRetrieveParams, requestOptions: RequestOptions = RequestOptions.none() ): Transaction - /** List card transactions. */ + /** + * List card transactions. All amounts are in the smallest unit of their respective currency + * (e.g., cents for USD) and inclusive of any acquirer fees. + */ suspend fun list( params: TransactionListParams, requestOptions: RequestOptions = RequestOptions.none() diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TransactionServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TransactionServiceAsyncImpl.kt index 8b50d09e..53ed9223 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TransactionServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TransactionServiceAsyncImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.Transaction import com.lithic.api.models.TransactionListPageAsync @@ -30,10 +34,6 @@ import com.lithic.api.services.async.transactions.EnhancedCommercialDataServiceA import com.lithic.api.services.async.transactions.EnhancedCommercialDataServiceAsyncImpl import com.lithic.api.services.async.transactions.EventServiceAsync import com.lithic.api.services.async.transactions.EventServiceAsyncImpl -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class TransactionServiceAsyncImpl constructor( @@ -56,7 +56,10 @@ constructor( private val retrieveHandler: Handler = jsonHandler(clientOptions.jsonMapper).withErrorHandler(errorHandler) - /** Get specific card transaction. */ + /** + * Get a specific card transaction. All amounts are in the smallest unit of their respective + * currency (e.g., cents for USD). + */ override suspend fun retrieve( params: TransactionRetrieveParams, requestOptions: RequestOptions @@ -85,7 +88,10 @@ constructor( jsonHandler(clientOptions.jsonMapper) .withErrorHandler(errorHandler) - /** List card transactions. */ + /** + * List card transactions. All amounts are in the smallest unit of their respective currency + * (e.g., cents for USD) and inclusive of any acquirer fees. + */ override suspend fun list( params: TransactionListParams, requestOptions: RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TransferServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TransferServiceAsync.kt index 224e76ec..b06add27 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TransferServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TransferServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TransferServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TransferServiceAsyncImpl.kt index 7ef41a54..a440e7c4 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TransferServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/TransferServiceAsyncImpl.kt @@ -4,16 +4,16 @@ package com.lithic.api.services.async import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.Transfer import com.lithic.api.models.TransferCreateParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class TransferServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/WebhookServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/WebhookServiceAsyncImpl.kt index 0d10b7c9..86d5bdd9 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/WebhookServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/WebhookServiceAsyncImpl.kt @@ -7,10 +7,10 @@ import com.google.common.collect.ListMultimap import com.lithic.api.core.ClientOptions import com.lithic.api.core.JsonValue import com.lithic.api.core.getRequiredHeader +import com.lithic.api.core.handlers.errorHandler import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.errors.LithicException -import com.lithic.api.services.errorHandler import java.security.MessageDigest import java.time.Duration import java.time.Instant diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/authRules/V2ServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/authRules/V2ServiceAsync.kt index ebaf2dce..23284b5a 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/authRules/V2ServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/authRules/V2ServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.authRules import com.lithic.api.core.RequestOptions @@ -85,6 +83,39 @@ interface V2ServiceAsync { * asynchronously through a webhook with `event_type` = `auth_rules.performance_report.created`. * See the docs on setting up [webhook subscriptions](https://docs.lithic.com/docs/events-api). * + * Reports are generated based on data collected by Lithic's authorization processing system in + * the trailing week. The performance of the auth rule will be assessed on the configuration of + * the auth rule at the time the report is requested. This implies that if a performance report + * is requested, right after updating an auth rule, depending on the number of authorizations + * processed for a card program, it may be the case that no data is available for the report. + * Therefore Lithic recommends to decouple making updates to an Auth Rule, and requesting + * performance reports. + * + * To make this concrete, consider the following example: + * 1. At time `t`, a new Auth Rule is created, and applies to all authorizations on a card + * program. The Auth Rule has not yet been promoted, causing the draft version of the rule to + * be applied in shadow mode. + * 2. At time `t + 1 hour` a performance report is requested for the Auth Rule. This performance + * report will _only_ contain data for the Auth Rule being executed in the window between `t` + * and `t + 1 hour`. This is because Lithic's transaction processing system will only start + * capturing data for the Auth Rule at the time it is created. + * 3. At time `t + 2 hours` the draft version of the Auth Rule is promoted to the active version + * of the Auth Rule by calling the `/v2/auth_rules/{auth_rule_token}/promote` endpoint. If a + * performance report is requested at this moment it will still only contain data for this + * version of the rule, but the window of available data will now span from `t` to `t + 2 + * hours`. + * 4. At time `t + 3 hours` a new version of the rule is drafted by calling the + * `/v2/auth_rules/{auth_rule_token}/draft` endpoint. If a performance report is requested + * right at this moment, it will only contain data for authorizations to which both the + * active version and the draft version is applied. Lithic does this to ensure that + * performance reports represent a fair comparison between rules. Because there may be no + * authorizations in this window, and because there may be some lag before data is available + * in a performance report, the requested performance report could contain no to little data. + * 5. At time `t + 4 hours` another performance report is requested: this time the performance + * report will contain data from the window between `t + 3 hours` and `t + 4 hours`, for any + * authorizations to which both the current version of the authorization rule (in enforcing + * mode) and the draft version of the authorization rule (in shadow mode) applied. + * * Note that generating a report may take up to 15 minutes and that delivery is not guaranteed. * Customers are required to have created an event subscription to receive the webhook. * Additionally, there is a delay of approximately 15 minutes between when Lithic's transaction diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/authRules/V2ServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/authRules/V2ServiceAsyncImpl.kt index 50b7b2dd..286d5816 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/authRules/V2ServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/authRules/V2ServiceAsyncImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.async.authRules import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.AuthRuleV2ApplyParams import com.lithic.api.models.AuthRuleV2CreateParams @@ -24,10 +28,6 @@ import com.lithic.api.models.V2PromoteResponse import com.lithic.api.models.V2ReportResponse import com.lithic.api.models.V2RetrieveResponse import com.lithic.api.models.V2UpdateResponse -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class V2ServiceAsyncImpl constructor( @@ -261,6 +261,39 @@ constructor( * asynchronously through a webhook with `event_type` = `auth_rules.performance_report.created`. * See the docs on setting up [webhook subscriptions](https://docs.lithic.com/docs/events-api). * + * Reports are generated based on data collected by Lithic's authorization processing system in + * the trailing week. The performance of the auth rule will be assessed on the configuration of + * the auth rule at the time the report is requested. This implies that if a performance report + * is requested, right after updating an auth rule, depending on the number of authorizations + * processed for a card program, it may be the case that no data is available for the report. + * Therefore Lithic recommends to decouple making updates to an Auth Rule, and requesting + * performance reports. + * + * To make this concrete, consider the following example: + * 1. At time `t`, a new Auth Rule is created, and applies to all authorizations on a card + * program. The Auth Rule has not yet been promoted, causing the draft version of the rule to + * be applied in shadow mode. + * 2. At time `t + 1 hour` a performance report is requested for the Auth Rule. This performance + * report will _only_ contain data for the Auth Rule being executed in the window between `t` + * and `t + 1 hour`. This is because Lithic's transaction processing system will only start + * capturing data for the Auth Rule at the time it is created. + * 3. At time `t + 2 hours` the draft version of the Auth Rule is promoted to the active version + * of the Auth Rule by calling the `/v2/auth_rules/{auth_rule_token}/promote` endpoint. If a + * performance report is requested at this moment it will still only contain data for this + * version of the rule, but the window of available data will now span from `t` to `t + 2 + * hours`. + * 4. At time `t + 3 hours` a new version of the rule is drafted by calling the + * `/v2/auth_rules/{auth_rule_token}/draft` endpoint. If a performance report is requested + * right at this moment, it will only contain data for authorizations to which both the + * active version and the draft version is applied. Lithic does this to ensure that + * performance reports represent a fair comparison between rules. Because there may be no + * authorizations in this window, and because there may be some lag before data is available + * in a performance report, the requested performance report could contain no to little data. + * 5. At time `t + 4 hours` another performance report is requested: this time the performance + * report will contain data from the window between `t + 3 hours` and `t + 4 hours`, for any + * authorizations to which both the current version of the authorization rule (in enforcing + * mode) and the draft version of the authorization rule (in shadow mode) applied. + * * Note that generating a report may take up to 15 minutes and that delivery is not guaranteed. * Customers are required to have created an event subscription to receive the webhook. * Additionally, there is a delay of approximately 15 minutes between when Lithic's transaction diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/AggregateBalanceServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/AggregateBalanceServiceAsync.kt index e6f59eda..c2ab2b65 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/AggregateBalanceServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/AggregateBalanceServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.cards import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/AggregateBalanceServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/AggregateBalanceServiceAsyncImpl.kt index 35ba39c2..0bfec659 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/AggregateBalanceServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/AggregateBalanceServiceAsyncImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.async.cards import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.CardAggregateBalanceListPageAsync import com.lithic.api.models.CardAggregateBalanceListParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class AggregateBalanceServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/BalanceServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/BalanceServiceAsync.kt index cb821b16..993b4bab 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/BalanceServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/BalanceServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.cards import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/BalanceServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/BalanceServiceAsyncImpl.kt index f2a51884..6cbd7d37 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/BalanceServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/BalanceServiceAsyncImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.async.cards import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.CardBalanceListPageAsync import com.lithic.api.models.CardBalanceListParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class BalanceServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/FinancialTransactionServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/FinancialTransactionServiceAsync.kt index 21edf05a..0a2e722c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/FinancialTransactionServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/FinancialTransactionServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.cards import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/FinancialTransactionServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/FinancialTransactionServiceAsyncImpl.kt index de88071a..f17c5a37 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/FinancialTransactionServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/cards/FinancialTransactionServiceAsyncImpl.kt @@ -4,6 +4,9 @@ package com.lithic.api.services.async.cards import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler @@ -12,9 +15,6 @@ import com.lithic.api.models.CardFinancialTransactionListPageAsync import com.lithic.api.models.CardFinancialTransactionListParams import com.lithic.api.models.CardFinancialTransactionRetrieveParams import com.lithic.api.models.FinancialTransaction -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class FinancialTransactionServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/creditProducts/ExtendedCreditServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/creditProducts/ExtendedCreditServiceAsync.kt index 1d96f626..613c92c3 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/creditProducts/ExtendedCreditServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/creditProducts/ExtendedCreditServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.creditProducts import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/creditProducts/ExtendedCreditServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/creditProducts/ExtendedCreditServiceAsyncImpl.kt index 07b700b8..34c626f2 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/creditProducts/ExtendedCreditServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/creditProducts/ExtendedCreditServiceAsyncImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.async.creditProducts import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.CreditProductExtendedCreditRetrieveParams import com.lithic.api.models.ExtendedCredit -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class ExtendedCreditServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/events/SubscriptionServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/events/SubscriptionServiceAsync.kt index c822b1f0..e182a588 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/events/SubscriptionServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/events/SubscriptionServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.events import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/events/SubscriptionServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/events/SubscriptionServiceAsyncImpl.kt index d938312e..d422a0ea 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/events/SubscriptionServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/events/SubscriptionServiceAsyncImpl.kt @@ -4,9 +4,14 @@ package com.lithic.api.services.async.events import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.emptyHandler +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.EventSubscription import com.lithic.api.models.EventSubscriptionCreateParams @@ -23,11 +28,6 @@ import com.lithic.api.models.EventSubscriptionRotateSecretParams import com.lithic.api.models.EventSubscriptionSendSimulatedExampleParams import com.lithic.api.models.EventSubscriptionUpdateParams import com.lithic.api.models.SubscriptionRetrieveSecretResponse -import com.lithic.api.services.emptyHandler -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class SubscriptionServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/externalBankAccounts/MicroDepositServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/externalBankAccounts/MicroDepositServiceAsync.kt index 946d0d85..9f6db8ac 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/externalBankAccounts/MicroDepositServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/externalBankAccounts/MicroDepositServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.externalBankAccounts import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/externalBankAccounts/MicroDepositServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/externalBankAccounts/MicroDepositServiceAsyncImpl.kt index fd1009a7..e771ac56 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/externalBankAccounts/MicroDepositServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/externalBankAccounts/MicroDepositServiceAsyncImpl.kt @@ -4,16 +4,16 @@ package com.lithic.api.services.async.externalBankAccounts import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.ExternalBankAccountMicroDepositCreateParams import com.lithic.api.models.MicroDepositCreateResponse -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class MicroDepositServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/BalanceServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/BalanceServiceAsync.kt index ea99dec5..753e1a7f 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/BalanceServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/BalanceServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.financialAccounts import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/BalanceServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/BalanceServiceAsyncImpl.kt index 8c644d98..83c066b8 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/BalanceServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/BalanceServiceAsyncImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.async.financialAccounts import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.FinancialAccountBalanceListPageAsync import com.lithic.api.models.FinancialAccountBalanceListParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class BalanceServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/CreditConfigurationServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/CreditConfigurationServiceAsync.kt index bcc0977e..891540b1 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/CreditConfigurationServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/CreditConfigurationServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.financialAccounts import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/CreditConfigurationServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/CreditConfigurationServiceAsyncImpl.kt index c81d5081..b4108b08 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/CreditConfigurationServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/CreditConfigurationServiceAsyncImpl.kt @@ -4,17 +4,17 @@ package com.lithic.api.services.async.financialAccounts import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.FinancialAccountCreditConfig import com.lithic.api.models.FinancialAccountCreditConfigurationRetrieveParams import com.lithic.api.models.FinancialAccountCreditConfigurationUpdateParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class CreditConfigurationServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/FinancialTransactionServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/FinancialTransactionServiceAsync.kt index c3e578c1..4ac88b1e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/FinancialTransactionServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/FinancialTransactionServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.financialAccounts import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/FinancialTransactionServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/FinancialTransactionServiceAsyncImpl.kt index 492c797b..89d73e8f 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/FinancialTransactionServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/FinancialTransactionServiceAsyncImpl.kt @@ -4,6 +4,9 @@ package com.lithic.api.services.async.financialAccounts import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler @@ -12,9 +15,6 @@ import com.lithic.api.models.FinancialTransaction import com.lithic.api.models.FinancialTransactionListPageAsync import com.lithic.api.models.FinancialTransactionListParams import com.lithic.api.models.FinancialTransactionRetrieveParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class FinancialTransactionServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/LoanTapeServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/LoanTapeServiceAsync.kt index edb07bf9..10b774f3 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/LoanTapeServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/LoanTapeServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.financialAccounts import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/LoanTapeServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/LoanTapeServiceAsyncImpl.kt index 9e1299b9..b1b83882 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/LoanTapeServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/LoanTapeServiceAsyncImpl.kt @@ -4,6 +4,9 @@ package com.lithic.api.services.async.financialAccounts import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler @@ -12,9 +15,6 @@ import com.lithic.api.models.FinancialAccountLoanTapeListPageAsync import com.lithic.api.models.FinancialAccountLoanTapeListParams import com.lithic.api.models.FinancialAccountLoanTapeRetrieveParams import com.lithic.api.models.LoanTape -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class LoanTapeServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/StatementServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/StatementServiceAsync.kt index fd0fe1e7..9ba3f402 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/StatementServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/StatementServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.financialAccounts import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/StatementServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/StatementServiceAsyncImpl.kt index b11105cb..e89841b0 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/StatementServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/StatementServiceAsyncImpl.kt @@ -4,6 +4,9 @@ package com.lithic.api.services.async.financialAccounts import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler @@ -14,9 +17,6 @@ import com.lithic.api.models.FinancialAccountStatementRetrieveParams import com.lithic.api.models.Statement import com.lithic.api.services.async.financialAccounts.statements.LineItemServiceAsync import com.lithic.api.services.async.financialAccounts.statements.LineItemServiceAsyncImpl -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class StatementServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/statements/LineItemServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/statements/LineItemServiceAsync.kt index 2a824800..353e9e72 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/statements/LineItemServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/statements/LineItemServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.financialAccounts.statements import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/statements/LineItemServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/statements/LineItemServiceAsyncImpl.kt index 71fc7d5f..7f116a67 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/statements/LineItemServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/financialAccounts/statements/LineItemServiceAsyncImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.async.financialAccounts.statements import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.FinancialAccountStatementLineItemListPageAsync import com.lithic.api.models.FinancialAccountStatementLineItemListParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class LineItemServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/reports/SettlementServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/reports/SettlementServiceAsync.kt index ff8e764f..90028370 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/reports/SettlementServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/reports/SettlementServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.reports import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/reports/SettlementServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/reports/SettlementServiceAsyncImpl.kt index 89cb3add..745fe6c5 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/reports/SettlementServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/reports/SettlementServiceAsyncImpl.kt @@ -4,6 +4,9 @@ package com.lithic.api.services.async.reports import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler @@ -12,9 +15,6 @@ import com.lithic.api.models.ReportSettlementListDetailsPageAsync import com.lithic.api.models.ReportSettlementListDetailsParams import com.lithic.api.models.ReportSettlementSummaryParams import com.lithic.api.models.SettlementReport -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class SettlementServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/threeDS/AuthenticationServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/threeDS/AuthenticationServiceAsync.kt index 37ac43b1..e11f0f89 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/threeDS/AuthenticationServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/threeDS/AuthenticationServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.threeDS import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/threeDS/AuthenticationServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/threeDS/AuthenticationServiceAsyncImpl.kt index 7a0d1ef1..4f6a8c6c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/threeDS/AuthenticationServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/threeDS/AuthenticationServiceAsyncImpl.kt @@ -4,18 +4,18 @@ package com.lithic.api.services.async.threeDS import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.AuthenticationRetrieveResponse import com.lithic.api.models.AuthenticationSimulateResponse import com.lithic.api.models.ThreeDSAuthenticationRetrieveParams import com.lithic.api.models.ThreeDSAuthenticationSimulateParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class AuthenticationServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/threeDS/DecisioningServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/threeDS/DecisioningServiceAsync.kt index 229e9c05..d35f55f4 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/threeDS/DecisioningServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/threeDS/DecisioningServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.threeDS import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/threeDS/DecisioningServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/threeDS/DecisioningServiceAsyncImpl.kt index 1861f324..a36a6e9c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/threeDS/DecisioningServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/threeDS/DecisioningServiceAsyncImpl.kt @@ -4,9 +4,14 @@ package com.lithic.api.services.async.threeDS import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.emptyHandler +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.DecisioningRetrieveSecretResponse import com.lithic.api.models.DecisioningSimulateChallengeResponse @@ -15,11 +20,6 @@ import com.lithic.api.models.ThreeDSDecisioningRetrieveSecretParams import com.lithic.api.models.ThreeDSDecisioningRotateSecretParams import com.lithic.api.models.ThreeDSDecisioningSimulateChallengeParams import com.lithic.api.models.ThreeDSDecisioningSimulateChallengeResponseParams -import com.lithic.api.services.emptyHandler -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class DecisioningServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/EnhancedCommercialDataServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/EnhancedCommercialDataServiceAsync.kt index ef7324da..03734967 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/EnhancedCommercialDataServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/EnhancedCommercialDataServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.transactions import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/EnhancedCommercialDataServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/EnhancedCommercialDataServiceAsyncImpl.kt index c6d5c86e..ef55fc66 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/EnhancedCommercialDataServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/EnhancedCommercialDataServiceAsyncImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.async.transactions import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.EnhancedCommercialDataRetrieveResponse import com.lithic.api.models.TransactionEnhancedCommercialDataRetrieveParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class EnhancedCommercialDataServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/EventServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/EventServiceAsync.kt index 92767075..5beaffb8 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/EventServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/EventServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.transactions import com.lithic.api.services.async.transactions.events.EnhancedCommercialDataServiceAsync diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/EventServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/EventServiceAsyncImpl.kt index 4d2c67f2..e69aab27 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/EventServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/EventServiceAsyncImpl.kt @@ -3,19 +3,14 @@ package com.lithic.api.services.async.transactions import com.lithic.api.core.ClientOptions -import com.lithic.api.core.http.HttpResponse.Handler -import com.lithic.api.errors.LithicError import com.lithic.api.services.async.transactions.events.EnhancedCommercialDataServiceAsync import com.lithic.api.services.async.transactions.events.EnhancedCommercialDataServiceAsyncImpl -import com.lithic.api.services.errorHandler class EventServiceAsyncImpl constructor( private val clientOptions: ClientOptions, ) : EventServiceAsync { - private val errorHandler: Handler = errorHandler(clientOptions.jsonMapper) - private val enhancedCommercialData: EnhancedCommercialDataServiceAsync by lazy { EnhancedCommercialDataServiceAsyncImpl(clientOptions) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/events/EnhancedCommercialDataServiceAsync.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/events/EnhancedCommercialDataServiceAsync.kt index 0b4cf000..27476239 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/events/EnhancedCommercialDataServiceAsync.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/events/EnhancedCommercialDataServiceAsync.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.async.transactions.events import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/events/EnhancedCommercialDataServiceAsyncImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/events/EnhancedCommercialDataServiceAsyncImpl.kt index ae7b3737..963ed4e7 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/events/EnhancedCommercialDataServiceAsyncImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/async/transactions/events/EnhancedCommercialDataServiceAsyncImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.async.transactions.events import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.EnhancedData import com.lithic.api.models.TransactionEventEnhancedCommercialDataRetrieveParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class EnhancedCommercialDataServiceAsyncImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AccountHolderService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AccountHolderService.kt index 48d48cf9..c868ba6b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AccountHolderService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AccountHolderService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AccountHolderServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AccountHolderServiceImpl.kt index de2fb494..87e02b71 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AccountHolderServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AccountHolderServiceImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.AccountHolder import com.lithic.api.models.AccountHolderCreateParams @@ -25,10 +29,6 @@ import com.lithic.api.models.AccountHolderUpdateParams import com.lithic.api.models.AccountHolderUpdateResponse import com.lithic.api.models.AccountHolderUploadDocumentParams import com.lithic.api.models.Document -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler import java.time.Duration class AccountHolderServiceImpl diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AccountService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AccountService.kt index 5fcb41a5..0c6ac77c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AccountService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AccountService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AccountServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AccountServiceImpl.kt index 4c8978c2..1d77f359 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AccountServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AccountServiceImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.Account import com.lithic.api.models.AccountListPage @@ -15,10 +19,6 @@ import com.lithic.api.models.AccountRetrieveParams import com.lithic.api.models.AccountRetrieveSpendLimitsParams import com.lithic.api.models.AccountSpendLimits import com.lithic.api.models.AccountUpdateParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class AccountServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AggregateBalanceService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AggregateBalanceService.kt index 8d2cbaeb..cf2c90c3 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AggregateBalanceService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AggregateBalanceService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AggregateBalanceServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AggregateBalanceServiceImpl.kt index 8ad3844c..3bac9e01 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AggregateBalanceServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AggregateBalanceServiceImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.AggregateBalanceListPage import com.lithic.api.models.AggregateBalanceListParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class AggregateBalanceServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AuthRuleService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AuthRuleService.kt index 4b73b574..b7db0094 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AuthRuleService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AuthRuleService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AuthRuleServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AuthRuleServiceImpl.kt index ce3be31d..8dd53381 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AuthRuleServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AuthRuleServiceImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.AuthRule import com.lithic.api.models.AuthRuleApplyParams @@ -21,10 +25,6 @@ import com.lithic.api.models.AuthRuleRetrieveResponse import com.lithic.api.models.AuthRuleUpdateParams import com.lithic.api.services.blocking.authRules.V2Service import com.lithic.api.services.blocking.authRules.V2ServiceImpl -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class AuthRuleServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AuthStreamEnrollmentService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AuthStreamEnrollmentService.kt index d5831898..e6038139 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AuthStreamEnrollmentService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AuthStreamEnrollmentService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AuthStreamEnrollmentServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AuthStreamEnrollmentServiceImpl.kt index 40727fd3..28f9a2bc 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AuthStreamEnrollmentServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/AuthStreamEnrollmentServiceImpl.kt @@ -4,18 +4,18 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.emptyHandler +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.AuthStreamEnrollmentRetrieveSecretParams import com.lithic.api.models.AuthStreamEnrollmentRotateSecretParams import com.lithic.api.models.AuthStreamSecret -import com.lithic.api.services.emptyHandler -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class AuthStreamEnrollmentServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/BalanceService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/BalanceService.kt index a8df0ad6..676c9650 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/BalanceService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/BalanceService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/BalanceServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/BalanceServiceImpl.kt index 7e4fee1e..194d6b5c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/BalanceServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/BalanceServiceImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.BalanceListPage import com.lithic.api.models.BalanceListParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class BalanceServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/BookTransferService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/BookTransferService.kt index 6040fbf5..bca2e2c0 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/BookTransferService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/BookTransferService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/BookTransferServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/BookTransferServiceImpl.kt index 01d3e4e7..080044fc 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/BookTransferServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/BookTransferServiceImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.BookTransferCreateParams import com.lithic.api.models.BookTransferListPage @@ -14,10 +18,6 @@ import com.lithic.api.models.BookTransferListParams import com.lithic.api.models.BookTransferResponse import com.lithic.api.models.BookTransferRetrieveParams import com.lithic.api.models.BookTransferReverseParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class BookTransferServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CardProgramService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CardProgramService.kt index 1bf2db30..c5be31b3 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CardProgramService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CardProgramService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CardProgramServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CardProgramServiceImpl.kt index d796ca1f..cdb775db 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CardProgramServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CardProgramServiceImpl.kt @@ -4,6 +4,9 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler @@ -12,9 +15,6 @@ import com.lithic.api.models.CardProgram import com.lithic.api.models.CardProgramListPage import com.lithic.api.models.CardProgramListParams import com.lithic.api.models.CardProgramRetrieveParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class CardProgramServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CardService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CardService.kt index b6de0318..09906f66 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CardService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CardService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CardServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CardServiceImpl.kt index 631818c3..966a8605 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CardServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CardServiceImpl.kt @@ -4,9 +4,14 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.stringHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.Card import com.lithic.api.models.CardCreateParams @@ -30,11 +35,6 @@ import com.lithic.api.services.blocking.cards.BalanceService import com.lithic.api.services.blocking.cards.BalanceServiceImpl import com.lithic.api.services.blocking.cards.FinancialTransactionService import com.lithic.api.services.blocking.cards.FinancialTransactionServiceImpl -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.stringHandler -import com.lithic.api.services.withErrorHandler import java.net.URI import java.util.Base64 import javax.crypto.Mac diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CreditProductService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CreditProductService.kt index 9e080106..ba940bcb 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CreditProductService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CreditProductService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.services.blocking.creditProducts.ExtendedCreditService diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CreditProductServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CreditProductServiceImpl.kt index fe2e02d9..22a44c53 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CreditProductServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/CreditProductServiceImpl.kt @@ -3,19 +3,14 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions -import com.lithic.api.core.http.HttpResponse.Handler -import com.lithic.api.errors.LithicError import com.lithic.api.services.blocking.creditProducts.ExtendedCreditService import com.lithic.api.services.blocking.creditProducts.ExtendedCreditServiceImpl -import com.lithic.api.services.errorHandler class CreditProductServiceImpl constructor( private val clientOptions: ClientOptions, ) : CreditProductService { - private val errorHandler: Handler = errorHandler(clientOptions.jsonMapper) - private val extendedCredit: ExtendedCreditService by lazy { ExtendedCreditServiceImpl(clientOptions) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/DigitalCardArtService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/DigitalCardArtService.kt index a543c4cf..1d8f4007 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/DigitalCardArtService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/DigitalCardArtService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/DigitalCardArtServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/DigitalCardArtServiceImpl.kt index 5c7297c7..9b3c9c14 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/DigitalCardArtServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/DigitalCardArtServiceImpl.kt @@ -4,6 +4,9 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler @@ -12,9 +15,6 @@ import com.lithic.api.models.DigitalCardArt import com.lithic.api.models.DigitalCardArtListPage import com.lithic.api.models.DigitalCardArtListParams import com.lithic.api.models.DigitalCardArtRetrieveParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class DigitalCardArtServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/DisputeService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/DisputeService.kt index 0b947b78..201b62e0 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/DisputeService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/DisputeService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/DisputeServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/DisputeServiceImpl.kt index 28a711e3..d494600d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/DisputeServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/DisputeServiceImpl.kt @@ -6,9 +6,15 @@ import com.lithic.api.core.ClientOptions import com.lithic.api.core.ContentTypes import com.lithic.api.core.MultipartFormValue import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.emptyHandler +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json +import com.lithic.api.core.multipartFormData import com.lithic.api.errors.LithicError import com.lithic.api.errors.LithicInvalidDataException import com.lithic.api.models.Dispute @@ -24,12 +30,6 @@ import com.lithic.api.models.DisputeListParams import com.lithic.api.models.DisputeRetrieveEvidenceParams import com.lithic.api.models.DisputeRetrieveParams import com.lithic.api.models.DisputeUpdateParams -import com.lithic.api.services.emptyHandler -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.multipartFormData -import com.lithic.api.services.withErrorHandler class DisputeServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/EventService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/EventService.kt index 4c05cadf..eafd9e7b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/EventService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/EventService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.JsonValue diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/EventServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/EventServiceImpl.kt index 2a7137d5..e8b28730 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/EventServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/EventServiceImpl.kt @@ -5,9 +5,14 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.JsonValue import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.emptyHandler +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.Event import com.lithic.api.models.EventListAttemptsPage @@ -17,11 +22,6 @@ import com.lithic.api.models.EventListParams import com.lithic.api.models.EventRetrieveParams import com.lithic.api.services.blocking.events.SubscriptionService import com.lithic.api.services.blocking.events.SubscriptionServiceImpl -import com.lithic.api.services.emptyHandler -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class EventServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ExternalBankAccountService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ExternalBankAccountService.kt index ed759701..3c89196d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ExternalBankAccountService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ExternalBankAccountService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ExternalBankAccountServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ExternalBankAccountServiceImpl.kt index 038a38b8..c904e8bb 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ExternalBankAccountServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ExternalBankAccountServiceImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.ExternalBankAccountCreateParams import com.lithic.api.models.ExternalBankAccountCreateResponse @@ -22,10 +26,6 @@ import com.lithic.api.models.ExternalBankAccountUpdateParams import com.lithic.api.models.ExternalBankAccountUpdateResponse import com.lithic.api.services.blocking.externalBankAccounts.MicroDepositService import com.lithic.api.services.blocking.externalBankAccounts.MicroDepositServiceImpl -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class ExternalBankAccountServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ExternalPaymentService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ExternalPaymentService.kt index 17f64e2b..a6858200 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ExternalPaymentService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ExternalPaymentService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ExternalPaymentServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ExternalPaymentServiceImpl.kt index 09086114..031c4ebc 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ExternalPaymentServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ExternalPaymentServiceImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.ExternalPayment import com.lithic.api.models.ExternalPaymentCancelParams @@ -17,10 +21,6 @@ import com.lithic.api.models.ExternalPaymentReleaseParams import com.lithic.api.models.ExternalPaymentRetrieveParams import com.lithic.api.models.ExternalPaymentReverseParams import com.lithic.api.models.ExternalPaymentSettleParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class ExternalPaymentServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/FinancialAccountService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/FinancialAccountService.kt index 8fd96433..ed407c58 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/FinancialAccountService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/FinancialAccountService.kt @@ -1,12 +1,12 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions import com.lithic.api.models.FinancialAccount +import com.lithic.api.models.FinancialAccountChargeOffParams import com.lithic.api.models.FinancialAccountCreateParams +import com.lithic.api.models.FinancialAccountCreditConfig import com.lithic.api.models.FinancialAccountListPage import com.lithic.api.models.FinancialAccountListParams import com.lithic.api.models.FinancialAccountRetrieveParams @@ -52,4 +52,10 @@ interface FinancialAccountService { params: FinancialAccountListParams, requestOptions: RequestOptions = RequestOptions.none() ): FinancialAccountListPage + + /** Update issuing account state to charged off */ + fun chargeOff( + params: FinancialAccountChargeOffParams, + requestOptions: RequestOptions = RequestOptions.none() + ): FinancialAccountCreditConfig } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/FinancialAccountServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/FinancialAccountServiceImpl.kt index 469420fc..b34a0642 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/FinancialAccountServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/FinancialAccountServiceImpl.kt @@ -4,12 +4,18 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.FinancialAccount +import com.lithic.api.models.FinancialAccountChargeOffParams import com.lithic.api.models.FinancialAccountCreateParams +import com.lithic.api.models.FinancialAccountCreditConfig import com.lithic.api.models.FinancialAccountListPage import com.lithic.api.models.FinancialAccountListParams import com.lithic.api.models.FinancialAccountRetrieveParams @@ -24,10 +30,6 @@ import com.lithic.api.services.blocking.financialAccounts.LoanTapeService import com.lithic.api.services.blocking.financialAccounts.LoanTapeServiceImpl import com.lithic.api.services.blocking.financialAccounts.StatementService import com.lithic.api.services.blocking.financialAccounts.StatementServiceImpl -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class FinancialAccountServiceImpl constructor( @@ -175,4 +177,34 @@ constructor( .let { FinancialAccountListPage.of(this, params, it) } } } + + private val chargeOffHandler: Handler = + jsonHandler(clientOptions.jsonMapper) + .withErrorHandler(errorHandler) + + /** Update issuing account state to charged off */ + override fun chargeOff( + params: FinancialAccountChargeOffParams, + requestOptions: RequestOptions + ): FinancialAccountCreditConfig { + val request = + HttpRequest.builder() + .method(HttpMethod.PATCH) + .addPathSegments("v1", "financial_accounts", params.getPathParam(0), "charge_off") + .putAllQueryParams(clientOptions.queryParams) + .putAllQueryParams(params.getQueryParams()) + .putAllHeaders(clientOptions.headers) + .putAllHeaders(params.getHeaders()) + .body(json(clientOptions.jsonMapper, params.getBody())) + .build() + return clientOptions.httpClient.execute(request, requestOptions).let { response -> + response + .use { chargeOffHandler.handle(it) } + .apply { + if (requestOptions.responseValidation ?: clientOptions.responseValidation) { + validate() + } + } + } + } } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ManagementOperationService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ManagementOperationService.kt index 84934cc6..135bcace 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ManagementOperationService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ManagementOperationService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ManagementOperationServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ManagementOperationServiceImpl.kt index aafcfbeb..3a3269b0 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ManagementOperationServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ManagementOperationServiceImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.ManagementOperationCreateParams import com.lithic.api.models.ManagementOperationListPage @@ -14,10 +18,6 @@ import com.lithic.api.models.ManagementOperationListParams import com.lithic.api.models.ManagementOperationRetrieveParams import com.lithic.api.models.ManagementOperationReverseParams import com.lithic.api.models.ManagementOperationTransaction -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class ManagementOperationServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/PaymentService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/PaymentService.kt index a976a013..3df66694 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/PaymentService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/PaymentService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/PaymentServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/PaymentServiceImpl.kt index 7fac66f8..1e7eef50 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/PaymentServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/PaymentServiceImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.Payment import com.lithic.api.models.PaymentCreateParams @@ -24,10 +28,6 @@ import com.lithic.api.models.PaymentSimulateReleaseParams import com.lithic.api.models.PaymentSimulateReleaseResponse import com.lithic.api.models.PaymentSimulateReturnParams import com.lithic.api.models.PaymentSimulateReturnResponse -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class PaymentServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ReportService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ReportService.kt index dada4826..d03123f9 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ReportService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ReportService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.services.blocking.reports.SettlementService diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ReportServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ReportServiceImpl.kt index a837f2fe..4143260d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ReportServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ReportServiceImpl.kt @@ -3,19 +3,14 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions -import com.lithic.api.core.http.HttpResponse.Handler -import com.lithic.api.errors.LithicError import com.lithic.api.services.blocking.reports.SettlementService import com.lithic.api.services.blocking.reports.SettlementServiceImpl -import com.lithic.api.services.errorHandler class ReportServiceImpl constructor( private val clientOptions: ClientOptions, ) : ReportService { - private val errorHandler: Handler = errorHandler(clientOptions.jsonMapper) - private val settlement: SettlementService by lazy { SettlementServiceImpl(clientOptions) } override fun settlement(): SettlementService = settlement diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ResponderEndpointService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ResponderEndpointService.kt index 59e78264..69ff9048 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ResponderEndpointService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ResponderEndpointService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ResponderEndpointServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ResponderEndpointServiceImpl.kt index 0235f022..df586d80 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ResponderEndpointServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ResponderEndpointServiceImpl.kt @@ -4,20 +4,20 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.emptyHandler +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.ResponderEndpointCheckStatusParams import com.lithic.api.models.ResponderEndpointCreateParams import com.lithic.api.models.ResponderEndpointCreateResponse import com.lithic.api.models.ResponderEndpointDeleteParams import com.lithic.api.models.ResponderEndpointStatus -import com.lithic.api.services.emptyHandler -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class ResponderEndpointServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ThreeDSService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ThreeDSService.kt index 169fffe3..94c073ca 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ThreeDSService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ThreeDSService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.services.blocking.threeDS.AuthenticationService diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ThreeDSServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ThreeDSServiceImpl.kt index 519e9bd0..087768d0 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ThreeDSServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/ThreeDSServiceImpl.kt @@ -3,21 +3,16 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions -import com.lithic.api.core.http.HttpResponse.Handler -import com.lithic.api.errors.LithicError import com.lithic.api.services.blocking.threeDS.AuthenticationService import com.lithic.api.services.blocking.threeDS.AuthenticationServiceImpl import com.lithic.api.services.blocking.threeDS.DecisioningService import com.lithic.api.services.blocking.threeDS.DecisioningServiceImpl -import com.lithic.api.services.errorHandler class ThreeDSServiceImpl constructor( private val clientOptions: ClientOptions, ) : ThreeDSService { - private val errorHandler: Handler = errorHandler(clientOptions.jsonMapper) - private val authentication: AuthenticationService by lazy { AuthenticationServiceImpl(clientOptions) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TokenizationDecisioningService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TokenizationDecisioningService.kt index f72541bb..107584a3 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TokenizationDecisioningService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TokenizationDecisioningService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TokenizationDecisioningServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TokenizationDecisioningServiceImpl.kt index af106453..88b7ebfb 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TokenizationDecisioningServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TokenizationDecisioningServiceImpl.kt @@ -4,18 +4,18 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.TokenizationDecisioningRetrieveSecretParams import com.lithic.api.models.TokenizationDecisioningRotateSecretParams import com.lithic.api.models.TokenizationDecisioningRotateSecretResponse import com.lithic.api.models.TokenizationSecret -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class TokenizationDecisioningServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TokenizationService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TokenizationService.kt index 819ff35c..ad61d782 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TokenizationService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TokenizationService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TokenizationServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TokenizationServiceImpl.kt index 848c11d2..6c998586 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TokenizationServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TokenizationServiceImpl.kt @@ -4,9 +4,14 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.emptyHandler +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.TokenizationActivateParams import com.lithic.api.models.TokenizationDeactivateParams @@ -21,11 +26,6 @@ import com.lithic.api.models.TokenizationSimulateResponse import com.lithic.api.models.TokenizationUnpauseParams import com.lithic.api.models.TokenizationUpdateDigitalCardArtParams import com.lithic.api.models.TokenizationUpdateDigitalCardArtResponse -import com.lithic.api.services.emptyHandler -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class TokenizationServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TransactionService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TransactionService.kt index 84df0301..88ef5c12 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TransactionService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TransactionService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions @@ -32,13 +30,19 @@ interface TransactionService { fun events(): EventService - /** Get specific card transaction. */ + /** + * Get a specific card transaction. All amounts are in the smallest unit of their respective + * currency (e.g., cents for USD). + */ fun retrieve( params: TransactionRetrieveParams, requestOptions: RequestOptions = RequestOptions.none() ): Transaction - /** List card transactions. */ + /** + * List card transactions. All amounts are in the smallest unit of their respective currency + * (e.g., cents for USD) and inclusive of any acquirer fees. + */ fun list( params: TransactionListParams, requestOptions: RequestOptions = RequestOptions.none() diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TransactionServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TransactionServiceImpl.kt index ab8d9d65..eeb963f8 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TransactionServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TransactionServiceImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.Transaction import com.lithic.api.models.TransactionListPage @@ -30,10 +34,6 @@ import com.lithic.api.services.blocking.transactions.EnhancedCommercialDataServi import com.lithic.api.services.blocking.transactions.EnhancedCommercialDataServiceImpl import com.lithic.api.services.blocking.transactions.EventService import com.lithic.api.services.blocking.transactions.EventServiceImpl -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class TransactionServiceImpl constructor( @@ -55,7 +55,10 @@ constructor( private val retrieveHandler: Handler = jsonHandler(clientOptions.jsonMapper).withErrorHandler(errorHandler) - /** Get specific card transaction. */ + /** + * Get a specific card transaction. All amounts are in the smallest unit of their respective + * currency (e.g., cents for USD). + */ override fun retrieve( params: TransactionRetrieveParams, requestOptions: RequestOptions @@ -84,7 +87,10 @@ constructor( jsonHandler(clientOptions.jsonMapper) .withErrorHandler(errorHandler) - /** List card transactions. */ + /** + * List card transactions. All amounts are in the smallest unit of their respective currency + * (e.g., cents for USD) and inclusive of any acquirer fees. + */ override fun list( params: TransactionListParams, requestOptions: RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TransferService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TransferService.kt index 7ea3f5f2..dac6d193 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TransferService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TransferService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TransferServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TransferServiceImpl.kt index 9f3e4a55..731ece12 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TransferServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/TransferServiceImpl.kt @@ -4,16 +4,16 @@ package com.lithic.api.services.blocking import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.Transfer import com.lithic.api.models.TransferCreateParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class TransferServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/WebhookServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/WebhookServiceImpl.kt index 3f71c929..a7bf11ae 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/WebhookServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/WebhookServiceImpl.kt @@ -7,10 +7,10 @@ import com.google.common.collect.ListMultimap import com.lithic.api.core.ClientOptions import com.lithic.api.core.JsonValue import com.lithic.api.core.getRequiredHeader +import com.lithic.api.core.handlers.errorHandler import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.errors.LithicException -import com.lithic.api.services.errorHandler import java.security.MessageDigest import java.time.Duration import java.time.Instant diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/authRules/V2Service.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/authRules/V2Service.kt index a52df2e3..91009adc 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/authRules/V2Service.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/authRules/V2Service.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.authRules import com.lithic.api.core.RequestOptions @@ -85,6 +83,39 @@ interface V2Service { * asynchronously through a webhook with `event_type` = `auth_rules.performance_report.created`. * See the docs on setting up [webhook subscriptions](https://docs.lithic.com/docs/events-api). * + * Reports are generated based on data collected by Lithic's authorization processing system in + * the trailing week. The performance of the auth rule will be assessed on the configuration of + * the auth rule at the time the report is requested. This implies that if a performance report + * is requested, right after updating an auth rule, depending on the number of authorizations + * processed for a card program, it may be the case that no data is available for the report. + * Therefore Lithic recommends to decouple making updates to an Auth Rule, and requesting + * performance reports. + * + * To make this concrete, consider the following example: + * 1. At time `t`, a new Auth Rule is created, and applies to all authorizations on a card + * program. The Auth Rule has not yet been promoted, causing the draft version of the rule to + * be applied in shadow mode. + * 2. At time `t + 1 hour` a performance report is requested for the Auth Rule. This performance + * report will _only_ contain data for the Auth Rule being executed in the window between `t` + * and `t + 1 hour`. This is because Lithic's transaction processing system will only start + * capturing data for the Auth Rule at the time it is created. + * 3. At time `t + 2 hours` the draft version of the Auth Rule is promoted to the active version + * of the Auth Rule by calling the `/v2/auth_rules/{auth_rule_token}/promote` endpoint. If a + * performance report is requested at this moment it will still only contain data for this + * version of the rule, but the window of available data will now span from `t` to `t + 2 + * hours`. + * 4. At time `t + 3 hours` a new version of the rule is drafted by calling the + * `/v2/auth_rules/{auth_rule_token}/draft` endpoint. If a performance report is requested + * right at this moment, it will only contain data for authorizations to which both the + * active version and the draft version is applied. Lithic does this to ensure that + * performance reports represent a fair comparison between rules. Because there may be no + * authorizations in this window, and because there may be some lag before data is available + * in a performance report, the requested performance report could contain no to little data. + * 5. At time `t + 4 hours` another performance report is requested: this time the performance + * report will contain data from the window between `t + 3 hours` and `t + 4 hours`, for any + * authorizations to which both the current version of the authorization rule (in enforcing + * mode) and the draft version of the authorization rule (in shadow mode) applied. + * * Note that generating a report may take up to 15 minutes and that delivery is not guaranteed. * Customers are required to have created an event subscription to receive the webhook. * Additionally, there is a delay of approximately 15 minutes between when Lithic's transaction diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/authRules/V2ServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/authRules/V2ServiceImpl.kt index ae49d8ec..fe2e6c40 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/authRules/V2ServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/authRules/V2ServiceImpl.kt @@ -4,9 +4,13 @@ package com.lithic.api.services.blocking.authRules import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.AuthRuleV2ApplyParams import com.lithic.api.models.AuthRuleV2CreateParams @@ -24,10 +28,6 @@ import com.lithic.api.models.V2PromoteResponse import com.lithic.api.models.V2ReportResponse import com.lithic.api.models.V2RetrieveResponse import com.lithic.api.models.V2UpdateResponse -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class V2ServiceImpl constructor( @@ -261,6 +261,39 @@ constructor( * asynchronously through a webhook with `event_type` = `auth_rules.performance_report.created`. * See the docs on setting up [webhook subscriptions](https://docs.lithic.com/docs/events-api). * + * Reports are generated based on data collected by Lithic's authorization processing system in + * the trailing week. The performance of the auth rule will be assessed on the configuration of + * the auth rule at the time the report is requested. This implies that if a performance report + * is requested, right after updating an auth rule, depending on the number of authorizations + * processed for a card program, it may be the case that no data is available for the report. + * Therefore Lithic recommends to decouple making updates to an Auth Rule, and requesting + * performance reports. + * + * To make this concrete, consider the following example: + * 1. At time `t`, a new Auth Rule is created, and applies to all authorizations on a card + * program. The Auth Rule has not yet been promoted, causing the draft version of the rule to + * be applied in shadow mode. + * 2. At time `t + 1 hour` a performance report is requested for the Auth Rule. This performance + * report will _only_ contain data for the Auth Rule being executed in the window between `t` + * and `t + 1 hour`. This is because Lithic's transaction processing system will only start + * capturing data for the Auth Rule at the time it is created. + * 3. At time `t + 2 hours` the draft version of the Auth Rule is promoted to the active version + * of the Auth Rule by calling the `/v2/auth_rules/{auth_rule_token}/promote` endpoint. If a + * performance report is requested at this moment it will still only contain data for this + * version of the rule, but the window of available data will now span from `t` to `t + 2 + * hours`. + * 4. At time `t + 3 hours` a new version of the rule is drafted by calling the + * `/v2/auth_rules/{auth_rule_token}/draft` endpoint. If a performance report is requested + * right at this moment, it will only contain data for authorizations to which both the + * active version and the draft version is applied. Lithic does this to ensure that + * performance reports represent a fair comparison between rules. Because there may be no + * authorizations in this window, and because there may be some lag before data is available + * in a performance report, the requested performance report could contain no to little data. + * 5. At time `t + 4 hours` another performance report is requested: this time the performance + * report will contain data from the window between `t + 3 hours` and `t + 4 hours`, for any + * authorizations to which both the current version of the authorization rule (in enforcing + * mode) and the draft version of the authorization rule (in shadow mode) applied. + * * Note that generating a report may take up to 15 minutes and that delivery is not guaranteed. * Customers are required to have created an event subscription to receive the webhook. * Additionally, there is a delay of approximately 15 minutes between when Lithic's transaction diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/AggregateBalanceService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/AggregateBalanceService.kt index 569b35d2..9d45e259 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/AggregateBalanceService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/AggregateBalanceService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.cards import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/AggregateBalanceServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/AggregateBalanceServiceImpl.kt index 0dc1d2de..343120af 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/AggregateBalanceServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/AggregateBalanceServiceImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.blocking.cards import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.CardAggregateBalanceListPage import com.lithic.api.models.CardAggregateBalanceListParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class AggregateBalanceServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/BalanceService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/BalanceService.kt index 585ad5a6..66fe078f 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/BalanceService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/BalanceService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.cards import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/BalanceServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/BalanceServiceImpl.kt index 93de6f92..177404ae 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/BalanceServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/BalanceServiceImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.blocking.cards import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.CardBalanceListPage import com.lithic.api.models.CardBalanceListParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class BalanceServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/FinancialTransactionService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/FinancialTransactionService.kt index 9152002b..2e6a7a0e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/FinancialTransactionService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/FinancialTransactionService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.cards import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/FinancialTransactionServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/FinancialTransactionServiceImpl.kt index 53d6dd51..a30e2966 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/FinancialTransactionServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/cards/FinancialTransactionServiceImpl.kt @@ -4,6 +4,9 @@ package com.lithic.api.services.blocking.cards import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler @@ -12,9 +15,6 @@ import com.lithic.api.models.CardFinancialTransactionListPage import com.lithic.api.models.CardFinancialTransactionListParams import com.lithic.api.models.CardFinancialTransactionRetrieveParams import com.lithic.api.models.FinancialTransaction -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class FinancialTransactionServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/creditProducts/ExtendedCreditService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/creditProducts/ExtendedCreditService.kt index 2c6352cb..af559140 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/creditProducts/ExtendedCreditService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/creditProducts/ExtendedCreditService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.creditProducts import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/creditProducts/ExtendedCreditServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/creditProducts/ExtendedCreditServiceImpl.kt index 491738d0..4ad79337 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/creditProducts/ExtendedCreditServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/creditProducts/ExtendedCreditServiceImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.blocking.creditProducts import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.CreditProductExtendedCreditRetrieveParams import com.lithic.api.models.ExtendedCredit -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class ExtendedCreditServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/events/SubscriptionService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/events/SubscriptionService.kt index 0f3ee733..01a7c680 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/events/SubscriptionService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/events/SubscriptionService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.events import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/events/SubscriptionServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/events/SubscriptionServiceImpl.kt index 16a105ee..dd05248a 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/events/SubscriptionServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/events/SubscriptionServiceImpl.kt @@ -4,9 +4,14 @@ package com.lithic.api.services.blocking.events import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.emptyHandler +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.EventSubscription import com.lithic.api.models.EventSubscriptionCreateParams @@ -23,11 +28,6 @@ import com.lithic.api.models.EventSubscriptionRotateSecretParams import com.lithic.api.models.EventSubscriptionSendSimulatedExampleParams import com.lithic.api.models.EventSubscriptionUpdateParams import com.lithic.api.models.SubscriptionRetrieveSecretResponse -import com.lithic.api.services.emptyHandler -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class SubscriptionServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/externalBankAccounts/MicroDepositService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/externalBankAccounts/MicroDepositService.kt index 464aa9d4..8d0e01bf 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/externalBankAccounts/MicroDepositService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/externalBankAccounts/MicroDepositService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.externalBankAccounts import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/externalBankAccounts/MicroDepositServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/externalBankAccounts/MicroDepositServiceImpl.kt index 37759ef3..f0d877e2 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/externalBankAccounts/MicroDepositServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/externalBankAccounts/MicroDepositServiceImpl.kt @@ -4,16 +4,16 @@ package com.lithic.api.services.blocking.externalBankAccounts import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.ExternalBankAccountMicroDepositCreateParams import com.lithic.api.models.MicroDepositCreateResponse -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class MicroDepositServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/BalanceService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/BalanceService.kt index 560946e0..c56f6e96 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/BalanceService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/BalanceService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.financialAccounts import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/BalanceServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/BalanceServiceImpl.kt index b6f0e796..1fbf3617 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/BalanceServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/BalanceServiceImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.blocking.financialAccounts import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.FinancialAccountBalanceListPage import com.lithic.api.models.FinancialAccountBalanceListParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class BalanceServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/CreditConfigurationService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/CreditConfigurationService.kt index 47d89c6c..6dca01b7 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/CreditConfigurationService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/CreditConfigurationService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.financialAccounts import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/CreditConfigurationServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/CreditConfigurationServiceImpl.kt index d12ffb5e..da9afa00 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/CreditConfigurationServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/CreditConfigurationServiceImpl.kt @@ -4,17 +4,17 @@ package com.lithic.api.services.blocking.financialAccounts import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.FinancialAccountCreditConfig import com.lithic.api.models.FinancialAccountCreditConfigurationRetrieveParams import com.lithic.api.models.FinancialAccountCreditConfigurationUpdateParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class CreditConfigurationServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/FinancialTransactionService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/FinancialTransactionService.kt index af58a059..8fac032d 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/FinancialTransactionService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/FinancialTransactionService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.financialAccounts import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/FinancialTransactionServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/FinancialTransactionServiceImpl.kt index a2cb272e..edaa123b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/FinancialTransactionServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/FinancialTransactionServiceImpl.kt @@ -4,6 +4,9 @@ package com.lithic.api.services.blocking.financialAccounts import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler @@ -12,9 +15,6 @@ import com.lithic.api.models.FinancialTransaction import com.lithic.api.models.FinancialTransactionListPage import com.lithic.api.models.FinancialTransactionListParams import com.lithic.api.models.FinancialTransactionRetrieveParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class FinancialTransactionServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/LoanTapeService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/LoanTapeService.kt index 2c88d441..cdf16da9 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/LoanTapeService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/LoanTapeService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.financialAccounts import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/LoanTapeServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/LoanTapeServiceImpl.kt index 46bea715..bbde8b62 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/LoanTapeServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/LoanTapeServiceImpl.kt @@ -4,6 +4,9 @@ package com.lithic.api.services.blocking.financialAccounts import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler @@ -12,9 +15,6 @@ import com.lithic.api.models.FinancialAccountLoanTapeListPage import com.lithic.api.models.FinancialAccountLoanTapeListParams import com.lithic.api.models.FinancialAccountLoanTapeRetrieveParams import com.lithic.api.models.LoanTape -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class LoanTapeServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/StatementService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/StatementService.kt index 14214cc2..1c5adef2 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/StatementService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/StatementService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.financialAccounts import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/StatementServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/StatementServiceImpl.kt index 2ef23bae..178fa627 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/StatementServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/StatementServiceImpl.kt @@ -4,6 +4,9 @@ package com.lithic.api.services.blocking.financialAccounts import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler @@ -14,9 +17,6 @@ import com.lithic.api.models.FinancialAccountStatementRetrieveParams import com.lithic.api.models.Statement import com.lithic.api.services.blocking.financialAccounts.statements.LineItemService import com.lithic.api.services.blocking.financialAccounts.statements.LineItemServiceImpl -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class StatementServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/statements/LineItemService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/statements/LineItemService.kt index 8651499b..3f61ad0b 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/statements/LineItemService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/statements/LineItemService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.financialAccounts.statements import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/statements/LineItemServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/statements/LineItemServiceImpl.kt index de0578f4..639c262c 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/statements/LineItemServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/financialAccounts/statements/LineItemServiceImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.blocking.financialAccounts.statements import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.FinancialAccountStatementLineItemListPage import com.lithic.api.models.FinancialAccountStatementLineItemListParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class LineItemServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/reports/SettlementService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/reports/SettlementService.kt index bf3c9d27..e4159936 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/reports/SettlementService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/reports/SettlementService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.reports import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/reports/SettlementServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/reports/SettlementServiceImpl.kt index dfae48aa..227e064e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/reports/SettlementServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/reports/SettlementServiceImpl.kt @@ -4,6 +4,9 @@ package com.lithic.api.services.blocking.reports import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler @@ -12,9 +15,6 @@ import com.lithic.api.models.ReportSettlementListDetailsPage import com.lithic.api.models.ReportSettlementListDetailsParams import com.lithic.api.models.ReportSettlementSummaryParams import com.lithic.api.models.SettlementReport -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class SettlementServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/threeDS/AuthenticationService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/threeDS/AuthenticationService.kt index 3251eb5d..0a6835ce 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/threeDS/AuthenticationService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/threeDS/AuthenticationService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.threeDS import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/threeDS/AuthenticationServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/threeDS/AuthenticationServiceImpl.kt index 237f94f5..f5d6aee4 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/threeDS/AuthenticationServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/threeDS/AuthenticationServiceImpl.kt @@ -4,18 +4,18 @@ package com.lithic.api.services.blocking.threeDS import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.AuthenticationRetrieveResponse import com.lithic.api.models.AuthenticationSimulateResponse import com.lithic.api.models.ThreeDSAuthenticationRetrieveParams import com.lithic.api.models.ThreeDSAuthenticationSimulateParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class AuthenticationServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/threeDS/DecisioningService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/threeDS/DecisioningService.kt index e1bc2984..63fc328a 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/threeDS/DecisioningService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/threeDS/DecisioningService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.threeDS import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/threeDS/DecisioningServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/threeDS/DecisioningServiceImpl.kt index 8cfe9a54..1e3b9e83 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/threeDS/DecisioningServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/threeDS/DecisioningServiceImpl.kt @@ -4,9 +4,14 @@ package com.lithic.api.services.blocking.threeDS import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.emptyHandler +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler +import com.lithic.api.core.json import com.lithic.api.errors.LithicError import com.lithic.api.models.DecisioningRetrieveSecretResponse import com.lithic.api.models.DecisioningSimulateChallengeResponse @@ -15,11 +20,6 @@ import com.lithic.api.models.ThreeDSDecisioningRetrieveSecretParams import com.lithic.api.models.ThreeDSDecisioningRotateSecretParams import com.lithic.api.models.ThreeDSDecisioningSimulateChallengeParams import com.lithic.api.models.ThreeDSDecisioningSimulateChallengeResponseParams -import com.lithic.api.services.emptyHandler -import com.lithic.api.services.errorHandler -import com.lithic.api.services.json -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class DecisioningServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/EnhancedCommercialDataService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/EnhancedCommercialDataService.kt index 42b8f034..5f9c678e 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/EnhancedCommercialDataService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/EnhancedCommercialDataService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.transactions import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/EnhancedCommercialDataServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/EnhancedCommercialDataServiceImpl.kt index 5c09eeef..05439040 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/EnhancedCommercialDataServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/EnhancedCommercialDataServiceImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.blocking.transactions import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.EnhancedCommercialDataRetrieveResponse import com.lithic.api.models.TransactionEnhancedCommercialDataRetrieveParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class EnhancedCommercialDataServiceImpl constructor( diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/EventService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/EventService.kt index fb8c547e..7e2dc1bc 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/EventService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/EventService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.transactions import com.lithic.api.services.blocking.transactions.events.EnhancedCommercialDataService diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/EventServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/EventServiceImpl.kt index c6ad74c3..10341ef3 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/EventServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/EventServiceImpl.kt @@ -3,19 +3,14 @@ package com.lithic.api.services.blocking.transactions import com.lithic.api.core.ClientOptions -import com.lithic.api.core.http.HttpResponse.Handler -import com.lithic.api.errors.LithicError import com.lithic.api.services.blocking.transactions.events.EnhancedCommercialDataService import com.lithic.api.services.blocking.transactions.events.EnhancedCommercialDataServiceImpl -import com.lithic.api.services.errorHandler class EventServiceImpl constructor( private val clientOptions: ClientOptions, ) : EventService { - private val errorHandler: Handler = errorHandler(clientOptions.jsonMapper) - private val enhancedCommercialData: EnhancedCommercialDataService by lazy { EnhancedCommercialDataServiceImpl(clientOptions) } diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/events/EnhancedCommercialDataService.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/events/EnhancedCommercialDataService.kt index 07435936..4a206420 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/events/EnhancedCommercialDataService.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/events/EnhancedCommercialDataService.kt @@ -1,7 +1,5 @@ // File generated from our OpenAPI spec by Stainless. -@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102 - package com.lithic.api.services.blocking.transactions.events import com.lithic.api.core.RequestOptions diff --git a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/events/EnhancedCommercialDataServiceImpl.kt b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/events/EnhancedCommercialDataServiceImpl.kt index 9d7dfbf2..914b21c9 100644 --- a/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/events/EnhancedCommercialDataServiceImpl.kt +++ b/lithic-kotlin-core/src/main/kotlin/com/lithic/api/services/blocking/transactions/events/EnhancedCommercialDataServiceImpl.kt @@ -4,15 +4,15 @@ package com.lithic.api.services.blocking.transactions.events import com.lithic.api.core.ClientOptions import com.lithic.api.core.RequestOptions +import com.lithic.api.core.handlers.errorHandler +import com.lithic.api.core.handlers.jsonHandler +import com.lithic.api.core.handlers.withErrorHandler import com.lithic.api.core.http.HttpMethod import com.lithic.api.core.http.HttpRequest import com.lithic.api.core.http.HttpResponse.Handler import com.lithic.api.errors.LithicError import com.lithic.api.models.EnhancedData import com.lithic.api.models.TransactionEventEnhancedCommercialDataRetrieveParams -import com.lithic.api.services.errorHandler -import com.lithic.api.services.jsonHandler -import com.lithic.api.services.withErrorHandler class EnhancedCommercialDataServiceImpl constructor( diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/core/PhantomReachableTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/core/PhantomReachableTest.kt new file mode 100644 index 00000000..8860d72e --- /dev/null +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/core/PhantomReachableTest.kt @@ -0,0 +1,27 @@ +package com.lithic.api.core + +import org.assertj.core.api.Assertions.assertThat +import org.junit.jupiter.api.Test + +internal class PhantomReachableTest { + + @Test + fun closeWhenPhantomReachable_whenObservedIsGarbageCollected_closesCloseable() { + var closed = false + val closeable = AutoCloseable { closed = true } + + closeWhenPhantomReachable( + // Pass an inline object for the object to observe so that it becomes immediately + // unreachable. + Any(), + closeable + ) + + assertThat(closed).isFalse() + + System.gc() + Thread.sleep(3000) + + assertThat(closed).isTrue() + } +} diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/core/http/HeadersTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/core/http/HeadersTest.kt new file mode 100644 index 00000000..87fc845d --- /dev/null +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/core/http/HeadersTest.kt @@ -0,0 +1,274 @@ +package com.lithic.api.core.http + +import org.assertj.core.api.Assertions.assertThat +import org.assertj.core.api.Assertions.catchThrowable +import org.assertj.core.api.Assumptions.assumeThat +import org.junit.jupiter.params.ParameterizedTest +import org.junit.jupiter.params.provider.EnumSource + +internal class HeadersTest { + + enum class TestCase( + val headers: Headers, + val expectedMap: Map>, + val expectedSize: Int + ) { + EMPTY(Headers.builder().build(), expectedMap = mapOf(), expectedSize = 0), + PUT_ONE( + Headers.builder().put("name", "value").build(), + expectedMap = mapOf("name" to listOf("value")), + expectedSize = 1 + ), + PUT_MULTIPLE( + Headers.builder().put("name", listOf("value1", "value2")).build(), + expectedMap = mapOf("name" to listOf("value1", "value2")), + expectedSize = 2 + ), + MULTIPLE_PUT( + Headers.builder().put("name1", "value").put("name2", "value").build(), + expectedMap = mapOf("name1" to listOf("value"), "name2" to listOf("value")), + expectedSize = 2 + ), + MULTIPLE_PUT_SAME_NAME( + Headers.builder().put("name", "value1").put("name", "value2").build(), + expectedMap = mapOf("name" to listOf("value1", "value2")), + expectedSize = 2 + ), + MULTIPLE_PUT_MULTIPLE( + Headers.builder() + .put("name", listOf("value1", "value2")) + .put("name", listOf("value1", "value2")) + .build(), + expectedMap = mapOf("name" to listOf("value1", "value2", "value1", "value2")), + expectedSize = 4 + ), + PUT_CASE_INSENSITIVE( + Headers.builder() + .put("name", "value1") + .put("NAME", "value2") + .put("nAmE", "value3") + .build(), + expectedMap = mapOf("name" to listOf("value1", "value2", "value3")), + expectedSize = 3 + ), + PUT_ALL_MAP( + Headers.builder() + .putAll( + mapOf( + "name1" to listOf("value1", "value2"), + "name2" to listOf("value1", "value2") + ) + ) + .build(), + expectedMap = + mapOf("name1" to listOf("value1", "value2"), "name2" to listOf("value1", "value2")), + expectedSize = 4 + ), + PUT_ALL_HEADERS( + Headers.builder().putAll(Headers.builder().put("name", "value").build()).build(), + expectedMap = mapOf("name" to listOf("value")), + expectedSize = 1 + ), + PUT_ALL_CASE_INSENSITIVE( + Headers.builder() + .putAll( + mapOf( + "name" to listOf("value1"), + "NAME" to listOf("value2"), + "nAmE" to listOf("value3") + ) + ) + .build(), + expectedMap = mapOf("name" to listOf("value1", "value2", "value3")), + expectedSize = 3 + ), + REMOVE_ABSENT( + Headers.builder().remove("name").build(), + expectedMap = mapOf(), + expectedSize = 0 + ), + REMOVE_PRESENT_ONE( + Headers.builder().put("name", "value").remove("name").build(), + expectedMap = mapOf(), + expectedSize = 0 + ), + REMOVE_PRESENT_MULTIPLE( + Headers.builder().put("name", listOf("value1", "value2")).remove("name").build(), + expectedMap = mapOf(), + expectedSize = 0 + ), + REMOVE_CASE_INSENSITIVE( + Headers.builder().put("name", listOf("value1", "value2")).remove("NAME").build(), + expectedMap = mapOf(), + expectedSize = 0 + ), + REMOVE_ALL( + Headers.builder() + .put("name1", "value") + .put("name3", "value") + .removeAll(setOf("name1", "name2", "name3")) + .build(), + expectedMap = mapOf(), + expectedSize = 0 + ), + REMOVE_ALL_CASE_INSENSITIVE( + Headers.builder() + .put("name1", "value") + .put("name3", "value") + .removeAll(setOf("NAME1", "nAmE3")) + .build(), + expectedMap = mapOf(), + expectedSize = 0 + ), + CLEAR( + Headers.builder().put("name1", "value").put("name2", "value").clear().build(), + expectedMap = mapOf(), + expectedSize = 0 + ), + REPLACE_ONE_ABSENT( + Headers.builder().replace("name", "value").build(), + expectedMap = mapOf("name" to listOf("value")), + expectedSize = 1 + ), + REPLACE_ONE_PRESENT_ONE( + Headers.builder().put("name", "value1").replace("name", "value2").build(), + expectedMap = mapOf("name" to listOf("value2")), + expectedSize = 1 + ), + REPLACE_ONE_PRESENT_MULTIPLE( + Headers.builder() + .put("name", listOf("value1", "value2")) + .replace("name", "value3") + .build(), + expectedMap = mapOf("name" to listOf("value3")), + expectedSize = 1 + ), + REPLACE_MULTIPLE_ABSENT( + Headers.builder().replace("name", listOf("value1", "value2")).build(), + expectedMap = mapOf("name" to listOf("value1", "value2")), + expectedSize = 2 + ), + REPLACE_MULTIPLE_PRESENT_ONE( + Headers.builder() + .put("name", "value1") + .replace("name", listOf("value2", "value3")) + .build(), + expectedMap = mapOf("name" to listOf("value2", "value3")), + expectedSize = 2 + ), + REPLACE_MULTIPLE_PRESENT_MULTIPLE( + Headers.builder() + .put("name", listOf("value1", "value2")) + .replace("name", listOf("value3", "value4")) + .build(), + expectedMap = mapOf("name" to listOf("value3", "value4")), + expectedSize = 2 + ), + REPLACE_CASE_INSENSITIVE( + Headers.builder() + .put("name", "value1") + .replace("NAME", listOf("value2", "value3")) + .build(), + expectedMap = mapOf("NAME" to listOf("value2", "value3")), + expectedSize = 2 + ), + REPLACE_ALL_MAP( + Headers.builder() + .put("name1", "value1") + .put("name2", "value1") + .put("name3", "value1") + .replaceAll(mapOf("name1" to listOf("value2"), "name3" to listOf("value2"))) + .build(), + expectedMap = + mapOf( + "name1" to listOf("value2"), + "name2" to listOf("value1"), + "name3" to listOf("value2") + ), + expectedSize = 3 + ), + REPLACE_ALL_HEADERS( + Headers.builder() + .put("name1", "value1") + .put("name2", "value1") + .put("name3", "value1") + .replaceAll(Headers.builder().put("name1", "value2").put("name3", "value2").build()) + .build(), + expectedMap = + mapOf( + "name1" to listOf("value2"), + "name2" to listOf("value1"), + "name3" to listOf("value2") + ), + expectedSize = 3 + ), + REPLACE_ALL_CASE_INSENSITIVE( + Headers.builder() + .put("name1", "value1") + .put("name2", "value1") + .replaceAll(mapOf("NAME1" to listOf("value2"), "nAmE2" to listOf("value2"))) + .build(), + expectedMap = mapOf("NAME1" to listOf("value2"), "nAmE2" to listOf("value2")), + expectedSize = 2 + ) + } + + @ParameterizedTest + @EnumSource + fun namesAndValues(testCase: TestCase) { + val map = mutableMapOf>() + val headers = testCase.headers + headers.names().forEach { name -> map[name] = headers.values(name) } + + assertThat(map).isEqualTo(testCase.expectedMap) + } + + @ParameterizedTest + @EnumSource + fun caseInsensitiveNames(testCase: TestCase) { + val headers = testCase.headers + + for (name in headers.names()) { + assertThat(headers.values(name)).isEqualTo(headers.values(name.lowercase())) + assertThat(headers.values(name)).isEqualTo(headers.values(name.uppercase())) + } + } + + @ParameterizedTest + @EnumSource + fun size(testCase: TestCase) { + val size = testCase.headers.size + + assertThat(size).isEqualTo(testCase.expectedSize) + } + + @ParameterizedTest + @EnumSource + fun namesAreImmutable(testCase: TestCase) { + val headers = testCase.headers + val headerNamesCopy = headers.names().toSet() + + val throwable = catchThrowable { + (headers.names() as MutableSet).add("another name") + } + + assertThat(throwable).isInstanceOf(UnsupportedOperationException::class.java) + assertThat(headers.names()).isEqualTo(headerNamesCopy) + } + + @ParameterizedTest + @EnumSource + fun valuesAreImmutable(testCase: TestCase) { + val headers = testCase.headers + assumeThat(headers.size).isNotEqualTo(0) + val name = headers.names().first() + val headerValuesCopy = headers.values(name).toList() + + val throwable = catchThrowable { + (headers.values(name) as MutableList).add("another value") + } + + assertThat(throwable).isInstanceOf(UnsupportedOperationException::class.java) + assertThat(headers.values(name)).isEqualTo(headerValuesCopy) + } +} diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/core/http/SerializerTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/core/http/SerializerTest.kt index 930e339c..880c318f 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/core/http/SerializerTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/core/http/SerializerTest.kt @@ -92,7 +92,7 @@ internal class SerializerTest { fun build(): ClassWithBooleanFieldPrefixedWithIs = ClassWithBooleanFieldPrefixedWithIs( isActive, - additionalProperties.toUnmodifiable(), + additionalProperties.toImmutable(), ) } } diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/AuthRuleV2CreateParamsTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/AuthRuleV2CreateParamsTest.kt index 451cc004..e59d3d9b 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/AuthRuleV2CreateParamsTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/AuthRuleV2CreateParamsTest.kt @@ -14,24 +14,23 @@ class AuthRuleV2CreateParamsTest { AuthRuleV2CreateParams.CreateAuthRuleRequestAccountTokens.builder() .accountTokens(listOf("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")) .parameters( - AuthRuleV2CreateParams.CreateAuthRuleRequestAccountTokens.AuthRuleParameters + AuthRuleV2CreateParams.CreateAuthRuleRequestAccountTokens.Parameters .ofConditionalBlockParameters( - AuthRuleV2CreateParams.CreateAuthRuleRequestAccountTokens - .AuthRuleParameters + AuthRuleV2CreateParams.CreateAuthRuleRequestAccountTokens.Parameters .ConditionalBlockParameters .builder() .conditions( listOf( AuthRuleV2CreateParams .CreateAuthRuleRequestAccountTokens - .AuthRuleParameters + .Parameters .ConditionalBlockParameters .Condition .builder() .attribute( AuthRuleV2CreateParams .CreateAuthRuleRequestAccountTokens - .AuthRuleParameters + .Parameters .ConditionalBlockParameters .Condition .Attribute @@ -40,7 +39,7 @@ class AuthRuleV2CreateParamsTest { .operation( AuthRuleV2CreateParams .CreateAuthRuleRequestAccountTokens - .AuthRuleParameters + .Parameters .ConditionalBlockParameters .Condition .Operation @@ -49,7 +48,7 @@ class AuthRuleV2CreateParamsTest { .value( AuthRuleV2CreateParams .CreateAuthRuleRequestAccountTokens - .AuthRuleParameters + .Parameters .ConditionalBlockParameters .Condition .Value diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/AuthRuleV2DraftParamsTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/AuthRuleV2DraftParamsTest.kt index 9d18115a..cb331c49 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/AuthRuleV2DraftParamsTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/AuthRuleV2DraftParamsTest.kt @@ -13,30 +13,27 @@ class AuthRuleV2DraftParamsTest { AuthRuleV2DraftParams.builder() .authRuleToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .parameters( - AuthRuleV2DraftParams.AuthRuleParameters.ofConditionalBlockParameters( - AuthRuleV2DraftParams.AuthRuleParameters.ConditionalBlockParameters.builder() + AuthRuleV2DraftParams.Parameters.ofConditionalBlockParameters( + AuthRuleV2DraftParams.Parameters.ConditionalBlockParameters.builder() .conditions( listOf( - AuthRuleV2DraftParams.AuthRuleParameters.ConditionalBlockParameters + AuthRuleV2DraftParams.Parameters.ConditionalBlockParameters .Condition .builder() .attribute( - AuthRuleV2DraftParams.AuthRuleParameters - .ConditionalBlockParameters + AuthRuleV2DraftParams.Parameters.ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - AuthRuleV2DraftParams.AuthRuleParameters - .ConditionalBlockParameters + AuthRuleV2DraftParams.Parameters.ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - AuthRuleV2DraftParams.AuthRuleParameters - .ConditionalBlockParameters + AuthRuleV2DraftParams.Parameters.ConditionalBlockParameters .Condition .Value .ofString("string") @@ -56,31 +53,29 @@ class AuthRuleV2DraftParamsTest { AuthRuleV2DraftParams.builder() .authRuleToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .parameters( - AuthRuleV2DraftParams.AuthRuleParameters.ofConditionalBlockParameters( - AuthRuleV2DraftParams.AuthRuleParameters.ConditionalBlockParameters - .builder() + AuthRuleV2DraftParams.Parameters.ofConditionalBlockParameters( + AuthRuleV2DraftParams.Parameters.ConditionalBlockParameters.builder() .conditions( listOf( - AuthRuleV2DraftParams.AuthRuleParameters - .ConditionalBlockParameters + AuthRuleV2DraftParams.Parameters.ConditionalBlockParameters .Condition .builder() .attribute( - AuthRuleV2DraftParams.AuthRuleParameters + AuthRuleV2DraftParams.Parameters .ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - AuthRuleV2DraftParams.AuthRuleParameters + AuthRuleV2DraftParams.Parameters .ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - AuthRuleV2DraftParams.AuthRuleParameters + AuthRuleV2DraftParams.Parameters .ConditionalBlockParameters .Condition .Value @@ -97,30 +92,27 @@ class AuthRuleV2DraftParamsTest { assertThat(body).isNotNull assertThat(body.parameters()) .isEqualTo( - AuthRuleV2DraftParams.AuthRuleParameters.ofConditionalBlockParameters( - AuthRuleV2DraftParams.AuthRuleParameters.ConditionalBlockParameters.builder() + AuthRuleV2DraftParams.Parameters.ofConditionalBlockParameters( + AuthRuleV2DraftParams.Parameters.ConditionalBlockParameters.builder() .conditions( listOf( - AuthRuleV2DraftParams.AuthRuleParameters.ConditionalBlockParameters + AuthRuleV2DraftParams.Parameters.ConditionalBlockParameters .Condition .builder() .attribute( - AuthRuleV2DraftParams.AuthRuleParameters - .ConditionalBlockParameters + AuthRuleV2DraftParams.Parameters.ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - AuthRuleV2DraftParams.AuthRuleParameters - .ConditionalBlockParameters + AuthRuleV2DraftParams.Parameters.ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - AuthRuleV2DraftParams.AuthRuleParameters - .ConditionalBlockParameters + AuthRuleV2DraftParams.Parameters.ConditionalBlockParameters .Condition .Value .ofString("string") diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/FinancialAccountChargeOffParamsTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/FinancialAccountChargeOffParamsTest.kt new file mode 100644 index 00000000..32f9d2f1 --- /dev/null +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/FinancialAccountChargeOffParamsTest.kt @@ -0,0 +1,58 @@ +// File generated from our OpenAPI spec by Stainless. + +package com.lithic.api.models + +import com.lithic.api.models.* +import org.assertj.core.api.Assertions.assertThat +import org.junit.jupiter.api.Test + +class FinancialAccountChargeOffParamsTest { + + @Test + fun createFinancialAccountChargeOffParams() { + FinancialAccountChargeOffParams.builder() + .financialAccountToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + .reason(FinancialAccountChargeOffParams.ChargedOffReason.DELINQUENT) + .build() + } + + @Test + fun getBody() { + val params = + FinancialAccountChargeOffParams.builder() + .financialAccountToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + .reason(FinancialAccountChargeOffParams.ChargedOffReason.DELINQUENT) + .build() + val body = params.getBody() + assertThat(body).isNotNull + assertThat(body.reason()) + .isEqualTo(FinancialAccountChargeOffParams.ChargedOffReason.DELINQUENT) + } + + @Test + fun getBodyWithoutOptionalFields() { + val params = + FinancialAccountChargeOffParams.builder() + .financialAccountToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + .reason(FinancialAccountChargeOffParams.ChargedOffReason.DELINQUENT) + .build() + val body = params.getBody() + assertThat(body).isNotNull + assertThat(body.reason()) + .isEqualTo(FinancialAccountChargeOffParams.ChargedOffReason.DELINQUENT) + } + + @Test + fun getPathParam() { + val params = + FinancialAccountChargeOffParams.builder() + .financialAccountToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + .reason(FinancialAccountChargeOffParams.ChargedOffReason.DELINQUENT) + .build() + assertThat(params).isNotNull + // path param "financialAccountToken" + assertThat(params.getPathParam(0)).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + // out-of-bound path param + assertThat(params.getPathParam(1)).isEqualTo("") + } +} diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/FinancialAccountCreditConfigTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/FinancialAccountCreditConfigTest.kt index c4656f80..54b0a566 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/FinancialAccountCreditConfigTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/FinancialAccountCreditConfigTest.kt @@ -12,24 +12,27 @@ class FinancialAccountCreditConfigTest { val financialAccountCreditConfig = FinancialAccountCreditConfig.builder() .accountToken("b68b7424-aa69-4cbc-a946-30d90181b621") + .chargedOffReason(FinancialAccountCreditConfig.ChargedOffReason.DELINQUENT) .creditLimit(123L) .creditProductToken("credit_product_token") .externalBankAccountToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .tier("tier") .financialAccountState(FinancialAccountCreditConfig.FinancialAccountState.PENDING) .isSpendBlocked(true) + .tier("tier") .build() assertThat(financialAccountCreditConfig).isNotNull assertThat(financialAccountCreditConfig.accountToken()) .isEqualTo("b68b7424-aa69-4cbc-a946-30d90181b621") + assertThat(financialAccountCreditConfig.chargedOffReason()) + .isEqualTo(FinancialAccountCreditConfig.ChargedOffReason.DELINQUENT) assertThat(financialAccountCreditConfig.creditLimit()).isEqualTo(123L) assertThat(financialAccountCreditConfig.creditProductToken()) .isEqualTo("credit_product_token") assertThat(financialAccountCreditConfig.externalBankAccountToken()) .isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(financialAccountCreditConfig.tier()).isEqualTo("tier") assertThat(financialAccountCreditConfig.financialAccountState()) .isEqualTo(FinancialAccountCreditConfig.FinancialAccountState.PENDING) assertThat(financialAccountCreditConfig.isSpendBlocked()).isEqualTo(true) + assertThat(financialAccountCreditConfig.tier()).isEqualTo("tier") } } diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/FinancialAccountTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/FinancialAccountTest.kt index 35e1c1b5..19781734 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/FinancialAccountTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/FinancialAccountTest.kt @@ -17,14 +17,19 @@ class FinancialAccountTest { .created(OffsetDateTime.parse("2019-12-27T18:11:19.117Z")) .creditConfiguration( FinancialAccount.FinancialAccountCreditConfig.builder() + .chargedOffReason( + FinancialAccount.FinancialAccountCreditConfig.ChargedOffReason + .DELINQUENT + ) .creditLimit(123L) .creditProductToken("credit_product_token") .externalBankAccountToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .tier("tier") .financialAccountState( FinancialAccount.FinancialAccountCreditConfig.FinancialAccountState .PENDING ) + .isSpendBlocked(true) + .tier("tier") .build() ) .isForBenefitOf(true) @@ -43,13 +48,17 @@ class FinancialAccountTest { assertThat(financialAccount.creditConfiguration()) .isEqualTo( FinancialAccount.FinancialAccountCreditConfig.builder() + .chargedOffReason( + FinancialAccount.FinancialAccountCreditConfig.ChargedOffReason.DELINQUENT + ) .creditLimit(123L) .creditProductToken("credit_product_token") .externalBankAccountToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .tier("tier") .financialAccountState( FinancialAccount.FinancialAccountCreditConfig.FinancialAccountState.PENDING ) + .isSpendBlocked(true) + .tier("tier") .build() ) assertThat(financialAccount.isForBenefitOf()).isEqualTo(true) diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/LoanTapeTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/LoanTapeTest.kt index 3afc03be..3e95eeb9 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/LoanTapeTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/LoanTapeTest.kt @@ -76,6 +76,37 @@ class LoanTapeTest { .endingBalance(123L) .excessCredits(123L) .financialAccountToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + .interestDetails( + LoanTape.InterestDetails.builder() + .actualInterestCharged(123L) + .dailyBalanceAmounts( + LoanTape.InterestDetails.CategoryDetails.builder() + .balanceTransfers("balance_transfers") + .cashAdvances("cash_advances") + .purchases("purchases") + .build() + ) + .effectiveApr( + LoanTape.InterestDetails.CategoryDetails.builder() + .balanceTransfers("balance_transfers") + .cashAdvances("cash_advances") + .purchases("purchases") + .build() + ) + .interestCalculationMethod( + LoanTape.InterestDetails.InterestCalculationMethod.DAILY + ) + .interestForPeriod( + LoanTape.InterestDetails.CategoryDetails.builder() + .balanceTransfers("balance_transfers") + .cashAdvances("cash_advances") + .purchases("purchases") + .build() + ) + .primeRate("prime_rate") + .minimumInterestCharged(123L) + .build() + ) .minimumPaymentBalance( LoanTape.BalanceDetails.builder().amount(123L).remaining(123L).build() ) @@ -184,6 +215,38 @@ class LoanTapeTest { assertThat(loanTape.excessCredits()).isEqualTo(123L) assertThat(loanTape.financialAccountToken()) .isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(loanTape.interestDetails()) + .isEqualTo( + LoanTape.InterestDetails.builder() + .actualInterestCharged(123L) + .dailyBalanceAmounts( + LoanTape.InterestDetails.CategoryDetails.builder() + .balanceTransfers("balance_transfers") + .cashAdvances("cash_advances") + .purchases("purchases") + .build() + ) + .effectiveApr( + LoanTape.InterestDetails.CategoryDetails.builder() + .balanceTransfers("balance_transfers") + .cashAdvances("cash_advances") + .purchases("purchases") + .build() + ) + .interestCalculationMethod( + LoanTape.InterestDetails.InterestCalculationMethod.DAILY + ) + .interestForPeriod( + LoanTape.InterestDetails.CategoryDetails.builder() + .balanceTransfers("balance_transfers") + .cashAdvances("cash_advances") + .purchases("purchases") + .build() + ) + .primeRate("prime_rate") + .minimumInterestCharged(123L) + .build() + ) assertThat(loanTape.minimumPaymentBalance()) .isEqualTo(LoanTape.BalanceDetails.builder().amount(123L).remaining(123L).build()) assertThat(loanTape.paymentAllocation()) diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/StatementTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/StatementTest.kt index 7f0dc4b8..d491da8d 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/StatementTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/StatementTest.kt @@ -88,8 +88,8 @@ class StatementTest { .purchases("purchases") .build() ) - .minimumInterestCharged(123L) .primeRate("prime_rate") + .minimumInterestCharged(123L) .build() ) .nextPaymentDueDate(LocalDate.parse("2019-12-27")) @@ -177,8 +177,8 @@ class StatementTest { .purchases("purchases") .build() ) - .minimumInterestCharged(123L) .primeRate("prime_rate") + .minimumInterestCharged(123L) .build() ) assertThat(statement.nextPaymentDueDate()).isEqualTo(LocalDate.parse("2019-12-27")) diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/StatementsTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/StatementsTest.kt index 53765cc9..d3a791e6 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/StatementsTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/StatementsTest.kt @@ -93,8 +93,8 @@ class StatementsTest { .purchases("purchases") .build() ) - .minimumInterestCharged(123L) .primeRate("prime_rate") + .minimumInterestCharged(123L) .build() ) .nextPaymentDueDate(LocalDate.parse("2019-12-27")) @@ -183,8 +183,8 @@ class StatementsTest { .purchases("purchases") .build() ) - .minimumInterestCharged(123L) .primeRate("prime_rate") + .minimumInterestCharged(123L) .build() ) .nextPaymentDueDate(LocalDate.parse("2019-12-27")) diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/TransactionTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/TransactionTest.kt index 56ea37a4..dda8eb79 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/TransactionTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/TransactionTest.kt @@ -117,7 +117,7 @@ class TransactionTest { ) .build() ) - .result(Transaction.Result.APPROVED) + .result(Transaction.DeclineResult.ACCOUNT_STATE_TRANSACTION_FAIL) .settledAmount(123L) .status(Transaction.Status.DECLINED) .tokenInfo( @@ -172,7 +172,8 @@ class TransactionTest { Transaction.TransactionEvent.EffectivePolarity.CREDIT ) .result( - Transaction.TransactionEvent.Result.ACCOUNT_STATE_TRANSACTION_FAIL + Transaction.TransactionEvent.DeclineResult + .ACCOUNT_STATE_TRANSACTION_FAIL ) .type(Transaction.TransactionEvent.Type.AUTHORIZATION) .build() @@ -289,7 +290,8 @@ class TransactionTest { ) .build() ) - assertThat(transaction.result()).isEqualTo(Transaction.Result.APPROVED) + assertThat(transaction.result()) + .isEqualTo(Transaction.DeclineResult.ACCOUNT_STATE_TRANSACTION_FAIL) assertThat(transaction.settledAmount()).isEqualTo(123L) assertThat(transaction.status()).isEqualTo(Transaction.Status.DECLINED) assertThat(transaction.tokenInfo()) @@ -340,7 +342,9 @@ class TransactionTest { ) ) .effectivePolarity(Transaction.TransactionEvent.EffectivePolarity.CREDIT) - .result(Transaction.TransactionEvent.Result.ACCOUNT_STATE_TRANSACTION_FAIL) + .result( + Transaction.TransactionEvent.DeclineResult.ACCOUNT_STATE_TRANSACTION_FAIL + ) .type(Transaction.TransactionEvent.Type.AUTHORIZATION) .build() ) diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2ApplyResponseTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2ApplyResponseTest.kt index eef4df02..c48057e7 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2ApplyResponseTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2ApplyResponseTest.kt @@ -17,141 +17,31 @@ class V2ApplyResponseTest { .currentVersion( V2ApplyResponse.CurrentVersion.builder() .parameters( - V2ApplyResponse.CurrentVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2ApplyResponse.CurrentVersion.AuthRuleParameters - .ConditionalBlockParameters - .builder() - .conditions( - listOf( - V2ApplyResponse.CurrentVersion.AuthRuleParameters - .ConditionalBlockParameters - .Condition - .builder() - .attribute( - V2ApplyResponse.CurrentVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Attribute - .MCC - ) - .operation( - V2ApplyResponse.CurrentVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Operation - .IS_ONE_OF - ) - .value( - V2ApplyResponse.CurrentVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Value - .ofString("string") - ) - .build() - ) - ) - .build() - ) - ) - .version(123L) - .build() - ) - .draftVersion( - V2ApplyResponse.DraftVersion.builder() - .parameters( - V2ApplyResponse.DraftVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2ApplyResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .builder() - .conditions( - listOf( - V2ApplyResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .Condition - .builder() - .attribute( - V2ApplyResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Attribute - .MCC - ) - .operation( - V2ApplyResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Operation - .IS_ONE_OF - ) - .value( - V2ApplyResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Value - .ofString("string") - ) - .build() - ) - ) - .build() - ) - ) - .version(123L) - .build() - ) - .programLevel(true) - .state(V2ApplyResponse.AuthRuleState.ACTIVE) - .type(V2ApplyResponse.AuthRuleType.CONDITIONAL_BLOCK) - .build() - assertThat(v2ApplyResponse).isNotNull - assertThat(v2ApplyResponse.token()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2ApplyResponse.accountTokens()) - .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2ApplyResponse.cardTokens()) - .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2ApplyResponse.currentVersion()) - .isEqualTo( - V2ApplyResponse.CurrentVersion.builder() - .parameters( - V2ApplyResponse.CurrentVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2ApplyResponse.CurrentVersion.AuthRuleParameters - .ConditionalBlockParameters + V2ApplyResponse.CurrentVersion.Parameters.ofConditionalBlockParameters( + V2ApplyResponse.CurrentVersion.Parameters.ConditionalBlockParameters .builder() .conditions( listOf( - V2ApplyResponse.CurrentVersion.AuthRuleParameters + V2ApplyResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .builder() .attribute( - V2ApplyResponse.CurrentVersion - .AuthRuleParameters + V2ApplyResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - V2ApplyResponse.CurrentVersion - .AuthRuleParameters + V2ApplyResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - V2ApplyResponse.CurrentVersion - .AuthRuleParameters + V2ApplyResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Value @@ -162,41 +52,38 @@ class V2ApplyResponseTest { ) .build() ) - ) - .version(123L) - .build() - ) - assertThat(v2ApplyResponse.draftVersion()) - .isEqualTo( - V2ApplyResponse.DraftVersion.builder() - .parameters( - V2ApplyResponse.DraftVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2ApplyResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters + ) + .version(123L) + .build() + ) + .draftVersion( + V2ApplyResponse.DraftVersion.builder() + .parameters( + V2ApplyResponse.DraftVersion.Parameters.ofConditionalBlockParameters( + V2ApplyResponse.DraftVersion.Parameters.ConditionalBlockParameters .builder() .conditions( listOf( - V2ApplyResponse.DraftVersion.AuthRuleParameters + V2ApplyResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .builder() .attribute( - V2ApplyResponse.DraftVersion.AuthRuleParameters + V2ApplyResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - V2ApplyResponse.DraftVersion.AuthRuleParameters + V2ApplyResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - V2ApplyResponse.DraftVersion.AuthRuleParameters + V2ApplyResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Value @@ -207,6 +94,102 @@ class V2ApplyResponseTest { ) .build() ) + ) + .version(123L) + .build() + ) + .programLevel(true) + .state(V2ApplyResponse.AuthRuleState.ACTIVE) + .type(V2ApplyResponse.AuthRuleType.CONDITIONAL_BLOCK) + .build() + assertThat(v2ApplyResponse).isNotNull + assertThat(v2ApplyResponse.token()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2ApplyResponse.accountTokens()) + .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2ApplyResponse.cardTokens()) + .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2ApplyResponse.currentVersion()) + .isEqualTo( + V2ApplyResponse.CurrentVersion.builder() + .parameters( + V2ApplyResponse.CurrentVersion.Parameters.ofConditionalBlockParameters( + V2ApplyResponse.CurrentVersion.Parameters.ConditionalBlockParameters + .builder() + .conditions( + listOf( + V2ApplyResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .builder() + .attribute( + V2ApplyResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Attribute + .MCC + ) + .operation( + V2ApplyResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Operation + .IS_ONE_OF + ) + .value( + V2ApplyResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Value + .ofString("string") + ) + .build() + ) + ) + .build() + ) + ) + .version(123L) + .build() + ) + assertThat(v2ApplyResponse.draftVersion()) + .isEqualTo( + V2ApplyResponse.DraftVersion.builder() + .parameters( + V2ApplyResponse.DraftVersion.Parameters.ofConditionalBlockParameters( + V2ApplyResponse.DraftVersion.Parameters.ConditionalBlockParameters + .builder() + .conditions( + listOf( + V2ApplyResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .builder() + .attribute( + V2ApplyResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Attribute + .MCC + ) + .operation( + V2ApplyResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Operation + .IS_ONE_OF + ) + .value( + V2ApplyResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Value + .ofString("string") + ) + .build() + ) + ) + .build() + ) ) .version(123L) .build() diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2CreateResponseTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2CreateResponseTest.kt index ce300f98..15c8ada7 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2CreateResponseTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2CreateResponseTest.kt @@ -17,141 +17,32 @@ class V2CreateResponseTest { .currentVersion( V2CreateResponse.CurrentVersion.builder() .parameters( - V2CreateResponse.CurrentVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2CreateResponse.CurrentVersion.AuthRuleParameters - .ConditionalBlockParameters - .builder() - .conditions( - listOf( - V2CreateResponse.CurrentVersion.AuthRuleParameters - .ConditionalBlockParameters - .Condition - .builder() - .attribute( - V2CreateResponse.CurrentVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Attribute - .MCC - ) - .operation( - V2CreateResponse.CurrentVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Operation - .IS_ONE_OF - ) - .value( - V2CreateResponse.CurrentVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Value - .ofString("string") - ) - .build() - ) - ) - .build() - ) - ) - .version(123L) - .build() - ) - .draftVersion( - V2CreateResponse.DraftVersion.builder() - .parameters( - V2CreateResponse.DraftVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2CreateResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .builder() - .conditions( - listOf( - V2CreateResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .Condition - .builder() - .attribute( - V2CreateResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Attribute - .MCC - ) - .operation( - V2CreateResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Operation - .IS_ONE_OF - ) - .value( - V2CreateResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Value - .ofString("string") - ) - .build() - ) - ) - .build() - ) - ) - .version(123L) - .build() - ) - .programLevel(true) - .state(V2CreateResponse.AuthRuleState.ACTIVE) - .type(V2CreateResponse.AuthRuleType.CONDITIONAL_BLOCK) - .build() - assertThat(v2CreateResponse).isNotNull - assertThat(v2CreateResponse.token()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2CreateResponse.accountTokens()) - .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2CreateResponse.cardTokens()) - .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2CreateResponse.currentVersion()) - .isEqualTo( - V2CreateResponse.CurrentVersion.builder() - .parameters( - V2CreateResponse.CurrentVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2CreateResponse.CurrentVersion.AuthRuleParameters + V2CreateResponse.CurrentVersion.Parameters.ofConditionalBlockParameters( + V2CreateResponse.CurrentVersion.Parameters .ConditionalBlockParameters .builder() .conditions( listOf( - V2CreateResponse.CurrentVersion.AuthRuleParameters + V2CreateResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .builder() .attribute( - V2CreateResponse.CurrentVersion - .AuthRuleParameters + V2CreateResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - V2CreateResponse.CurrentVersion - .AuthRuleParameters + V2CreateResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - V2CreateResponse.CurrentVersion - .AuthRuleParameters + V2CreateResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Value @@ -162,41 +53,38 @@ class V2CreateResponseTest { ) .build() ) - ) - .version(123L) - .build() - ) - assertThat(v2CreateResponse.draftVersion()) - .isEqualTo( - V2CreateResponse.DraftVersion.builder() - .parameters( - V2CreateResponse.DraftVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2CreateResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters + ) + .version(123L) + .build() + ) + .draftVersion( + V2CreateResponse.DraftVersion.builder() + .parameters( + V2CreateResponse.DraftVersion.Parameters.ofConditionalBlockParameters( + V2CreateResponse.DraftVersion.Parameters.ConditionalBlockParameters .builder() .conditions( listOf( - V2CreateResponse.DraftVersion.AuthRuleParameters + V2CreateResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .builder() .attribute( - V2CreateResponse.DraftVersion.AuthRuleParameters + V2CreateResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - V2CreateResponse.DraftVersion.AuthRuleParameters + V2CreateResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - V2CreateResponse.DraftVersion.AuthRuleParameters + V2CreateResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Value @@ -207,6 +95,102 @@ class V2CreateResponseTest { ) .build() ) + ) + .version(123L) + .build() + ) + .programLevel(true) + .state(V2CreateResponse.AuthRuleState.ACTIVE) + .type(V2CreateResponse.AuthRuleType.CONDITIONAL_BLOCK) + .build() + assertThat(v2CreateResponse).isNotNull + assertThat(v2CreateResponse.token()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2CreateResponse.accountTokens()) + .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2CreateResponse.cardTokens()) + .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2CreateResponse.currentVersion()) + .isEqualTo( + V2CreateResponse.CurrentVersion.builder() + .parameters( + V2CreateResponse.CurrentVersion.Parameters.ofConditionalBlockParameters( + V2CreateResponse.CurrentVersion.Parameters.ConditionalBlockParameters + .builder() + .conditions( + listOf( + V2CreateResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .builder() + .attribute( + V2CreateResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Attribute + .MCC + ) + .operation( + V2CreateResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Operation + .IS_ONE_OF + ) + .value( + V2CreateResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Value + .ofString("string") + ) + .build() + ) + ) + .build() + ) + ) + .version(123L) + .build() + ) + assertThat(v2CreateResponse.draftVersion()) + .isEqualTo( + V2CreateResponse.DraftVersion.builder() + .parameters( + V2CreateResponse.DraftVersion.Parameters.ofConditionalBlockParameters( + V2CreateResponse.DraftVersion.Parameters.ConditionalBlockParameters + .builder() + .conditions( + listOf( + V2CreateResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .builder() + .attribute( + V2CreateResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Attribute + .MCC + ) + .operation( + V2CreateResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Operation + .IS_ONE_OF + ) + .value( + V2CreateResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Value + .ofString("string") + ) + .build() + ) + ) + .build() + ) ) .version(123L) .build() diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2DraftResponseTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2DraftResponseTest.kt index e180bc92..7c1f9344 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2DraftResponseTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2DraftResponseTest.kt @@ -17,141 +17,31 @@ class V2DraftResponseTest { .currentVersion( V2DraftResponse.CurrentVersion.builder() .parameters( - V2DraftResponse.CurrentVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2DraftResponse.CurrentVersion.AuthRuleParameters - .ConditionalBlockParameters - .builder() - .conditions( - listOf( - V2DraftResponse.CurrentVersion.AuthRuleParameters - .ConditionalBlockParameters - .Condition - .builder() - .attribute( - V2DraftResponse.CurrentVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Attribute - .MCC - ) - .operation( - V2DraftResponse.CurrentVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Operation - .IS_ONE_OF - ) - .value( - V2DraftResponse.CurrentVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Value - .ofString("string") - ) - .build() - ) - ) - .build() - ) - ) - .version(123L) - .build() - ) - .draftVersion( - V2DraftResponse.DraftVersion.builder() - .parameters( - V2DraftResponse.DraftVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2DraftResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .builder() - .conditions( - listOf( - V2DraftResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .Condition - .builder() - .attribute( - V2DraftResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Attribute - .MCC - ) - .operation( - V2DraftResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Operation - .IS_ONE_OF - ) - .value( - V2DraftResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Value - .ofString("string") - ) - .build() - ) - ) - .build() - ) - ) - .version(123L) - .build() - ) - .programLevel(true) - .state(V2DraftResponse.AuthRuleState.ACTIVE) - .type(V2DraftResponse.AuthRuleType.CONDITIONAL_BLOCK) - .build() - assertThat(v2DraftResponse).isNotNull - assertThat(v2DraftResponse.token()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2DraftResponse.accountTokens()) - .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2DraftResponse.cardTokens()) - .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2DraftResponse.currentVersion()) - .isEqualTo( - V2DraftResponse.CurrentVersion.builder() - .parameters( - V2DraftResponse.CurrentVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2DraftResponse.CurrentVersion.AuthRuleParameters - .ConditionalBlockParameters + V2DraftResponse.CurrentVersion.Parameters.ofConditionalBlockParameters( + V2DraftResponse.CurrentVersion.Parameters.ConditionalBlockParameters .builder() .conditions( listOf( - V2DraftResponse.CurrentVersion.AuthRuleParameters + V2DraftResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .builder() .attribute( - V2DraftResponse.CurrentVersion - .AuthRuleParameters + V2DraftResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - V2DraftResponse.CurrentVersion - .AuthRuleParameters + V2DraftResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - V2DraftResponse.CurrentVersion - .AuthRuleParameters + V2DraftResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Value @@ -162,41 +52,38 @@ class V2DraftResponseTest { ) .build() ) - ) - .version(123L) - .build() - ) - assertThat(v2DraftResponse.draftVersion()) - .isEqualTo( - V2DraftResponse.DraftVersion.builder() - .parameters( - V2DraftResponse.DraftVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2DraftResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters + ) + .version(123L) + .build() + ) + .draftVersion( + V2DraftResponse.DraftVersion.builder() + .parameters( + V2DraftResponse.DraftVersion.Parameters.ofConditionalBlockParameters( + V2DraftResponse.DraftVersion.Parameters.ConditionalBlockParameters .builder() .conditions( listOf( - V2DraftResponse.DraftVersion.AuthRuleParameters + V2DraftResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .builder() .attribute( - V2DraftResponse.DraftVersion.AuthRuleParameters + V2DraftResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - V2DraftResponse.DraftVersion.AuthRuleParameters + V2DraftResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - V2DraftResponse.DraftVersion.AuthRuleParameters + V2DraftResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Value @@ -207,6 +94,102 @@ class V2DraftResponseTest { ) .build() ) + ) + .version(123L) + .build() + ) + .programLevel(true) + .state(V2DraftResponse.AuthRuleState.ACTIVE) + .type(V2DraftResponse.AuthRuleType.CONDITIONAL_BLOCK) + .build() + assertThat(v2DraftResponse).isNotNull + assertThat(v2DraftResponse.token()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2DraftResponse.accountTokens()) + .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2DraftResponse.cardTokens()) + .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2DraftResponse.currentVersion()) + .isEqualTo( + V2DraftResponse.CurrentVersion.builder() + .parameters( + V2DraftResponse.CurrentVersion.Parameters.ofConditionalBlockParameters( + V2DraftResponse.CurrentVersion.Parameters.ConditionalBlockParameters + .builder() + .conditions( + listOf( + V2DraftResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .builder() + .attribute( + V2DraftResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Attribute + .MCC + ) + .operation( + V2DraftResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Operation + .IS_ONE_OF + ) + .value( + V2DraftResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Value + .ofString("string") + ) + .build() + ) + ) + .build() + ) + ) + .version(123L) + .build() + ) + assertThat(v2DraftResponse.draftVersion()) + .isEqualTo( + V2DraftResponse.DraftVersion.builder() + .parameters( + V2DraftResponse.DraftVersion.Parameters.ofConditionalBlockParameters( + V2DraftResponse.DraftVersion.Parameters.ConditionalBlockParameters + .builder() + .conditions( + listOf( + V2DraftResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .builder() + .attribute( + V2DraftResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Attribute + .MCC + ) + .operation( + V2DraftResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Operation + .IS_ONE_OF + ) + .value( + V2DraftResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Value + .ofString("string") + ) + .build() + ) + ) + .build() + ) ) .version(123L) .build() diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2ListResponseTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2ListResponseTest.kt index dbc4a879..d264e5e1 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2ListResponseTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2ListResponseTest.kt @@ -17,46 +17,41 @@ class V2ListResponseTest { .currentVersion( V2ListResponse.CurrentVersion.builder() .parameters( - V2ListResponse.CurrentVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2ListResponse.CurrentVersion.AuthRuleParameters - .ConditionalBlockParameters - .builder() - .conditions( - listOf( - V2ListResponse.CurrentVersion.AuthRuleParameters - .ConditionalBlockParameters - .Condition - .builder() - .attribute( - V2ListResponse.CurrentVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Attribute - .MCC - ) - .operation( - V2ListResponse.CurrentVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Operation - .IS_ONE_OF - ) - .value( - V2ListResponse.CurrentVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Value - .ofString("string") - ) - .build() - ) + V2ListResponse.CurrentVersion.Parameters.ofConditionalBlockParameters( + V2ListResponse.CurrentVersion.Parameters.ConditionalBlockParameters + .builder() + .conditions( + listOf( + V2ListResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .builder() + .attribute( + V2ListResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Attribute + .MCC + ) + .operation( + V2ListResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Operation + .IS_ONE_OF + ) + .value( + V2ListResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Value + .ofString("string") + ) + .build() ) - .build() - ) + ) + .build() + ) ) .version(123L) .build() @@ -64,91 +59,31 @@ class V2ListResponseTest { .draftVersion( V2ListResponse.DraftVersion.builder() .parameters( - V2ListResponse.DraftVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2ListResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .builder() - .conditions( - listOf( - V2ListResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .Condition - .builder() - .attribute( - V2ListResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Attribute - .MCC - ) - .operation( - V2ListResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Operation - .IS_ONE_OF - ) - .value( - V2ListResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Value - .ofString("string") - ) - .build() - ) - ) - .build() - ) - ) - .version(123L) - .build() - ) - .programLevel(true) - .state(V2ListResponse.AuthRuleState.ACTIVE) - .type(V2ListResponse.AuthRuleType.CONDITIONAL_BLOCK) - .build() - assertThat(v2ListResponse).isNotNull - assertThat(v2ListResponse.token()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2ListResponse.accountTokens()) - .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2ListResponse.cardTokens()) - .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2ListResponse.currentVersion()) - .isEqualTo( - V2ListResponse.CurrentVersion.builder() - .parameters( - V2ListResponse.CurrentVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2ListResponse.CurrentVersion.AuthRuleParameters - .ConditionalBlockParameters + V2ListResponse.DraftVersion.Parameters.ofConditionalBlockParameters( + V2ListResponse.DraftVersion.Parameters.ConditionalBlockParameters .builder() .conditions( listOf( - V2ListResponse.CurrentVersion.AuthRuleParameters + V2ListResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .builder() .attribute( - V2ListResponse.CurrentVersion.AuthRuleParameters + V2ListResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - V2ListResponse.CurrentVersion.AuthRuleParameters + V2ListResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - V2ListResponse.CurrentVersion.AuthRuleParameters + V2ListResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Value @@ -159,6 +94,59 @@ class V2ListResponseTest { ) .build() ) + ) + .version(123L) + .build() + ) + .programLevel(true) + .state(V2ListResponse.AuthRuleState.ACTIVE) + .type(V2ListResponse.AuthRuleType.CONDITIONAL_BLOCK) + .build() + assertThat(v2ListResponse).isNotNull + assertThat(v2ListResponse.token()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2ListResponse.accountTokens()) + .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2ListResponse.cardTokens()) + .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2ListResponse.currentVersion()) + .isEqualTo( + V2ListResponse.CurrentVersion.builder() + .parameters( + V2ListResponse.CurrentVersion.Parameters.ofConditionalBlockParameters( + V2ListResponse.CurrentVersion.Parameters.ConditionalBlockParameters + .builder() + .conditions( + listOf( + V2ListResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .builder() + .attribute( + V2ListResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Attribute + .MCC + ) + .operation( + V2ListResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Operation + .IS_ONE_OF + ) + .value( + V2ListResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Value + .ofString("string") + ) + .build() + ) + ) + .build() + ) ) .version(123L) .build() @@ -167,32 +155,31 @@ class V2ListResponseTest { .isEqualTo( V2ListResponse.DraftVersion.builder() .parameters( - V2ListResponse.DraftVersion.AuthRuleParameters.ofConditionalBlockParameters( - V2ListResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters + V2ListResponse.DraftVersion.Parameters.ofConditionalBlockParameters( + V2ListResponse.DraftVersion.Parameters.ConditionalBlockParameters .builder() .conditions( listOf( - V2ListResponse.DraftVersion.AuthRuleParameters + V2ListResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .builder() .attribute( - V2ListResponse.DraftVersion.AuthRuleParameters + V2ListResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - V2ListResponse.DraftVersion.AuthRuleParameters + V2ListResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - V2ListResponse.DraftVersion.AuthRuleParameters + V2ListResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Value diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2PromoteResponseTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2PromoteResponseTest.kt index 600023a5..b3b8cb97 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2PromoteResponseTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2PromoteResponseTest.kt @@ -17,36 +17,33 @@ class V2PromoteResponseTest { .currentVersion( V2PromoteResponse.CurrentVersion.builder() .parameters( - V2PromoteResponse.CurrentVersion.AuthRuleParameters + V2PromoteResponse.CurrentVersion.Parameters .ofConditionalBlockParameters( - V2PromoteResponse.CurrentVersion.AuthRuleParameters + V2PromoteResponse.CurrentVersion.Parameters .ConditionalBlockParameters .builder() .conditions( listOf( - V2PromoteResponse.CurrentVersion.AuthRuleParameters + V2PromoteResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .builder() .attribute( - V2PromoteResponse.CurrentVersion - .AuthRuleParameters + V2PromoteResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - V2PromoteResponse.CurrentVersion - .AuthRuleParameters + V2PromoteResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - V2PromoteResponse.CurrentVersion - .AuthRuleParameters + V2PromoteResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Value @@ -64,94 +61,31 @@ class V2PromoteResponseTest { .draftVersion( V2PromoteResponse.DraftVersion.builder() .parameters( - V2PromoteResponse.DraftVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2PromoteResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .builder() - .conditions( - listOf( - V2PromoteResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .Condition - .builder() - .attribute( - V2PromoteResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Attribute - .MCC - ) - .operation( - V2PromoteResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Operation - .IS_ONE_OF - ) - .value( - V2PromoteResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Value - .ofString("string") - ) - .build() - ) - ) - .build() - ) - ) - .version(123L) - .build() - ) - .programLevel(true) - .state(V2PromoteResponse.AuthRuleState.ACTIVE) - .type(V2PromoteResponse.AuthRuleType.CONDITIONAL_BLOCK) - .build() - assertThat(v2PromoteResponse).isNotNull - assertThat(v2PromoteResponse.token()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2PromoteResponse.accountTokens()) - .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2PromoteResponse.cardTokens()) - .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2PromoteResponse.currentVersion()) - .isEqualTo( - V2PromoteResponse.CurrentVersion.builder() - .parameters( - V2PromoteResponse.CurrentVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2PromoteResponse.CurrentVersion.AuthRuleParameters - .ConditionalBlockParameters + V2PromoteResponse.DraftVersion.Parameters.ofConditionalBlockParameters( + V2PromoteResponse.DraftVersion.Parameters.ConditionalBlockParameters .builder() .conditions( listOf( - V2PromoteResponse.CurrentVersion.AuthRuleParameters + V2PromoteResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .builder() .attribute( - V2PromoteResponse.CurrentVersion - .AuthRuleParameters + V2PromoteResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - V2PromoteResponse.CurrentVersion - .AuthRuleParameters + V2PromoteResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - V2PromoteResponse.CurrentVersion - .AuthRuleParameters + V2PromoteResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Value @@ -162,6 +96,59 @@ class V2PromoteResponseTest { ) .build() ) + ) + .version(123L) + .build() + ) + .programLevel(true) + .state(V2PromoteResponse.AuthRuleState.ACTIVE) + .type(V2PromoteResponse.AuthRuleType.CONDITIONAL_BLOCK) + .build() + assertThat(v2PromoteResponse).isNotNull + assertThat(v2PromoteResponse.token()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2PromoteResponse.accountTokens()) + .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2PromoteResponse.cardTokens()) + .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2PromoteResponse.currentVersion()) + .isEqualTo( + V2PromoteResponse.CurrentVersion.builder() + .parameters( + V2PromoteResponse.CurrentVersion.Parameters.ofConditionalBlockParameters( + V2PromoteResponse.CurrentVersion.Parameters.ConditionalBlockParameters + .builder() + .conditions( + listOf( + V2PromoteResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .builder() + .attribute( + V2PromoteResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Attribute + .MCC + ) + .operation( + V2PromoteResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Operation + .IS_ONE_OF + ) + .value( + V2PromoteResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Value + .ofString("string") + ) + .build() + ) + ) + .build() + ) ) .version(123L) .build() @@ -170,46 +157,41 @@ class V2PromoteResponseTest { .isEqualTo( V2PromoteResponse.DraftVersion.builder() .parameters( - V2PromoteResponse.DraftVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2PromoteResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .builder() - .conditions( - listOf( - V2PromoteResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .Condition - .builder() - .attribute( - V2PromoteResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Attribute - .MCC - ) - .operation( - V2PromoteResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Operation - .IS_ONE_OF - ) - .value( - V2PromoteResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Value - .ofString("string") - ) - .build() - ) + V2PromoteResponse.DraftVersion.Parameters.ofConditionalBlockParameters( + V2PromoteResponse.DraftVersion.Parameters.ConditionalBlockParameters + .builder() + .conditions( + listOf( + V2PromoteResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .builder() + .attribute( + V2PromoteResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Attribute + .MCC + ) + .operation( + V2PromoteResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Operation + .IS_ONE_OF + ) + .value( + V2PromoteResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Value + .ofString("string") + ) + .build() ) - .build() - ) + ) + .build() + ) ) .version(123L) .build() diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2RetrieveResponseTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2RetrieveResponseTest.kt index c6b5f26e..f5cd641d 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2RetrieveResponseTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2RetrieveResponseTest.kt @@ -17,36 +17,33 @@ class V2RetrieveResponseTest { .currentVersion( V2RetrieveResponse.CurrentVersion.builder() .parameters( - V2RetrieveResponse.CurrentVersion.AuthRuleParameters + V2RetrieveResponse.CurrentVersion.Parameters .ofConditionalBlockParameters( - V2RetrieveResponse.CurrentVersion.AuthRuleParameters + V2RetrieveResponse.CurrentVersion.Parameters .ConditionalBlockParameters .builder() .conditions( listOf( - V2RetrieveResponse.CurrentVersion.AuthRuleParameters + V2RetrieveResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .builder() .attribute( - V2RetrieveResponse.CurrentVersion - .AuthRuleParameters + V2RetrieveResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - V2RetrieveResponse.CurrentVersion - .AuthRuleParameters + V2RetrieveResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - V2RetrieveResponse.CurrentVersion - .AuthRuleParameters + V2RetrieveResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Value @@ -64,94 +61,32 @@ class V2RetrieveResponseTest { .draftVersion( V2RetrieveResponse.DraftVersion.builder() .parameters( - V2RetrieveResponse.DraftVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2RetrieveResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .builder() - .conditions( - listOf( - V2RetrieveResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .Condition - .builder() - .attribute( - V2RetrieveResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Attribute - .MCC - ) - .operation( - V2RetrieveResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Operation - .IS_ONE_OF - ) - .value( - V2RetrieveResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Value - .ofString("string") - ) - .build() - ) - ) - .build() - ) - ) - .version(123L) - .build() - ) - .programLevel(true) - .state(V2RetrieveResponse.AuthRuleState.ACTIVE) - .type(V2RetrieveResponse.AuthRuleType.CONDITIONAL_BLOCK) - .build() - assertThat(v2RetrieveResponse).isNotNull - assertThat(v2RetrieveResponse.token()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2RetrieveResponse.accountTokens()) - .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2RetrieveResponse.cardTokens()) - .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2RetrieveResponse.currentVersion()) - .isEqualTo( - V2RetrieveResponse.CurrentVersion.builder() - .parameters( - V2RetrieveResponse.CurrentVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2RetrieveResponse.CurrentVersion.AuthRuleParameters + V2RetrieveResponse.DraftVersion.Parameters.ofConditionalBlockParameters( + V2RetrieveResponse.DraftVersion.Parameters .ConditionalBlockParameters .builder() .conditions( listOf( - V2RetrieveResponse.CurrentVersion.AuthRuleParameters + V2RetrieveResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .builder() .attribute( - V2RetrieveResponse.CurrentVersion - .AuthRuleParameters + V2RetrieveResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - V2RetrieveResponse.CurrentVersion - .AuthRuleParameters + V2RetrieveResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - V2RetrieveResponse.CurrentVersion - .AuthRuleParameters + V2RetrieveResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Value @@ -162,6 +97,59 @@ class V2RetrieveResponseTest { ) .build() ) + ) + .version(123L) + .build() + ) + .programLevel(true) + .state(V2RetrieveResponse.AuthRuleState.ACTIVE) + .type(V2RetrieveResponse.AuthRuleType.CONDITIONAL_BLOCK) + .build() + assertThat(v2RetrieveResponse).isNotNull + assertThat(v2RetrieveResponse.token()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2RetrieveResponse.accountTokens()) + .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2RetrieveResponse.cardTokens()) + .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2RetrieveResponse.currentVersion()) + .isEqualTo( + V2RetrieveResponse.CurrentVersion.builder() + .parameters( + V2RetrieveResponse.CurrentVersion.Parameters.ofConditionalBlockParameters( + V2RetrieveResponse.CurrentVersion.Parameters.ConditionalBlockParameters + .builder() + .conditions( + listOf( + V2RetrieveResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .builder() + .attribute( + V2RetrieveResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Attribute + .MCC + ) + .operation( + V2RetrieveResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Operation + .IS_ONE_OF + ) + .value( + V2RetrieveResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Value + .ofString("string") + ) + .build() + ) + ) + .build() + ) ) .version(123L) .build() @@ -170,46 +158,41 @@ class V2RetrieveResponseTest { .isEqualTo( V2RetrieveResponse.DraftVersion.builder() .parameters( - V2RetrieveResponse.DraftVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2RetrieveResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .builder() - .conditions( - listOf( - V2RetrieveResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .Condition - .builder() - .attribute( - V2RetrieveResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Attribute - .MCC - ) - .operation( - V2RetrieveResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Operation - .IS_ONE_OF - ) - .value( - V2RetrieveResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Value - .ofString("string") - ) - .build() - ) + V2RetrieveResponse.DraftVersion.Parameters.ofConditionalBlockParameters( + V2RetrieveResponse.DraftVersion.Parameters.ConditionalBlockParameters + .builder() + .conditions( + listOf( + V2RetrieveResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .builder() + .attribute( + V2RetrieveResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Attribute + .MCC + ) + .operation( + V2RetrieveResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Operation + .IS_ONE_OF + ) + .value( + V2RetrieveResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Value + .ofString("string") + ) + .build() ) - .build() - ) + ) + .build() + ) ) .version(123L) .build() diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2UpdateResponseTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2UpdateResponseTest.kt index 6d5c86db..2552dd5a 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2UpdateResponseTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/models/V2UpdateResponseTest.kt @@ -17,141 +17,32 @@ class V2UpdateResponseTest { .currentVersion( V2UpdateResponse.CurrentVersion.builder() .parameters( - V2UpdateResponse.CurrentVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2UpdateResponse.CurrentVersion.AuthRuleParameters - .ConditionalBlockParameters - .builder() - .conditions( - listOf( - V2UpdateResponse.CurrentVersion.AuthRuleParameters - .ConditionalBlockParameters - .Condition - .builder() - .attribute( - V2UpdateResponse.CurrentVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Attribute - .MCC - ) - .operation( - V2UpdateResponse.CurrentVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Operation - .IS_ONE_OF - ) - .value( - V2UpdateResponse.CurrentVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Value - .ofString("string") - ) - .build() - ) - ) - .build() - ) - ) - .version(123L) - .build() - ) - .draftVersion( - V2UpdateResponse.DraftVersion.builder() - .parameters( - V2UpdateResponse.DraftVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2UpdateResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .builder() - .conditions( - listOf( - V2UpdateResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters - .Condition - .builder() - .attribute( - V2UpdateResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Attribute - .MCC - ) - .operation( - V2UpdateResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Operation - .IS_ONE_OF - ) - .value( - V2UpdateResponse.DraftVersion - .AuthRuleParameters - .ConditionalBlockParameters - .Condition - .Value - .ofString("string") - ) - .build() - ) - ) - .build() - ) - ) - .version(123L) - .build() - ) - .programLevel(true) - .state(V2UpdateResponse.AuthRuleState.ACTIVE) - .type(V2UpdateResponse.AuthRuleType.CONDITIONAL_BLOCK) - .build() - assertThat(v2UpdateResponse).isNotNull - assertThat(v2UpdateResponse.token()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2UpdateResponse.accountTokens()) - .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2UpdateResponse.cardTokens()) - .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(v2UpdateResponse.currentVersion()) - .isEqualTo( - V2UpdateResponse.CurrentVersion.builder() - .parameters( - V2UpdateResponse.CurrentVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2UpdateResponse.CurrentVersion.AuthRuleParameters + V2UpdateResponse.CurrentVersion.Parameters.ofConditionalBlockParameters( + V2UpdateResponse.CurrentVersion.Parameters .ConditionalBlockParameters .builder() .conditions( listOf( - V2UpdateResponse.CurrentVersion.AuthRuleParameters + V2UpdateResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .builder() .attribute( - V2UpdateResponse.CurrentVersion - .AuthRuleParameters + V2UpdateResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - V2UpdateResponse.CurrentVersion - .AuthRuleParameters + V2UpdateResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - V2UpdateResponse.CurrentVersion - .AuthRuleParameters + V2UpdateResponse.CurrentVersion.Parameters .ConditionalBlockParameters .Condition .Value @@ -162,41 +53,38 @@ class V2UpdateResponseTest { ) .build() ) - ) - .version(123L) - .build() - ) - assertThat(v2UpdateResponse.draftVersion()) - .isEqualTo( - V2UpdateResponse.DraftVersion.builder() - .parameters( - V2UpdateResponse.DraftVersion.AuthRuleParameters - .ofConditionalBlockParameters( - V2UpdateResponse.DraftVersion.AuthRuleParameters - .ConditionalBlockParameters + ) + .version(123L) + .build() + ) + .draftVersion( + V2UpdateResponse.DraftVersion.builder() + .parameters( + V2UpdateResponse.DraftVersion.Parameters.ofConditionalBlockParameters( + V2UpdateResponse.DraftVersion.Parameters.ConditionalBlockParameters .builder() .conditions( listOf( - V2UpdateResponse.DraftVersion.AuthRuleParameters + V2UpdateResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .builder() .attribute( - V2UpdateResponse.DraftVersion.AuthRuleParameters + V2UpdateResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - V2UpdateResponse.DraftVersion.AuthRuleParameters + V2UpdateResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - V2UpdateResponse.DraftVersion.AuthRuleParameters + V2UpdateResponse.DraftVersion.Parameters .ConditionalBlockParameters .Condition .Value @@ -207,6 +95,102 @@ class V2UpdateResponseTest { ) .build() ) + ) + .version(123L) + .build() + ) + .programLevel(true) + .state(V2UpdateResponse.AuthRuleState.ACTIVE) + .type(V2UpdateResponse.AuthRuleType.CONDITIONAL_BLOCK) + .build() + assertThat(v2UpdateResponse).isNotNull + assertThat(v2UpdateResponse.token()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2UpdateResponse.accountTokens()) + .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2UpdateResponse.cardTokens()) + .containsExactly("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + assertThat(v2UpdateResponse.currentVersion()) + .isEqualTo( + V2UpdateResponse.CurrentVersion.builder() + .parameters( + V2UpdateResponse.CurrentVersion.Parameters.ofConditionalBlockParameters( + V2UpdateResponse.CurrentVersion.Parameters.ConditionalBlockParameters + .builder() + .conditions( + listOf( + V2UpdateResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .builder() + .attribute( + V2UpdateResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Attribute + .MCC + ) + .operation( + V2UpdateResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Operation + .IS_ONE_OF + ) + .value( + V2UpdateResponse.CurrentVersion.Parameters + .ConditionalBlockParameters + .Condition + .Value + .ofString("string") + ) + .build() + ) + ) + .build() + ) + ) + .version(123L) + .build() + ) + assertThat(v2UpdateResponse.draftVersion()) + .isEqualTo( + V2UpdateResponse.DraftVersion.builder() + .parameters( + V2UpdateResponse.DraftVersion.Parameters.ofConditionalBlockParameters( + V2UpdateResponse.DraftVersion.Parameters.ConditionalBlockParameters + .builder() + .conditions( + listOf( + V2UpdateResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .builder() + .attribute( + V2UpdateResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Attribute + .MCC + ) + .operation( + V2UpdateResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Operation + .IS_ONE_OF + ) + .value( + V2UpdateResponse.DraftVersion.Parameters + .ConditionalBlockParameters + .Condition + .Value + .ofString("string") + ) + .build() + ) + ) + .build() + ) ) .version(123L) .build() diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/CreditProductServiceTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/CreditProductServiceTest.kt deleted file mode 100644 index a4686639..00000000 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/CreditProductServiceTest.kt +++ /dev/null @@ -1,9 +0,0 @@ -// File generated from our OpenAPI spec by Stainless. - -package com.lithic.api.services.blocking - -import com.lithic.api.TestServerExtension -import com.lithic.api.models.* -import org.junit.jupiter.api.extension.ExtendWith - -@ExtendWith(TestServerExtension::class) class CreditProductServiceTest diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/FinancialAccountServiceTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/FinancialAccountServiceTest.kt index 294dad15..a4dc3c6b 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/FinancialAccountServiceTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/FinancialAccountServiceTest.kt @@ -83,4 +83,23 @@ class FinancialAccountServiceTest { println(financialAccountsResponse) financialAccountsResponse.data().forEach { it.validate() } } + + @Test + fun callChargeOff() { + val client = + LithicOkHttpClient.builder() + .baseUrl(TestServerExtension.BASE_URL) + .apiKey("My Lithic API Key") + .build() + val financialAccountService = client.financialAccounts() + val financialAccountCreditConfig = + financialAccountService.chargeOff( + FinancialAccountChargeOffParams.builder() + .financialAccountToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + .reason(FinancialAccountChargeOffParams.ChargedOffReason.DELINQUENT) + .build() + ) + println(financialAccountCreditConfig) + financialAccountCreditConfig.validate() + } } diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/ReportServiceTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/ReportServiceTest.kt deleted file mode 100644 index 4722ef90..00000000 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/ReportServiceTest.kt +++ /dev/null @@ -1,9 +0,0 @@ -// File generated from our OpenAPI spec by Stainless. - -package com.lithic.api.services.blocking - -import com.lithic.api.TestServerExtension -import com.lithic.api.models.* -import org.junit.jupiter.api.extension.ExtendWith - -@ExtendWith(TestServerExtension::class) class ReportServiceTest diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/ThreeDSServiceTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/ThreeDSServiceTest.kt deleted file mode 100644 index 275aab86..00000000 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/ThreeDSServiceTest.kt +++ /dev/null @@ -1,9 +0,0 @@ -// File generated from our OpenAPI spec by Stainless. - -package com.lithic.api.services.blocking - -import com.lithic.api.TestServerExtension -import com.lithic.api.models.* -import org.junit.jupiter.api.extension.ExtendWith - -@ExtendWith(TestServerExtension::class) class ThreeDSServiceTest diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/authRules/V2ServiceTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/authRules/V2ServiceTest.kt index 2fa3e07c..dd031ee7 100644 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/authRules/V2ServiceTest.kt +++ b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/authRules/V2ServiceTest.kt @@ -27,25 +27,24 @@ class V2ServiceTest { AuthRuleV2CreateParams.CreateAuthRuleRequestAccountTokens.builder() .accountTokens(listOf("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")) .parameters( - AuthRuleV2CreateParams.CreateAuthRuleRequestAccountTokens - .AuthRuleParameters + AuthRuleV2CreateParams.CreateAuthRuleRequestAccountTokens.Parameters .ofConditionalBlockParameters( AuthRuleV2CreateParams.CreateAuthRuleRequestAccountTokens - .AuthRuleParameters + .Parameters .ConditionalBlockParameters .builder() .conditions( listOf( AuthRuleV2CreateParams .CreateAuthRuleRequestAccountTokens - .AuthRuleParameters + .Parameters .ConditionalBlockParameters .Condition .builder() .attribute( AuthRuleV2CreateParams .CreateAuthRuleRequestAccountTokens - .AuthRuleParameters + .Parameters .ConditionalBlockParameters .Condition .Attribute @@ -54,7 +53,7 @@ class V2ServiceTest { .operation( AuthRuleV2CreateParams .CreateAuthRuleRequestAccountTokens - .AuthRuleParameters + .Parameters .ConditionalBlockParameters .Condition .Operation @@ -63,7 +62,7 @@ class V2ServiceTest { .value( AuthRuleV2CreateParams .CreateAuthRuleRequestAccountTokens - .AuthRuleParameters + .Parameters .ConditionalBlockParameters .Condition .Value @@ -174,31 +173,29 @@ class V2ServiceTest { AuthRuleV2DraftParams.builder() .authRuleToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .parameters( - AuthRuleV2DraftParams.AuthRuleParameters.ofConditionalBlockParameters( - AuthRuleV2DraftParams.AuthRuleParameters.ConditionalBlockParameters - .builder() + AuthRuleV2DraftParams.Parameters.ofConditionalBlockParameters( + AuthRuleV2DraftParams.Parameters.ConditionalBlockParameters.builder() .conditions( listOf( - AuthRuleV2DraftParams.AuthRuleParameters - .ConditionalBlockParameters + AuthRuleV2DraftParams.Parameters.ConditionalBlockParameters .Condition .builder() .attribute( - AuthRuleV2DraftParams.AuthRuleParameters + AuthRuleV2DraftParams.Parameters .ConditionalBlockParameters .Condition .Attribute .MCC ) .operation( - AuthRuleV2DraftParams.AuthRuleParameters + AuthRuleV2DraftParams.Parameters .ConditionalBlockParameters .Condition .Operation .IS_ONE_OF ) .value( - AuthRuleV2DraftParams.AuthRuleParameters + AuthRuleV2DraftParams.Parameters .ConditionalBlockParameters .Condition .Value diff --git a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/transactions/EventServiceTest.kt b/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/transactions/EventServiceTest.kt deleted file mode 100644 index 82dbb547..00000000 --- a/lithic-kotlin-core/src/test/kotlin/com/lithic/api/services/blocking/transactions/EventServiceTest.kt +++ /dev/null @@ -1,9 +0,0 @@ -// File generated from our OpenAPI spec by Stainless. - -package com.lithic.api.services.blocking.transactions - -import com.lithic.api.TestServerExtension -import com.lithic.api.models.* -import org.junit.jupiter.api.extension.ExtendWith - -@ExtendWith(TestServerExtension::class) class EventServiceTest