diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index a61c73cba..b054780a6 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.335.0"
+ ".": "0.336.0"
}
\ No newline at end of file
diff --git a/.stats.yml b/.stats.yml
index afc57da05..5a7b82c92 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 214
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-4c440e14682c4e4c886da6d05b2f5ff539a3aadc6906bb4069a5df45e0d3cae9.yml
-openapi_spec_hash: e400be1da67cec4ce706eda1868dd86b
-config_hash: 8dadd60eab7ab858cf06c6a8633ed9f3
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-e0a19c46b65842ff370613aac24ba8777d7b961bd46a20e936e878386e048852.yml
+openapi_spec_hash: 0f635610cedd9a0aacc6d5b347c3cccf
+config_hash: a143293c5450ae8f52acad08f3102575
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 402349667..3bc63f2be 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
# Changelog
+## 0.336.0 (2025-09-24)
+
+Full Changelog: [v0.335.0...v0.336.0](https://github.com/Increase/increase-java/compare/v0.335.0...v0.336.0)
+
+### Features
+
+* **api:** api update ([d22557a](https://github.com/Increase/increase-java/commit/d22557adeedb4447fa7b1e6567addf33ac6f34af))
+
## 0.335.0 (2025-09-24)
Full Changelog: [v0.334.0...v0.335.0](https://github.com/Increase/increase-java/compare/v0.334.0...v0.335.0)
diff --git a/README.md b/README.md
index 418ddf6a2..252319c51 100644
--- a/README.md
+++ b/README.md
@@ -2,8 +2,8 @@
-[](https://central.sonatype.com/artifact/com.increase.api/increase-java/0.335.0)
-[](https://javadoc.io/doc/com.increase.api/increase-java/0.335.0)
+[](https://central.sonatype.com/artifact/com.increase.api/increase-java/0.336.0)
+[](https://javadoc.io/doc/com.increase.api/increase-java/0.336.0)
@@ -13,7 +13,7 @@ The Increase Java SDK is similar to the Increase Kotlin SDK but with minor diffe
-The REST API documentation can be found on [increase.com](https://increase.com/documentation). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.increase.api/increase-java/0.335.0).
+The REST API documentation can be found on [increase.com](https://increase.com/documentation). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.increase.api/increase-java/0.336.0).
@@ -24,7 +24,7 @@ The REST API documentation can be found on [increase.com](https://increase.com/d
### Gradle
```kotlin
-implementation("com.increase.api:increase-java:0.335.0")
+implementation("com.increase.api:increase-java:0.336.0")
```
### Maven
@@ -33,7 +33,7 @@ implementation("com.increase.api:increase-java:0.335.0")
com.increase.api
increase-java
- 0.335.0
+ 0.336.0
```
diff --git a/build.gradle.kts b/build.gradle.kts
index 1fd08b904..d7f918071 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -8,7 +8,7 @@ repositories {
allprojects {
group = "com.increase.api"
- version = "0.335.0" // x-release-please-version
+ version = "0.336.0" // x-release-please-version
}
subprojects {
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/client/IncreaseClient.kt b/increase-java-core/src/main/kotlin/com/increase/api/client/IncreaseClient.kt
index 043884976..952133bfb 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/client/IncreaseClient.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/client/IncreaseClient.kt
@@ -12,7 +12,6 @@ import com.increase.api.services.blocking.AchTransferService
import com.increase.api.services.blocking.BookkeepingAccountService
import com.increase.api.services.blocking.BookkeepingEntryService
import com.increase.api.services.blocking.BookkeepingEntrySetService
-import com.increase.api.services.blocking.CardDetailService
import com.increase.api.services.blocking.CardPaymentService
import com.increase.api.services.blocking.CardPurchaseSupplementService
import com.increase.api.services.blocking.CardPushTransferService
@@ -105,8 +104,6 @@ interface IncreaseClient {
fun cards(): CardService
- fun cardDetails(): CardDetailService
-
fun cardPayments(): CardPaymentService
fun cardPurchaseSupplements(): CardPurchaseSupplementService
@@ -240,8 +237,6 @@ interface IncreaseClient {
fun cards(): CardService.WithRawResponse
- fun cardDetails(): CardDetailService.WithRawResponse
-
fun cardPayments(): CardPaymentService.WithRawResponse
fun cardPurchaseSupplements(): CardPurchaseSupplementService.WithRawResponse
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/client/IncreaseClientAsync.kt b/increase-java-core/src/main/kotlin/com/increase/api/client/IncreaseClientAsync.kt
index 6a8f5b80a..254077478 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/client/IncreaseClientAsync.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/client/IncreaseClientAsync.kt
@@ -12,7 +12,6 @@ import com.increase.api.services.async.AchTransferServiceAsync
import com.increase.api.services.async.BookkeepingAccountServiceAsync
import com.increase.api.services.async.BookkeepingEntryServiceAsync
import com.increase.api.services.async.BookkeepingEntrySetServiceAsync
-import com.increase.api.services.async.CardDetailServiceAsync
import com.increase.api.services.async.CardPaymentServiceAsync
import com.increase.api.services.async.CardPurchaseSupplementServiceAsync
import com.increase.api.services.async.CardPushTransferServiceAsync
@@ -105,8 +104,6 @@ interface IncreaseClientAsync {
fun cards(): CardServiceAsync
- fun cardDetails(): CardDetailServiceAsync
-
fun cardPayments(): CardPaymentServiceAsync
fun cardPurchaseSupplements(): CardPurchaseSupplementServiceAsync
@@ -244,8 +241,6 @@ interface IncreaseClientAsync {
fun cards(): CardServiceAsync.WithRawResponse
- fun cardDetails(): CardDetailServiceAsync.WithRawResponse
-
fun cardPayments(): CardPaymentServiceAsync.WithRawResponse
fun cardPurchaseSupplements(): CardPurchaseSupplementServiceAsync.WithRawResponse
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/client/IncreaseClientAsyncImpl.kt b/increase-java-core/src/main/kotlin/com/increase/api/client/IncreaseClientAsyncImpl.kt
index 7d133d327..7c881b56d 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/client/IncreaseClientAsyncImpl.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/client/IncreaseClientAsyncImpl.kt
@@ -22,8 +22,6 @@ import com.increase.api.services.async.BookkeepingEntryServiceAsync
import com.increase.api.services.async.BookkeepingEntryServiceAsyncImpl
import com.increase.api.services.async.BookkeepingEntrySetServiceAsync
import com.increase.api.services.async.BookkeepingEntrySetServiceAsyncImpl
-import com.increase.api.services.async.CardDetailServiceAsync
-import com.increase.api.services.async.CardDetailServiceAsyncImpl
import com.increase.api.services.async.CardPaymentServiceAsync
import com.increase.api.services.async.CardPaymentServiceAsyncImpl
import com.increase.api.services.async.CardPurchaseSupplementServiceAsync
@@ -149,10 +147,6 @@ class IncreaseClientAsyncImpl(private val clientOptions: ClientOptions) : Increa
private val cards: CardServiceAsync by lazy { CardServiceAsyncImpl(clientOptionsWithUserAgent) }
- private val cardDetails: CardDetailServiceAsync by lazy {
- CardDetailServiceAsyncImpl(clientOptionsWithUserAgent)
- }
-
private val cardPayments: CardPaymentServiceAsync by lazy {
CardPaymentServiceAsyncImpl(clientOptionsWithUserAgent)
}
@@ -369,8 +363,6 @@ class IncreaseClientAsyncImpl(private val clientOptions: ClientOptions) : Increa
override fun cards(): CardServiceAsync = cards
- override fun cardDetails(): CardDetailServiceAsync = cardDetails
-
override fun cardPayments(): CardPaymentServiceAsync = cardPayments
override fun cardPurchaseSupplements(): CardPurchaseSupplementServiceAsync =
@@ -499,10 +491,6 @@ class IncreaseClientAsyncImpl(private val clientOptions: ClientOptions) : Increa
CardServiceAsyncImpl.WithRawResponseImpl(clientOptions)
}
- private val cardDetails: CardDetailServiceAsync.WithRawResponse by lazy {
- CardDetailServiceAsyncImpl.WithRawResponseImpl(clientOptions)
- }
-
private val cardPayments: CardPaymentServiceAsync.WithRawResponse by lazy {
CardPaymentServiceAsyncImpl.WithRawResponseImpl(clientOptions)
}
@@ -725,8 +713,6 @@ class IncreaseClientAsyncImpl(private val clientOptions: ClientOptions) : Increa
override fun cards(): CardServiceAsync.WithRawResponse = cards
- override fun cardDetails(): CardDetailServiceAsync.WithRawResponse = cardDetails
-
override fun cardPayments(): CardPaymentServiceAsync.WithRawResponse = cardPayments
override fun cardPurchaseSupplements(): CardPurchaseSupplementServiceAsync.WithRawResponse =
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/client/IncreaseClientImpl.kt b/increase-java-core/src/main/kotlin/com/increase/api/client/IncreaseClientImpl.kt
index 300cf175e..b2c6d0aa0 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/client/IncreaseClientImpl.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/client/IncreaseClientImpl.kt
@@ -22,8 +22,6 @@ import com.increase.api.services.blocking.BookkeepingEntryService
import com.increase.api.services.blocking.BookkeepingEntryServiceImpl
import com.increase.api.services.blocking.BookkeepingEntrySetService
import com.increase.api.services.blocking.BookkeepingEntrySetServiceImpl
-import com.increase.api.services.blocking.CardDetailService
-import com.increase.api.services.blocking.CardDetailServiceImpl
import com.increase.api.services.blocking.CardPaymentService
import com.increase.api.services.blocking.CardPaymentServiceImpl
import com.increase.api.services.blocking.CardPurchaseSupplementService
@@ -147,10 +145,6 @@ class IncreaseClientImpl(private val clientOptions: ClientOptions) : IncreaseCli
private val cards: CardService by lazy { CardServiceImpl(clientOptionsWithUserAgent) }
- private val cardDetails: CardDetailService by lazy {
- CardDetailServiceImpl(clientOptionsWithUserAgent)
- }
-
private val cardPayments: CardPaymentService by lazy {
CardPaymentServiceImpl(clientOptionsWithUserAgent)
}
@@ -354,8 +348,6 @@ class IncreaseClientImpl(private val clientOptions: ClientOptions) : IncreaseCli
override fun cards(): CardService = cards
- override fun cardDetails(): CardDetailService = cardDetails
-
override fun cardPayments(): CardPaymentService = cardPayments
override fun cardPurchaseSupplements(): CardPurchaseSupplementService = cardPurchaseSupplements
@@ -483,10 +475,6 @@ class IncreaseClientImpl(private val clientOptions: ClientOptions) : IncreaseCli
CardServiceImpl.WithRawResponseImpl(clientOptions)
}
- private val cardDetails: CardDetailService.WithRawResponse by lazy {
- CardDetailServiceImpl.WithRawResponseImpl(clientOptions)
- }
-
private val cardPayments: CardPaymentService.WithRawResponse by lazy {
CardPaymentServiceImpl.WithRawResponseImpl(clientOptions)
}
@@ -706,8 +694,6 @@ class IncreaseClientImpl(private val clientOptions: ClientOptions) : IncreaseCli
override fun cards(): CardService.WithRawResponse = cards
- override fun cardDetails(): CardDetailService.WithRawResponse = cardDetails
-
override fun cardPayments(): CardPaymentService.WithRawResponse = cardPayments
override fun cardPurchaseSupplements(): CardPurchaseSupplementService.WithRawResponse =
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/carddetails/CardDetailCreateDetailsIframeParams.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardCreateDetailsIframeParams.kt
similarity index 88%
rename from increase-java-core/src/main/kotlin/com/increase/api/models/carddetails/CardDetailCreateDetailsIframeParams.kt
rename to increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardCreateDetailsIframeParams.kt
index 4c62b8124..0e13bfe0d 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/models/carddetails/CardDetailCreateDetailsIframeParams.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardCreateDetailsIframeParams.kt
@@ -1,6 +1,6 @@
// File generated from our OpenAPI spec by Stainless.
-package com.increase.api.models.carddetails
+package com.increase.api.models.cards
import com.fasterxml.jackson.annotation.JsonAnyGetter
import com.fasterxml.jackson.annotation.JsonAnySetter
@@ -23,7 +23,7 @@ import kotlin.jvm.optionals.getOrNull
* Create an iframe URL for a Card to display the card details. More details about styling and usage
* can be found in the [documentation](/documentation/embedded-card-component).
*/
-class CardDetailCreateDetailsIframeParams
+class CardCreateDetailsIframeParams
private constructor(
private val cardId: String?,
private val body: Body,
@@ -31,11 +31,12 @@ private constructor(
private val additionalQueryParams: QueryParams,
) : Params {
- /** The identifier of the Card to retrieve details for. */
+ /** The identifier of the Card to create an iframe for. */
fun cardId(): Optional = Optional.ofNullable(cardId)
/**
- * The identifier of the Physical Card to retrieve details for.
+ * The identifier of the Physical Card to create an iframe for. This will inform the appearance
+ * of the card rendered in the iframe.
*
* @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if the
* server responded with an unexpected value).
@@ -61,16 +62,16 @@ private constructor(
companion object {
- @JvmStatic fun none(): CardDetailCreateDetailsIframeParams = builder().build()
+ @JvmStatic fun none(): CardCreateDetailsIframeParams = builder().build()
/**
* Returns a mutable builder for constructing an instance of
- * [CardDetailCreateDetailsIframeParams].
+ * [CardCreateDetailsIframeParams].
*/
@JvmStatic fun builder() = Builder()
}
- /** A builder for [CardDetailCreateDetailsIframeParams]. */
+ /** A builder for [CardCreateDetailsIframeParams]. */
class Builder internal constructor() {
private var cardId: String? = null
@@ -79,17 +80,14 @@ private constructor(
private var additionalQueryParams: QueryParams.Builder = QueryParams.builder()
@JvmSynthetic
- internal fun from(
- cardDetailCreateDetailsIframeParams: CardDetailCreateDetailsIframeParams
- ) = apply {
- cardId = cardDetailCreateDetailsIframeParams.cardId
- body = cardDetailCreateDetailsIframeParams.body.toBuilder()
- additionalHeaders = cardDetailCreateDetailsIframeParams.additionalHeaders.toBuilder()
- additionalQueryParams =
- cardDetailCreateDetailsIframeParams.additionalQueryParams.toBuilder()
+ internal fun from(cardCreateDetailsIframeParams: CardCreateDetailsIframeParams) = apply {
+ cardId = cardCreateDetailsIframeParams.cardId
+ body = cardCreateDetailsIframeParams.body.toBuilder()
+ additionalHeaders = cardCreateDetailsIframeParams.additionalHeaders.toBuilder()
+ additionalQueryParams = cardCreateDetailsIframeParams.additionalQueryParams.toBuilder()
}
- /** The identifier of the Card to retrieve details for. */
+ /** The identifier of the Card to create an iframe for. */
fun cardId(cardId: String?) = apply { this.cardId = cardId }
/** Alias for calling [Builder.cardId] with `cardId.orElse(null)`. */
@@ -104,7 +102,10 @@ private constructor(
*/
fun body(body: Body) = apply { this.body = body.toBuilder() }
- /** The identifier of the Physical Card to retrieve details for. */
+ /**
+ * The identifier of the Physical Card to create an iframe for. This will inform the
+ * appearance of the card rendered in the iframe.
+ */
fun physicalCardId(physicalCardId: String) = apply { body.physicalCardId(physicalCardId) }
/**
@@ -236,12 +237,12 @@ private constructor(
}
/**
- * Returns an immutable instance of [CardDetailCreateDetailsIframeParams].
+ * Returns an immutable instance of [CardCreateDetailsIframeParams].
*
* Further updates to this [Builder] will not mutate the returned instance.
*/
- fun build(): CardDetailCreateDetailsIframeParams =
- CardDetailCreateDetailsIframeParams(
+ fun build(): CardCreateDetailsIframeParams =
+ CardCreateDetailsIframeParams(
cardId,
body.build(),
additionalHeaders.build(),
@@ -275,7 +276,8 @@ private constructor(
) : this(physicalCardId, mutableMapOf())
/**
- * The identifier of the Physical Card to retrieve details for.
+ * The identifier of the Physical Card to create an iframe for. This will inform the
+ * appearance of the card rendered in the iframe.
*
* @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if
* the server responded with an unexpected value).
@@ -322,7 +324,10 @@ private constructor(
additionalProperties = body.additionalProperties.toMutableMap()
}
- /** The identifier of the Physical Card to retrieve details for. */
+ /**
+ * The identifier of the Physical Card to create an iframe for. This will inform the
+ * appearance of the card rendered in the iframe.
+ */
fun physicalCardId(physicalCardId: String) =
physicalCardId(JsonField.of(physicalCardId))
@@ -415,7 +420,7 @@ private constructor(
return true
}
- return other is CardDetailCreateDetailsIframeParams &&
+ return other is CardCreateDetailsIframeParams &&
cardId == other.cardId &&
body == other.body &&
additionalHeaders == other.additionalHeaders &&
@@ -426,5 +431,5 @@ private constructor(
Objects.hash(cardId, body, additionalHeaders, additionalQueryParams)
override fun toString() =
- "CardDetailCreateDetailsIframeParams{cardId=$cardId, body=$body, additionalHeaders=$additionalHeaders, additionalQueryParams=$additionalQueryParams}"
+ "CardCreateDetailsIframeParams{cardId=$cardId, body=$body, additionalHeaders=$additionalHeaders, additionalQueryParams=$additionalQueryParams}"
}
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/carddetails/CardDetails.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardDetails.kt
similarity index 99%
rename from increase-java-core/src/main/kotlin/com/increase/api/models/carddetails/CardDetails.kt
rename to increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardDetails.kt
index a6bb8015c..037b2dea6 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/models/carddetails/CardDetails.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardDetails.kt
@@ -1,6 +1,6 @@
// File generated from our OpenAPI spec by Stainless.
-package com.increase.api.models.carddetails
+package com.increase.api.models.cards
import com.fasterxml.jackson.annotation.JsonAnyGetter
import com.fasterxml.jackson.annotation.JsonAnySetter
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/carddetails/CardDetailDetailsParams.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardDetailsParams.kt
similarity index 85%
rename from increase-java-core/src/main/kotlin/com/increase/api/models/carddetails/CardDetailDetailsParams.kt
rename to increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardDetailsParams.kt
index 7dae413a4..d4c911a4e 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/models/carddetails/CardDetailDetailsParams.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardDetailsParams.kt
@@ -1,6 +1,6 @@
// File generated from our OpenAPI spec by Stainless.
-package com.increase.api.models.carddetails
+package com.increase.api.models.cards
import com.increase.api.core.Params
import com.increase.api.core.http.Headers
@@ -13,7 +13,7 @@ import kotlin.jvm.optionals.getOrNull
* Sensitive details for a Card include the primary account number, expiry, card verification code,
* and PIN.
*/
-class CardDetailDetailsParams
+class CardDetailsParams
private constructor(
private val cardId: String?,
private val additionalHeaders: Headers,
@@ -33,13 +33,13 @@ private constructor(
companion object {
- @JvmStatic fun none(): CardDetailDetailsParams = builder().build()
+ @JvmStatic fun none(): CardDetailsParams = builder().build()
- /** Returns a mutable builder for constructing an instance of [CardDetailDetailsParams]. */
+ /** Returns a mutable builder for constructing an instance of [CardDetailsParams]. */
@JvmStatic fun builder() = Builder()
}
- /** A builder for [CardDetailDetailsParams]. */
+ /** A builder for [CardDetailsParams]. */
class Builder internal constructor() {
private var cardId: String? = null
@@ -47,10 +47,10 @@ private constructor(
private var additionalQueryParams: QueryParams.Builder = QueryParams.builder()
@JvmSynthetic
- internal fun from(cardDetailDetailsParams: CardDetailDetailsParams) = apply {
- cardId = cardDetailDetailsParams.cardId
- additionalHeaders = cardDetailDetailsParams.additionalHeaders.toBuilder()
- additionalQueryParams = cardDetailDetailsParams.additionalQueryParams.toBuilder()
+ internal fun from(cardDetailsParams: CardDetailsParams) = apply {
+ cardId = cardDetailsParams.cardId
+ additionalHeaders = cardDetailsParams.additionalHeaders.toBuilder()
+ additionalQueryParams = cardDetailsParams.additionalQueryParams.toBuilder()
}
/** The identifier of the Card to retrieve details for. */
@@ -158,16 +158,12 @@ private constructor(
}
/**
- * Returns an immutable instance of [CardDetailDetailsParams].
+ * Returns an immutable instance of [CardDetailsParams].
*
* Further updates to this [Builder] will not mutate the returned instance.
*/
- fun build(): CardDetailDetailsParams =
- CardDetailDetailsParams(
- cardId,
- additionalHeaders.build(),
- additionalQueryParams.build(),
- )
+ fun build(): CardDetailsParams =
+ CardDetailsParams(cardId, additionalHeaders.build(), additionalQueryParams.build())
}
fun _pathParam(index: Int): String =
@@ -185,7 +181,7 @@ private constructor(
return true
}
- return other is CardDetailDetailsParams &&
+ return other is CardDetailsParams &&
cardId == other.cardId &&
additionalHeaders == other.additionalHeaders &&
additionalQueryParams == other.additionalQueryParams
@@ -194,5 +190,5 @@ private constructor(
override fun hashCode(): Int = Objects.hash(cardId, additionalHeaders, additionalQueryParams)
override fun toString() =
- "CardDetailDetailsParams{cardId=$cardId, additionalHeaders=$additionalHeaders, additionalQueryParams=$additionalQueryParams}"
+ "CardDetailsParams{cardId=$cardId, additionalHeaders=$additionalHeaders, additionalQueryParams=$additionalQueryParams}"
}
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/carddetails/CardIframeUrl.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardIframeUrl.kt
similarity index 99%
rename from increase-java-core/src/main/kotlin/com/increase/api/models/carddetails/CardIframeUrl.kt
rename to increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardIframeUrl.kt
index 2726e185f..86cb1b129 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/models/carddetails/CardIframeUrl.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardIframeUrl.kt
@@ -1,6 +1,6 @@
// File generated from our OpenAPI spec by Stainless.
-package com.increase.api.models.carddetails
+package com.increase.api.models.cards
import com.fasterxml.jackson.annotation.JsonAnyGetter
import com.fasterxml.jackson.annotation.JsonAnySetter
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardUpdateParams.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardUpdateParams.kt
index 36c988181..9d5ca7299 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardUpdateParams.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardUpdateParams.kt
@@ -67,14 +67,6 @@ private constructor(
*/
fun entityId(): Optional = body.entityId()
- /**
- * The 4-digit PIN for the card, for use with ATMs.
- *
- * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if the
- * server responded with an unexpected value).
- */
- fun pin(): Optional = body.pin()
-
/**
* The status to update the Card with.
*
@@ -111,13 +103,6 @@ private constructor(
*/
fun _entityId(): JsonField = body._entityId()
- /**
- * Returns the raw JSON value of [pin].
- *
- * Unlike [pin], this method doesn't throw if the JSON field has an unexpected type.
- */
- fun _pin(): JsonField = body._pin()
-
/**
* Returns the raw JSON value of [status].
*
@@ -174,7 +159,7 @@ private constructor(
* - [description]
* - [digitalWallet]
* - [entityId]
- * - [pin]
+ * - [status]
* - etc.
*/
fun body(body: Body) = apply { this.body = body.toBuilder() }
@@ -240,17 +225,6 @@ private constructor(
*/
fun entityId(entityId: JsonField) = apply { body.entityId(entityId) }
- /** The 4-digit PIN for the card, for use with ATMs. */
- fun pin(pin: String) = apply { body.pin(pin) }
-
- /**
- * Sets [Builder.pin] to an arbitrary JSON value.
- *
- * You should usually call [Builder.pin] with a well-typed [String] value instead. This
- * method is primarily for setting the field to an undocumented or not yet supported value.
- */
- fun pin(pin: JsonField) = apply { body.pin(pin) }
-
/** The status to update the Card with. */
fun status(status: Status) = apply { body.status(status) }
@@ -411,7 +385,6 @@ private constructor(
private val description: JsonField,
private val digitalWallet: JsonField,
private val entityId: JsonField,
- private val pin: JsonField,
private val status: JsonField,
private val additionalProperties: MutableMap,
) {
@@ -430,9 +403,8 @@ private constructor(
@JsonProperty("entity_id")
@ExcludeMissing
entityId: JsonField = JsonMissing.of(),
- @JsonProperty("pin") @ExcludeMissing pin: JsonField = JsonMissing.of(),
@JsonProperty("status") @ExcludeMissing status: JsonField = JsonMissing.of(),
- ) : this(billingAddress, description, digitalWallet, entityId, pin, status, mutableMapOf())
+ ) : this(billingAddress, description, digitalWallet, entityId, status, mutableMapOf())
/**
* The card's updated billing address.
@@ -469,14 +441,6 @@ private constructor(
*/
fun entityId(): Optional = entityId.getOptional("entity_id")
- /**
- * The 4-digit PIN for the card, for use with ATMs.
- *
- * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if
- * the server responded with an unexpected value).
- */
- fun pin(): Optional = pin.getOptional("pin")
-
/**
* The status to update the Card with.
*
@@ -521,13 +485,6 @@ private constructor(
*/
@JsonProperty("entity_id") @ExcludeMissing fun _entityId(): JsonField = entityId
- /**
- * Returns the raw JSON value of [pin].
- *
- * Unlike [pin], this method doesn't throw if the JSON field has an unexpected type.
- */
- @JsonProperty("pin") @ExcludeMissing fun _pin(): JsonField = pin
-
/**
* Returns the raw JSON value of [status].
*
@@ -560,7 +517,6 @@ private constructor(
private var description: JsonField = JsonMissing.of()
private var digitalWallet: JsonField = JsonMissing.of()
private var entityId: JsonField = JsonMissing.of()
- private var pin: JsonField = JsonMissing.of()
private var status: JsonField = JsonMissing.of()
private var additionalProperties: MutableMap = mutableMapOf()
@@ -570,7 +526,6 @@ private constructor(
description = body.description
digitalWallet = body.digitalWallet
entityId = body.entityId
- pin = body.pin
status = body.status
additionalProperties = body.additionalProperties.toMutableMap()
}
@@ -637,18 +592,6 @@ private constructor(
*/
fun entityId(entityId: JsonField) = apply { this.entityId = entityId }
- /** The 4-digit PIN for the card, for use with ATMs. */
- fun pin(pin: String) = pin(JsonField.of(pin))
-
- /**
- * Sets [Builder.pin] to an arbitrary JSON value.
- *
- * You should usually call [Builder.pin] with a well-typed [String] value instead. This
- * method is primarily for setting the field to an undocumented or not yet supported
- * value.
- */
- fun pin(pin: JsonField) = apply { this.pin = pin }
-
/** The status to update the Card with. */
fun status(status: Status) = status(JsonField.of(status))
@@ -691,7 +634,6 @@ private constructor(
description,
digitalWallet,
entityId,
- pin,
status,
additionalProperties.toMutableMap(),
)
@@ -708,7 +650,6 @@ private constructor(
description()
digitalWallet().ifPresent { it.validate() }
entityId()
- pin()
status().ifPresent { it.validate() }
validated = true
}
@@ -733,7 +674,6 @@ private constructor(
(if (description.asKnown().isPresent) 1 else 0) +
(digitalWallet.asKnown().getOrNull()?.validity() ?: 0) +
(if (entityId.asKnown().isPresent) 1 else 0) +
- (if (pin.asKnown().isPresent) 1 else 0) +
(status.asKnown().getOrNull()?.validity() ?: 0)
override fun equals(other: Any?): Boolean {
@@ -746,7 +686,6 @@ private constructor(
description == other.description &&
digitalWallet == other.digitalWallet &&
entityId == other.entityId &&
- pin == other.pin &&
status == other.status &&
additionalProperties == other.additionalProperties
}
@@ -757,7 +696,6 @@ private constructor(
description,
digitalWallet,
entityId,
- pin,
status,
additionalProperties,
)
@@ -766,7 +704,7 @@ private constructor(
override fun hashCode(): Int = hashCode
override fun toString() =
- "Body{billingAddress=$billingAddress, description=$description, digitalWallet=$digitalWallet, entityId=$entityId, pin=$pin, status=$status, additionalProperties=$additionalProperties}"
+ "Body{billingAddress=$billingAddress, description=$description, digitalWallet=$digitalWallet, entityId=$entityId, status=$status, additionalProperties=$additionalProperties}"
}
/** The card's updated billing address. */
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/carddetails/CardDetailUpdateParams.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardUpdatePinParams.kt
similarity index 93%
rename from increase-java-core/src/main/kotlin/com/increase/api/models/carddetails/CardDetailUpdateParams.kt
rename to increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardUpdatePinParams.kt
index c62bff4c1..5f471a430 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/models/carddetails/CardDetailUpdateParams.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardUpdatePinParams.kt
@@ -1,6 +1,6 @@
// File generated from our OpenAPI spec by Stainless.
-package com.increase.api.models.carddetails
+package com.increase.api.models.cards
import com.fasterxml.jackson.annotation.JsonAnyGetter
import com.fasterxml.jackson.annotation.JsonAnySetter
@@ -21,7 +21,7 @@ import java.util.Optional
import kotlin.jvm.optionals.getOrNull
/** Update a Card's PIN */
-class CardDetailUpdateParams
+class CardUpdatePinParams
private constructor(
private val cardId: String?,
private val body: Body,
@@ -29,7 +29,7 @@ private constructor(
private val additionalQueryParams: QueryParams,
) : Params {
- /** The card identifier. */
+ /** The identifier of the Card to update the PIN for. */
fun cardId(): Optional = Optional.ofNullable(cardId)
/**
@@ -60,7 +60,7 @@ private constructor(
companion object {
/**
- * Returns a mutable builder for constructing an instance of [CardDetailUpdateParams].
+ * Returns a mutable builder for constructing an instance of [CardUpdatePinParams].
*
* The following fields are required:
* ```java
@@ -70,7 +70,7 @@ private constructor(
@JvmStatic fun builder() = Builder()
}
- /** A builder for [CardDetailUpdateParams]. */
+ /** A builder for [CardUpdatePinParams]. */
class Builder internal constructor() {
private var cardId: String? = null
@@ -79,14 +79,14 @@ private constructor(
private var additionalQueryParams: QueryParams.Builder = QueryParams.builder()
@JvmSynthetic
- internal fun from(cardDetailUpdateParams: CardDetailUpdateParams) = apply {
- cardId = cardDetailUpdateParams.cardId
- body = cardDetailUpdateParams.body.toBuilder()
- additionalHeaders = cardDetailUpdateParams.additionalHeaders.toBuilder()
- additionalQueryParams = cardDetailUpdateParams.additionalQueryParams.toBuilder()
+ internal fun from(cardUpdatePinParams: CardUpdatePinParams) = apply {
+ cardId = cardUpdatePinParams.cardId
+ body = cardUpdatePinParams.body.toBuilder()
+ additionalHeaders = cardUpdatePinParams.additionalHeaders.toBuilder()
+ additionalQueryParams = cardUpdatePinParams.additionalQueryParams.toBuilder()
}
- /** The card identifier. */
+ /** The identifier of the Card to update the PIN for. */
fun cardId(cardId: String?) = apply { this.cardId = cardId }
/** Alias for calling [Builder.cardId] with `cardId.orElse(null)`. */
@@ -230,7 +230,7 @@ private constructor(
}
/**
- * Returns an immutable instance of [CardDetailUpdateParams].
+ * Returns an immutable instance of [CardUpdatePinParams].
*
* Further updates to this [Builder] will not mutate the returned instance.
*
@@ -241,8 +241,8 @@ private constructor(
*
* @throws IllegalStateException if any required field is unset.
*/
- fun build(): CardDetailUpdateParams =
- CardDetailUpdateParams(
+ fun build(): CardUpdatePinParams =
+ CardUpdatePinParams(
cardId,
body.build(),
additionalHeaders.build(),
@@ -420,7 +420,7 @@ private constructor(
return true
}
- return other is CardDetailUpdateParams &&
+ return other is CardUpdatePinParams &&
cardId == other.cardId &&
body == other.body &&
additionalHeaders == other.additionalHeaders &&
@@ -431,5 +431,5 @@ private constructor(
Objects.hash(cardId, body, additionalHeaders, additionalQueryParams)
override fun toString() =
- "CardDetailUpdateParams{cardId=$cardId, body=$body, additionalHeaders=$additionalHeaders, additionalQueryParams=$additionalQueryParams}"
+ "CardUpdatePinParams{cardId=$cardId, body=$body, additionalHeaders=$additionalHeaders, additionalQueryParams=$additionalQueryParams}"
}
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/async/CardDetailServiceAsync.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/async/CardDetailServiceAsync.kt
deleted file mode 100644
index 88a860529..000000000
--- a/increase-java-core/src/main/kotlin/com/increase/api/services/async/CardDetailServiceAsync.kt
+++ /dev/null
@@ -1,252 +0,0 @@
-// File generated from our OpenAPI spec by Stainless.
-
-package com.increase.api.services.async
-
-import com.increase.api.core.ClientOptions
-import com.increase.api.core.RequestOptions
-import com.increase.api.core.http.HttpResponseFor
-import com.increase.api.models.carddetails.CardDetailCreateDetailsIframeParams
-import com.increase.api.models.carddetails.CardDetailDetailsParams
-import com.increase.api.models.carddetails.CardDetailUpdateParams
-import com.increase.api.models.carddetails.CardDetails
-import com.increase.api.models.carddetails.CardIframeUrl
-import java.util.concurrent.CompletableFuture
-import java.util.function.Consumer
-
-interface CardDetailServiceAsync {
-
- /**
- * Returns a view of this service that provides access to raw HTTP responses for each method.
- */
- fun withRawResponse(): WithRawResponse
-
- /**
- * Returns a view of this service with the given option modifications applied.
- *
- * The original service is not modified.
- */
- fun withOptions(modifier: Consumer): CardDetailServiceAsync
-
- /** Update a Card's PIN */
- fun update(cardId: String, params: CardDetailUpdateParams): CompletableFuture =
- update(cardId, params, RequestOptions.none())
-
- /** @see update */
- fun update(
- cardId: String,
- params: CardDetailUpdateParams,
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CompletableFuture =
- update(params.toBuilder().cardId(cardId).build(), requestOptions)
-
- /** @see update */
- fun update(params: CardDetailUpdateParams): CompletableFuture =
- update(params, RequestOptions.none())
-
- /** @see update */
- fun update(
- params: CardDetailUpdateParams,
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CompletableFuture
-
- /**
- * Create an iframe URL for a Card to display the card details. More details about styling and
- * usage can be found in the [documentation](/documentation/embedded-card-component).
- */
- fun createDetailsIframe(cardId: String): CompletableFuture =
- createDetailsIframe(cardId, CardDetailCreateDetailsIframeParams.none())
-
- /** @see createDetailsIframe */
- fun createDetailsIframe(
- cardId: String,
- params: CardDetailCreateDetailsIframeParams = CardDetailCreateDetailsIframeParams.none(),
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CompletableFuture =
- createDetailsIframe(params.toBuilder().cardId(cardId).build(), requestOptions)
-
- /** @see createDetailsIframe */
- fun createDetailsIframe(
- cardId: String,
- params: CardDetailCreateDetailsIframeParams = CardDetailCreateDetailsIframeParams.none(),
- ): CompletableFuture = createDetailsIframe(cardId, params, RequestOptions.none())
-
- /** @see createDetailsIframe */
- fun createDetailsIframe(
- params: CardDetailCreateDetailsIframeParams,
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CompletableFuture
-
- /** @see createDetailsIframe */
- fun createDetailsIframe(
- params: CardDetailCreateDetailsIframeParams
- ): CompletableFuture = createDetailsIframe(params, RequestOptions.none())
-
- /** @see createDetailsIframe */
- fun createDetailsIframe(
- cardId: String,
- requestOptions: RequestOptions,
- ): CompletableFuture =
- createDetailsIframe(cardId, CardDetailCreateDetailsIframeParams.none(), requestOptions)
-
- /**
- * Sensitive details for a Card include the primary account number, expiry, card verification
- * code, and PIN.
- */
- fun details(cardId: String): CompletableFuture =
- details(cardId, CardDetailDetailsParams.none())
-
- /** @see details */
- fun details(
- cardId: String,
- params: CardDetailDetailsParams = CardDetailDetailsParams.none(),
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CompletableFuture =
- details(params.toBuilder().cardId(cardId).build(), requestOptions)
-
- /** @see details */
- fun details(
- cardId: String,
- params: CardDetailDetailsParams = CardDetailDetailsParams.none(),
- ): CompletableFuture = details(cardId, params, RequestOptions.none())
-
- /** @see details */
- fun details(
- params: CardDetailDetailsParams,
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CompletableFuture
-
- /** @see details */
- fun details(params: CardDetailDetailsParams): CompletableFuture =
- details(params, RequestOptions.none())
-
- /** @see details */
- fun details(cardId: String, requestOptions: RequestOptions): CompletableFuture =
- details(cardId, CardDetailDetailsParams.none(), requestOptions)
-
- /**
- * A view of [CardDetailServiceAsync] that provides access to raw HTTP responses for each
- * method.
- */
- interface WithRawResponse {
-
- /**
- * Returns a view of this service with the given option modifications applied.
- *
- * The original service is not modified.
- */
- fun withOptions(
- modifier: Consumer
- ): CardDetailServiceAsync.WithRawResponse
-
- /**
- * Returns a raw HTTP response for `patch /cards/{card_id}/details`, but is otherwise the
- * same as [CardDetailServiceAsync.update].
- */
- fun update(
- cardId: String,
- params: CardDetailUpdateParams,
- ): CompletableFuture> =
- update(cardId, params, RequestOptions.none())
-
- /** @see update */
- fun update(
- cardId: String,
- params: CardDetailUpdateParams,
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CompletableFuture> =
- update(params.toBuilder().cardId(cardId).build(), requestOptions)
-
- /** @see update */
- fun update(
- params: CardDetailUpdateParams
- ): CompletableFuture> = update(params, RequestOptions.none())
-
- /** @see update */
- fun update(
- params: CardDetailUpdateParams,
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CompletableFuture>
-
- /**
- * Returns a raw HTTP response for `post /cards/{card_id}/create_details_iframe`, but is
- * otherwise the same as [CardDetailServiceAsync.createDetailsIframe].
- */
- fun createDetailsIframe(cardId: String): CompletableFuture> =
- createDetailsIframe(cardId, CardDetailCreateDetailsIframeParams.none())
-
- /** @see createDetailsIframe */
- fun createDetailsIframe(
- cardId: String,
- params: CardDetailCreateDetailsIframeParams =
- CardDetailCreateDetailsIframeParams.none(),
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CompletableFuture> =
- createDetailsIframe(params.toBuilder().cardId(cardId).build(), requestOptions)
-
- /** @see createDetailsIframe */
- fun createDetailsIframe(
- cardId: String,
- params: CardDetailCreateDetailsIframeParams = CardDetailCreateDetailsIframeParams.none(),
- ): CompletableFuture> =
- createDetailsIframe(cardId, params, RequestOptions.none())
-
- /** @see createDetailsIframe */
- fun createDetailsIframe(
- params: CardDetailCreateDetailsIframeParams,
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CompletableFuture>
-
- /** @see createDetailsIframe */
- fun createDetailsIframe(
- params: CardDetailCreateDetailsIframeParams
- ): CompletableFuture> =
- createDetailsIframe(params, RequestOptions.none())
-
- /** @see createDetailsIframe */
- fun createDetailsIframe(
- cardId: String,
- requestOptions: RequestOptions,
- ): CompletableFuture> =
- createDetailsIframe(cardId, CardDetailCreateDetailsIframeParams.none(), requestOptions)
-
- /**
- * Returns a raw HTTP response for `get /cards/{card_id}/details`, but is otherwise the same
- * as [CardDetailServiceAsync.details].
- */
- fun details(cardId: String): CompletableFuture> =
- details(cardId, CardDetailDetailsParams.none())
-
- /** @see details */
- fun details(
- cardId: String,
- params: CardDetailDetailsParams = CardDetailDetailsParams.none(),
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CompletableFuture> =
- details(params.toBuilder().cardId(cardId).build(), requestOptions)
-
- /** @see details */
- fun details(
- cardId: String,
- params: CardDetailDetailsParams = CardDetailDetailsParams.none(),
- ): CompletableFuture> =
- details(cardId, params, RequestOptions.none())
-
- /** @see details */
- fun details(
- params: CardDetailDetailsParams,
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CompletableFuture>
-
- /** @see details */
- fun details(
- params: CardDetailDetailsParams
- ): CompletableFuture> = details(params, RequestOptions.none())
-
- /** @see details */
- fun details(
- cardId: String,
- requestOptions: RequestOptions,
- ): CompletableFuture> =
- details(cardId, CardDetailDetailsParams.none(), requestOptions)
- }
-}
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/async/CardDetailServiceAsyncImpl.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/async/CardDetailServiceAsyncImpl.kt
deleted file mode 100644
index 289aad6fc..000000000
--- a/increase-java-core/src/main/kotlin/com/increase/api/services/async/CardDetailServiceAsyncImpl.kt
+++ /dev/null
@@ -1,175 +0,0 @@
-// File generated from our OpenAPI spec by Stainless.
-
-package com.increase.api.services.async
-
-import com.increase.api.core.ClientOptions
-import com.increase.api.core.RequestOptions
-import com.increase.api.core.checkRequired
-import com.increase.api.core.handlers.errorBodyHandler
-import com.increase.api.core.handlers.errorHandler
-import com.increase.api.core.handlers.jsonHandler
-import com.increase.api.core.http.HttpMethod
-import com.increase.api.core.http.HttpRequest
-import com.increase.api.core.http.HttpResponse
-import com.increase.api.core.http.HttpResponse.Handler
-import com.increase.api.core.http.HttpResponseFor
-import com.increase.api.core.http.json
-import com.increase.api.core.http.parseable
-import com.increase.api.core.prepareAsync
-import com.increase.api.models.carddetails.CardDetailCreateDetailsIframeParams
-import com.increase.api.models.carddetails.CardDetailDetailsParams
-import com.increase.api.models.carddetails.CardDetailUpdateParams
-import com.increase.api.models.carddetails.CardDetails
-import com.increase.api.models.carddetails.CardIframeUrl
-import java.util.concurrent.CompletableFuture
-import java.util.function.Consumer
-import kotlin.jvm.optionals.getOrNull
-
-class CardDetailServiceAsyncImpl internal constructor(private val clientOptions: ClientOptions) :
- CardDetailServiceAsync {
-
- private val withRawResponse: CardDetailServiceAsync.WithRawResponse by lazy {
- WithRawResponseImpl(clientOptions)
- }
-
- override fun withRawResponse(): CardDetailServiceAsync.WithRawResponse = withRawResponse
-
- override fun withOptions(modifier: Consumer): CardDetailServiceAsync =
- CardDetailServiceAsyncImpl(clientOptions.toBuilder().apply(modifier::accept).build())
-
- override fun update(
- params: CardDetailUpdateParams,
- requestOptions: RequestOptions,
- ): CompletableFuture =
- // patch /cards/{card_id}/details
- withRawResponse().update(params, requestOptions).thenApply { it.parse() }
-
- override fun createDetailsIframe(
- params: CardDetailCreateDetailsIframeParams,
- requestOptions: RequestOptions,
- ): CompletableFuture =
- // post /cards/{card_id}/create_details_iframe
- withRawResponse().createDetailsIframe(params, requestOptions).thenApply { it.parse() }
-
- override fun details(
- params: CardDetailDetailsParams,
- requestOptions: RequestOptions,
- ): CompletableFuture =
- // get /cards/{card_id}/details
- withRawResponse().details(params, requestOptions).thenApply { it.parse() }
-
- class WithRawResponseImpl internal constructor(private val clientOptions: ClientOptions) :
- CardDetailServiceAsync.WithRawResponse {
-
- private val errorHandler: Handler =
- errorHandler(errorBodyHandler(clientOptions.jsonMapper))
-
- override fun withOptions(
- modifier: Consumer
- ): CardDetailServiceAsync.WithRawResponse =
- CardDetailServiceAsyncImpl.WithRawResponseImpl(
- clientOptions.toBuilder().apply(modifier::accept).build()
- )
-
- private val updateHandler: Handler =
- jsonHandler(clientOptions.jsonMapper)
-
- override fun update(
- params: CardDetailUpdateParams,
- requestOptions: RequestOptions,
- ): CompletableFuture> {
- // We check here instead of in the params builder because this can be specified
- // positionally or in the params class.
- checkRequired("cardId", params.cardId().getOrNull())
- val request =
- HttpRequest.builder()
- .method(HttpMethod.PATCH)
- .baseUrl(clientOptions.baseUrl())
- .addPathSegments("cards", params._pathParam(0), "details")
- .body(json(clientOptions.jsonMapper, params._body()))
- .build()
- .prepareAsync(clientOptions, params)
- val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions))
- return request
- .thenComposeAsync { clientOptions.httpClient.executeAsync(it, requestOptions) }
- .thenApply { response ->
- errorHandler.handle(response).parseable {
- response
- .use { updateHandler.handle(it) }
- .also {
- if (requestOptions.responseValidation!!) {
- it.validate()
- }
- }
- }
- }
- }
-
- private val createDetailsIframeHandler: Handler =
- jsonHandler(clientOptions.jsonMapper)
-
- override fun createDetailsIframe(
- params: CardDetailCreateDetailsIframeParams,
- requestOptions: RequestOptions,
- ): CompletableFuture> {
- // We check here instead of in the params builder because this can be specified
- // positionally or in the params class.
- checkRequired("cardId", params.cardId().getOrNull())
- val request =
- HttpRequest.builder()
- .method(HttpMethod.POST)
- .baseUrl(clientOptions.baseUrl())
- .addPathSegments("cards", params._pathParam(0), "create_details_iframe")
- .body(json(clientOptions.jsonMapper, params._body()))
- .build()
- .prepareAsync(clientOptions, params)
- val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions))
- return request
- .thenComposeAsync { clientOptions.httpClient.executeAsync(it, requestOptions) }
- .thenApply { response ->
- errorHandler.handle(response).parseable {
- response
- .use { createDetailsIframeHandler.handle(it) }
- .also {
- if (requestOptions.responseValidation!!) {
- it.validate()
- }
- }
- }
- }
- }
-
- private val detailsHandler: Handler =
- jsonHandler(clientOptions.jsonMapper)
-
- override fun details(
- params: CardDetailDetailsParams,
- requestOptions: RequestOptions,
- ): CompletableFuture> {
- // We check here instead of in the params builder because this can be specified
- // positionally or in the params class.
- checkRequired("cardId", params.cardId().getOrNull())
- val request =
- HttpRequest.builder()
- .method(HttpMethod.GET)
- .baseUrl(clientOptions.baseUrl())
- .addPathSegments("cards", params._pathParam(0), "details")
- .build()
- .prepareAsync(clientOptions, params)
- val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions))
- return request
- .thenComposeAsync { clientOptions.httpClient.executeAsync(it, requestOptions) }
- .thenApply { response ->
- errorHandler.handle(response).parseable {
- response
- .use { detailsHandler.handle(it) }
- .also {
- if (requestOptions.responseValidation!!) {
- it.validate()
- }
- }
- }
- }
- }
- }
-}
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/async/CardServiceAsync.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/async/CardServiceAsync.kt
index ab866c160..61e3df8f8 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/services/async/CardServiceAsync.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/services/async/CardServiceAsync.kt
@@ -6,11 +6,16 @@ import com.increase.api.core.ClientOptions
import com.increase.api.core.RequestOptions
import com.increase.api.core.http.HttpResponseFor
import com.increase.api.models.cards.Card
+import com.increase.api.models.cards.CardCreateDetailsIframeParams
import com.increase.api.models.cards.CardCreateParams
+import com.increase.api.models.cards.CardDetails
+import com.increase.api.models.cards.CardDetailsParams
+import com.increase.api.models.cards.CardIframeUrl
import com.increase.api.models.cards.CardListPageAsync
import com.increase.api.models.cards.CardListParams
import com.increase.api.models.cards.CardRetrieveParams
import com.increase.api.models.cards.CardUpdateParams
+import com.increase.api.models.cards.CardUpdatePinParams
import java.util.concurrent.CompletableFuture
import java.util.function.Consumer
@@ -116,6 +121,102 @@ interface CardServiceAsync {
fun list(requestOptions: RequestOptions): CompletableFuture =
list(CardListParams.none(), requestOptions)
+ /**
+ * Create an iframe URL for a Card to display the card details. More details about styling and
+ * usage can be found in the [documentation](/documentation/embedded-card-component).
+ */
+ fun createDetailsIframe(cardId: String): CompletableFuture =
+ createDetailsIframe(cardId, CardCreateDetailsIframeParams.none())
+
+ /** @see createDetailsIframe */
+ fun createDetailsIframe(
+ cardId: String,
+ params: CardCreateDetailsIframeParams = CardCreateDetailsIframeParams.none(),
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CompletableFuture =
+ createDetailsIframe(params.toBuilder().cardId(cardId).build(), requestOptions)
+
+ /** @see createDetailsIframe */
+ fun createDetailsIframe(
+ cardId: String,
+ params: CardCreateDetailsIframeParams = CardCreateDetailsIframeParams.none(),
+ ): CompletableFuture = createDetailsIframe(cardId, params, RequestOptions.none())
+
+ /** @see createDetailsIframe */
+ fun createDetailsIframe(
+ params: CardCreateDetailsIframeParams,
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CompletableFuture
+
+ /** @see createDetailsIframe */
+ fun createDetailsIframe(
+ params: CardCreateDetailsIframeParams
+ ): CompletableFuture = createDetailsIframe(params, RequestOptions.none())
+
+ /** @see createDetailsIframe */
+ fun createDetailsIframe(
+ cardId: String,
+ requestOptions: RequestOptions,
+ ): CompletableFuture =
+ createDetailsIframe(cardId, CardCreateDetailsIframeParams.none(), requestOptions)
+
+ /**
+ * Sensitive details for a Card include the primary account number, expiry, card verification
+ * code, and PIN.
+ */
+ fun details(cardId: String): CompletableFuture =
+ details(cardId, CardDetailsParams.none())
+
+ /** @see details */
+ fun details(
+ cardId: String,
+ params: CardDetailsParams = CardDetailsParams.none(),
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CompletableFuture =
+ details(params.toBuilder().cardId(cardId).build(), requestOptions)
+
+ /** @see details */
+ fun details(
+ cardId: String,
+ params: CardDetailsParams = CardDetailsParams.none(),
+ ): CompletableFuture = details(cardId, params, RequestOptions.none())
+
+ /** @see details */
+ fun details(
+ params: CardDetailsParams,
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CompletableFuture
+
+ /** @see details */
+ fun details(params: CardDetailsParams): CompletableFuture =
+ details(params, RequestOptions.none())
+
+ /** @see details */
+ fun details(cardId: String, requestOptions: RequestOptions): CompletableFuture =
+ details(cardId, CardDetailsParams.none(), requestOptions)
+
+ /** Update a Card's PIN */
+ fun updatePin(cardId: String, params: CardUpdatePinParams): CompletableFuture =
+ updatePin(cardId, params, RequestOptions.none())
+
+ /** @see updatePin */
+ fun updatePin(
+ cardId: String,
+ params: CardUpdatePinParams,
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CompletableFuture =
+ updatePin(params.toBuilder().cardId(cardId).build(), requestOptions)
+
+ /** @see updatePin */
+ fun updatePin(params: CardUpdatePinParams): CompletableFuture =
+ updatePin(params, RequestOptions.none())
+
+ /** @see updatePin */
+ fun updatePin(
+ params: CardUpdatePinParams,
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CompletableFuture
+
/** A view of [CardServiceAsync] that provides access to raw HTTP responses for each method. */
interface WithRawResponse {
@@ -240,5 +341,115 @@ interface CardServiceAsync {
requestOptions: RequestOptions
): CompletableFuture> =
list(CardListParams.none(), requestOptions)
+
+ /**
+ * Returns a raw HTTP response for `post /cards/{card_id}/create_details_iframe`, but is
+ * otherwise the same as [CardServiceAsync.createDetailsIframe].
+ */
+ fun createDetailsIframe(cardId: String): CompletableFuture> =
+ createDetailsIframe(cardId, CardCreateDetailsIframeParams.none())
+
+ /** @see createDetailsIframe */
+ fun createDetailsIframe(
+ cardId: String,
+ params: CardCreateDetailsIframeParams = CardCreateDetailsIframeParams.none(),
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CompletableFuture> =
+ createDetailsIframe(params.toBuilder().cardId(cardId).build(), requestOptions)
+
+ /** @see createDetailsIframe */
+ fun createDetailsIframe(
+ cardId: String,
+ params: CardCreateDetailsIframeParams = CardCreateDetailsIframeParams.none(),
+ ): CompletableFuture> =
+ createDetailsIframe(cardId, params, RequestOptions.none())
+
+ /** @see createDetailsIframe */
+ fun createDetailsIframe(
+ params: CardCreateDetailsIframeParams,
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CompletableFuture>
+
+ /** @see createDetailsIframe */
+ fun createDetailsIframe(
+ params: CardCreateDetailsIframeParams
+ ): CompletableFuture> =
+ createDetailsIframe(params, RequestOptions.none())
+
+ /** @see createDetailsIframe */
+ fun createDetailsIframe(
+ cardId: String,
+ requestOptions: RequestOptions,
+ ): CompletableFuture> =
+ createDetailsIframe(cardId, CardCreateDetailsIframeParams.none(), requestOptions)
+
+ /**
+ * Returns a raw HTTP response for `get /cards/{card_id}/details`, but is otherwise the same
+ * as [CardServiceAsync.details].
+ */
+ fun details(cardId: String): CompletableFuture> =
+ details(cardId, CardDetailsParams.none())
+
+ /** @see details */
+ fun details(
+ cardId: String,
+ params: CardDetailsParams = CardDetailsParams.none(),
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CompletableFuture> =
+ details(params.toBuilder().cardId(cardId).build(), requestOptions)
+
+ /** @see details */
+ fun details(
+ cardId: String,
+ params: CardDetailsParams = CardDetailsParams.none(),
+ ): CompletableFuture> =
+ details(cardId, params, RequestOptions.none())
+
+ /** @see details */
+ fun details(
+ params: CardDetailsParams,
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CompletableFuture>
+
+ /** @see details */
+ fun details(params: CardDetailsParams): CompletableFuture> =
+ details(params, RequestOptions.none())
+
+ /** @see details */
+ fun details(
+ cardId: String,
+ requestOptions: RequestOptions,
+ ): CompletableFuture> =
+ details(cardId, CardDetailsParams.none(), requestOptions)
+
+ /**
+ * Returns a raw HTTP response for `post /cards/{card_id}/update_pin`, but is otherwise the
+ * same as [CardServiceAsync.updatePin].
+ */
+ fun updatePin(
+ cardId: String,
+ params: CardUpdatePinParams,
+ ): CompletableFuture> =
+ updatePin(cardId, params, RequestOptions.none())
+
+ /** @see updatePin */
+ fun updatePin(
+ cardId: String,
+ params: CardUpdatePinParams,
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CompletableFuture> =
+ updatePin(params.toBuilder().cardId(cardId).build(), requestOptions)
+
+ /** @see updatePin */
+ fun updatePin(
+ params: CardUpdatePinParams
+ ): CompletableFuture> =
+ updatePin(params, RequestOptions.none())
+
+ /** @see updatePin */
+ fun updatePin(
+ params: CardUpdatePinParams,
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CompletableFuture>
}
}
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/async/CardServiceAsyncImpl.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/async/CardServiceAsyncImpl.kt
index 89375e46e..4c3d94703 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/services/async/CardServiceAsyncImpl.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/services/async/CardServiceAsyncImpl.kt
@@ -17,12 +17,17 @@ import com.increase.api.core.http.json
import com.increase.api.core.http.parseable
import com.increase.api.core.prepareAsync
import com.increase.api.models.cards.Card
+import com.increase.api.models.cards.CardCreateDetailsIframeParams
import com.increase.api.models.cards.CardCreateParams
+import com.increase.api.models.cards.CardDetails
+import com.increase.api.models.cards.CardDetailsParams
+import com.increase.api.models.cards.CardIframeUrl
import com.increase.api.models.cards.CardListPageAsync
import com.increase.api.models.cards.CardListPageResponse
import com.increase.api.models.cards.CardListParams
import com.increase.api.models.cards.CardRetrieveParams
import com.increase.api.models.cards.CardUpdateParams
+import com.increase.api.models.cards.CardUpdatePinParams
import java.util.concurrent.CompletableFuture
import java.util.function.Consumer
import kotlin.jvm.optionals.getOrNull
@@ -67,6 +72,27 @@ class CardServiceAsyncImpl internal constructor(private val clientOptions: Clien
// get /cards
withRawResponse().list(params, requestOptions).thenApply { it.parse() }
+ override fun createDetailsIframe(
+ params: CardCreateDetailsIframeParams,
+ requestOptions: RequestOptions,
+ ): CompletableFuture =
+ // post /cards/{card_id}/create_details_iframe
+ withRawResponse().createDetailsIframe(params, requestOptions).thenApply { it.parse() }
+
+ override fun details(
+ params: CardDetailsParams,
+ requestOptions: RequestOptions,
+ ): CompletableFuture =
+ // get /cards/{card_id}/details
+ withRawResponse().details(params, requestOptions).thenApply { it.parse() }
+
+ override fun updatePin(
+ params: CardUpdatePinParams,
+ requestOptions: RequestOptions,
+ ): CompletableFuture =
+ // post /cards/{card_id}/update_pin
+ withRawResponse().updatePin(params, requestOptions).thenApply { it.parse() }
+
class WithRawResponseImpl internal constructor(private val clientOptions: ClientOptions) :
CardServiceAsync.WithRawResponse {
@@ -212,5 +238,106 @@ class CardServiceAsyncImpl internal constructor(private val clientOptions: Clien
}
}
}
+
+ private val createDetailsIframeHandler: Handler =
+ jsonHandler(clientOptions.jsonMapper)
+
+ override fun createDetailsIframe(
+ params: CardCreateDetailsIframeParams,
+ requestOptions: RequestOptions,
+ ): CompletableFuture> {
+ // We check here instead of in the params builder because this can be specified
+ // positionally or in the params class.
+ checkRequired("cardId", params.cardId().getOrNull())
+ val request =
+ HttpRequest.builder()
+ .method(HttpMethod.POST)
+ .baseUrl(clientOptions.baseUrl())
+ .addPathSegments("cards", params._pathParam(0), "create_details_iframe")
+ .body(json(clientOptions.jsonMapper, params._body()))
+ .build()
+ .prepareAsync(clientOptions, params)
+ val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions))
+ return request
+ .thenComposeAsync { clientOptions.httpClient.executeAsync(it, requestOptions) }
+ .thenApply { response ->
+ errorHandler.handle(response).parseable {
+ response
+ .use { createDetailsIframeHandler.handle(it) }
+ .also {
+ if (requestOptions.responseValidation!!) {
+ it.validate()
+ }
+ }
+ }
+ }
+ }
+
+ private val detailsHandler: Handler =
+ jsonHandler(clientOptions.jsonMapper)
+
+ override fun details(
+ params: CardDetailsParams,
+ requestOptions: RequestOptions,
+ ): CompletableFuture> {
+ // We check here instead of in the params builder because this can be specified
+ // positionally or in the params class.
+ checkRequired("cardId", params.cardId().getOrNull())
+ val request =
+ HttpRequest.builder()
+ .method(HttpMethod.GET)
+ .baseUrl(clientOptions.baseUrl())
+ .addPathSegments("cards", params._pathParam(0), "details")
+ .build()
+ .prepareAsync(clientOptions, params)
+ val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions))
+ return request
+ .thenComposeAsync { clientOptions.httpClient.executeAsync(it, requestOptions) }
+ .thenApply { response ->
+ errorHandler.handle(response).parseable {
+ response
+ .use { detailsHandler.handle(it) }
+ .also {
+ if (requestOptions.responseValidation!!) {
+ it.validate()
+ }
+ }
+ }
+ }
+ }
+
+ private val updatePinHandler: Handler =
+ jsonHandler(clientOptions.jsonMapper)
+
+ override fun updatePin(
+ params: CardUpdatePinParams,
+ requestOptions: RequestOptions,
+ ): CompletableFuture> {
+ // We check here instead of in the params builder because this can be specified
+ // positionally or in the params class.
+ checkRequired("cardId", params.cardId().getOrNull())
+ val request =
+ HttpRequest.builder()
+ .method(HttpMethod.POST)
+ .baseUrl(clientOptions.baseUrl())
+ .addPathSegments("cards", params._pathParam(0), "update_pin")
+ .body(json(clientOptions.jsonMapper, params._body()))
+ .build()
+ .prepareAsync(clientOptions, params)
+ val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions))
+ return request
+ .thenComposeAsync { clientOptions.httpClient.executeAsync(it, requestOptions) }
+ .thenApply { response ->
+ errorHandler.handle(response).parseable {
+ response
+ .use { updatePinHandler.handle(it) }
+ .also {
+ if (requestOptions.responseValidation!!) {
+ it.validate()
+ }
+ }
+ }
+ }
+ }
}
}
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/CardDetailService.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/CardDetailService.kt
deleted file mode 100644
index c5357578c..000000000
--- a/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/CardDetailService.kt
+++ /dev/null
@@ -1,247 +0,0 @@
-// File generated from our OpenAPI spec by Stainless.
-
-package com.increase.api.services.blocking
-
-import com.google.errorprone.annotations.MustBeClosed
-import com.increase.api.core.ClientOptions
-import com.increase.api.core.RequestOptions
-import com.increase.api.core.http.HttpResponseFor
-import com.increase.api.models.carddetails.CardDetailCreateDetailsIframeParams
-import com.increase.api.models.carddetails.CardDetailDetailsParams
-import com.increase.api.models.carddetails.CardDetailUpdateParams
-import com.increase.api.models.carddetails.CardDetails
-import com.increase.api.models.carddetails.CardIframeUrl
-import java.util.function.Consumer
-
-interface CardDetailService {
-
- /**
- * Returns a view of this service that provides access to raw HTTP responses for each method.
- */
- fun withRawResponse(): WithRawResponse
-
- /**
- * Returns a view of this service with the given option modifications applied.
- *
- * The original service is not modified.
- */
- fun withOptions(modifier: Consumer): CardDetailService
-
- /** Update a Card's PIN */
- fun update(cardId: String, params: CardDetailUpdateParams): CardDetails =
- update(cardId, params, RequestOptions.none())
-
- /** @see update */
- fun update(
- cardId: String,
- params: CardDetailUpdateParams,
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CardDetails = update(params.toBuilder().cardId(cardId).build(), requestOptions)
-
- /** @see update */
- fun update(params: CardDetailUpdateParams): CardDetails = update(params, RequestOptions.none())
-
- /** @see update */
- fun update(
- params: CardDetailUpdateParams,
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CardDetails
-
- /**
- * Create an iframe URL for a Card to display the card details. More details about styling and
- * usage can be found in the [documentation](/documentation/embedded-card-component).
- */
- fun createDetailsIframe(cardId: String): CardIframeUrl =
- createDetailsIframe(cardId, CardDetailCreateDetailsIframeParams.none())
-
- /** @see createDetailsIframe */
- fun createDetailsIframe(
- cardId: String,
- params: CardDetailCreateDetailsIframeParams = CardDetailCreateDetailsIframeParams.none(),
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CardIframeUrl =
- createDetailsIframe(params.toBuilder().cardId(cardId).build(), requestOptions)
-
- /** @see createDetailsIframe */
- fun createDetailsIframe(
- cardId: String,
- params: CardDetailCreateDetailsIframeParams = CardDetailCreateDetailsIframeParams.none(),
- ): CardIframeUrl = createDetailsIframe(cardId, params, RequestOptions.none())
-
- /** @see createDetailsIframe */
- fun createDetailsIframe(
- params: CardDetailCreateDetailsIframeParams,
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CardIframeUrl
-
- /** @see createDetailsIframe */
- fun createDetailsIframe(params: CardDetailCreateDetailsIframeParams): CardIframeUrl =
- createDetailsIframe(params, RequestOptions.none())
-
- /** @see createDetailsIframe */
- fun createDetailsIframe(cardId: String, requestOptions: RequestOptions): CardIframeUrl =
- createDetailsIframe(cardId, CardDetailCreateDetailsIframeParams.none(), requestOptions)
-
- /**
- * Sensitive details for a Card include the primary account number, expiry, card verification
- * code, and PIN.
- */
- fun details(cardId: String): CardDetails = details(cardId, CardDetailDetailsParams.none())
-
- /** @see details */
- fun details(
- cardId: String,
- params: CardDetailDetailsParams = CardDetailDetailsParams.none(),
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CardDetails = details(params.toBuilder().cardId(cardId).build(), requestOptions)
-
- /** @see details */
- fun details(
- cardId: String,
- params: CardDetailDetailsParams = CardDetailDetailsParams.none(),
- ): CardDetails = details(cardId, params, RequestOptions.none())
-
- /** @see details */
- fun details(
- params: CardDetailDetailsParams,
- requestOptions: RequestOptions = RequestOptions.none(),
- ): CardDetails
-
- /** @see details */
- fun details(params: CardDetailDetailsParams): CardDetails =
- details(params, RequestOptions.none())
-
- /** @see details */
- fun details(cardId: String, requestOptions: RequestOptions): CardDetails =
- details(cardId, CardDetailDetailsParams.none(), requestOptions)
-
- /** A view of [CardDetailService] that provides access to raw HTTP responses for each method. */
- interface WithRawResponse {
-
- /**
- * Returns a view of this service with the given option modifications applied.
- *
- * The original service is not modified.
- */
- fun withOptions(
- modifier: Consumer
- ): CardDetailService.WithRawResponse
-
- /**
- * Returns a raw HTTP response for `patch /cards/{card_id}/details`, but is otherwise the
- * same as [CardDetailService.update].
- */
- @MustBeClosed
- fun update(cardId: String, params: CardDetailUpdateParams): HttpResponseFor =
- update(cardId, params, RequestOptions.none())
-
- /** @see update */
- @MustBeClosed
- fun update(
- cardId: String,
- params: CardDetailUpdateParams,
- requestOptions: RequestOptions = RequestOptions.none(),
- ): HttpResponseFor =
- update(params.toBuilder().cardId(cardId).build(), requestOptions)
-
- /** @see update */
- @MustBeClosed
- fun update(params: CardDetailUpdateParams): HttpResponseFor =
- update(params, RequestOptions.none())
-
- /** @see update */
- @MustBeClosed
- fun update(
- params: CardDetailUpdateParams,
- requestOptions: RequestOptions = RequestOptions.none(),
- ): HttpResponseFor
-
- /**
- * Returns a raw HTTP response for `post /cards/{card_id}/create_details_iframe`, but is
- * otherwise the same as [CardDetailService.createDetailsIframe].
- */
- @MustBeClosed
- fun createDetailsIframe(cardId: String): HttpResponseFor =
- createDetailsIframe(cardId, CardDetailCreateDetailsIframeParams.none())
-
- /** @see createDetailsIframe */
- @MustBeClosed
- fun createDetailsIframe(
- cardId: String,
- params: CardDetailCreateDetailsIframeParams =
- CardDetailCreateDetailsIframeParams.none(),
- requestOptions: RequestOptions = RequestOptions.none(),
- ): HttpResponseFor =
- createDetailsIframe(params.toBuilder().cardId(cardId).build(), requestOptions)
-
- /** @see createDetailsIframe */
- @MustBeClosed
- fun createDetailsIframe(
- cardId: String,
- params: CardDetailCreateDetailsIframeParams = CardDetailCreateDetailsIframeParams.none(),
- ): HttpResponseFor =
- createDetailsIframe(cardId, params, RequestOptions.none())
-
- /** @see createDetailsIframe */
- @MustBeClosed
- fun createDetailsIframe(
- params: CardDetailCreateDetailsIframeParams,
- requestOptions: RequestOptions = RequestOptions.none(),
- ): HttpResponseFor
-
- /** @see createDetailsIframe */
- @MustBeClosed
- fun createDetailsIframe(
- params: CardDetailCreateDetailsIframeParams
- ): HttpResponseFor = createDetailsIframe(params, RequestOptions.none())
-
- /** @see createDetailsIframe */
- @MustBeClosed
- fun createDetailsIframe(
- cardId: String,
- requestOptions: RequestOptions,
- ): HttpResponseFor =
- createDetailsIframe(cardId, CardDetailCreateDetailsIframeParams.none(), requestOptions)
-
- /**
- * Returns a raw HTTP response for `get /cards/{card_id}/details`, but is otherwise the same
- * as [CardDetailService.details].
- */
- @MustBeClosed
- fun details(cardId: String): HttpResponseFor =
- details(cardId, CardDetailDetailsParams.none())
-
- /** @see details */
- @MustBeClosed
- fun details(
- cardId: String,
- params: CardDetailDetailsParams = CardDetailDetailsParams.none(),
- requestOptions: RequestOptions = RequestOptions.none(),
- ): HttpResponseFor =
- details(params.toBuilder().cardId(cardId).build(), requestOptions)
-
- /** @see details */
- @MustBeClosed
- fun details(
- cardId: String,
- params: CardDetailDetailsParams = CardDetailDetailsParams.none(),
- ): HttpResponseFor = details(cardId, params, RequestOptions.none())
-
- /** @see details */
- @MustBeClosed
- fun details(
- params: CardDetailDetailsParams,
- requestOptions: RequestOptions = RequestOptions.none(),
- ): HttpResponseFor
-
- /** @see details */
- @MustBeClosed
- fun details(params: CardDetailDetailsParams): HttpResponseFor =
- details(params, RequestOptions.none())
-
- /** @see details */
- @MustBeClosed
- fun details(cardId: String, requestOptions: RequestOptions): HttpResponseFor =
- details(cardId, CardDetailDetailsParams.none(), requestOptions)
- }
-}
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/CardDetailServiceImpl.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/CardDetailServiceImpl.kt
deleted file mode 100644
index a10c3c194..000000000
--- a/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/CardDetailServiceImpl.kt
+++ /dev/null
@@ -1,165 +0,0 @@
-// File generated from our OpenAPI spec by Stainless.
-
-package com.increase.api.services.blocking
-
-import com.increase.api.core.ClientOptions
-import com.increase.api.core.RequestOptions
-import com.increase.api.core.checkRequired
-import com.increase.api.core.handlers.errorBodyHandler
-import com.increase.api.core.handlers.errorHandler
-import com.increase.api.core.handlers.jsonHandler
-import com.increase.api.core.http.HttpMethod
-import com.increase.api.core.http.HttpRequest
-import com.increase.api.core.http.HttpResponse
-import com.increase.api.core.http.HttpResponse.Handler
-import com.increase.api.core.http.HttpResponseFor
-import com.increase.api.core.http.json
-import com.increase.api.core.http.parseable
-import com.increase.api.core.prepare
-import com.increase.api.models.carddetails.CardDetailCreateDetailsIframeParams
-import com.increase.api.models.carddetails.CardDetailDetailsParams
-import com.increase.api.models.carddetails.CardDetailUpdateParams
-import com.increase.api.models.carddetails.CardDetails
-import com.increase.api.models.carddetails.CardIframeUrl
-import java.util.function.Consumer
-import kotlin.jvm.optionals.getOrNull
-
-class CardDetailServiceImpl internal constructor(private val clientOptions: ClientOptions) :
- CardDetailService {
-
- private val withRawResponse: CardDetailService.WithRawResponse by lazy {
- WithRawResponseImpl(clientOptions)
- }
-
- override fun withRawResponse(): CardDetailService.WithRawResponse = withRawResponse
-
- override fun withOptions(modifier: Consumer): CardDetailService =
- CardDetailServiceImpl(clientOptions.toBuilder().apply(modifier::accept).build())
-
- override fun update(
- params: CardDetailUpdateParams,
- requestOptions: RequestOptions,
- ): CardDetails =
- // patch /cards/{card_id}/details
- withRawResponse().update(params, requestOptions).parse()
-
- override fun createDetailsIframe(
- params: CardDetailCreateDetailsIframeParams,
- requestOptions: RequestOptions,
- ): CardIframeUrl =
- // post /cards/{card_id}/create_details_iframe
- withRawResponse().createDetailsIframe(params, requestOptions).parse()
-
- override fun details(
- params: CardDetailDetailsParams,
- requestOptions: RequestOptions,
- ): CardDetails =
- // get /cards/{card_id}/details
- withRawResponse().details(params, requestOptions).parse()
-
- class WithRawResponseImpl internal constructor(private val clientOptions: ClientOptions) :
- CardDetailService.WithRawResponse {
-
- private val errorHandler: Handler =
- errorHandler(errorBodyHandler(clientOptions.jsonMapper))
-
- override fun withOptions(
- modifier: Consumer
- ): CardDetailService.WithRawResponse =
- CardDetailServiceImpl.WithRawResponseImpl(
- clientOptions.toBuilder().apply(modifier::accept).build()
- )
-
- private val updateHandler: Handler =
- jsonHandler(clientOptions.jsonMapper)
-
- override fun update(
- params: CardDetailUpdateParams,
- requestOptions: RequestOptions,
- ): HttpResponseFor {
- // We check here instead of in the params builder because this can be specified
- // positionally or in the params class.
- checkRequired("cardId", params.cardId().getOrNull())
- val request =
- HttpRequest.builder()
- .method(HttpMethod.PATCH)
- .baseUrl(clientOptions.baseUrl())
- .addPathSegments("cards", params._pathParam(0), "details")
- .body(json(clientOptions.jsonMapper, params._body()))
- .build()
- .prepare(clientOptions, params)
- val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions))
- val response = clientOptions.httpClient.execute(request, requestOptions)
- return errorHandler.handle(response).parseable {
- response
- .use { updateHandler.handle(it) }
- .also {
- if (requestOptions.responseValidation!!) {
- it.validate()
- }
- }
- }
- }
-
- private val createDetailsIframeHandler: Handler =
- jsonHandler(clientOptions.jsonMapper)
-
- override fun createDetailsIframe(
- params: CardDetailCreateDetailsIframeParams,
- requestOptions: RequestOptions,
- ): HttpResponseFor {
- // We check here instead of in the params builder because this can be specified
- // positionally or in the params class.
- checkRequired("cardId", params.cardId().getOrNull())
- val request =
- HttpRequest.builder()
- .method(HttpMethod.POST)
- .baseUrl(clientOptions.baseUrl())
- .addPathSegments("cards", params._pathParam(0), "create_details_iframe")
- .body(json(clientOptions.jsonMapper, params._body()))
- .build()
- .prepare(clientOptions, params)
- val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions))
- val response = clientOptions.httpClient.execute(request, requestOptions)
- return errorHandler.handle(response).parseable {
- response
- .use { createDetailsIframeHandler.handle(it) }
- .also {
- if (requestOptions.responseValidation!!) {
- it.validate()
- }
- }
- }
- }
-
- private val detailsHandler: Handler =
- jsonHandler(clientOptions.jsonMapper)
-
- override fun details(
- params: CardDetailDetailsParams,
- requestOptions: RequestOptions,
- ): HttpResponseFor {
- // We check here instead of in the params builder because this can be specified
- // positionally or in the params class.
- checkRequired("cardId", params.cardId().getOrNull())
- val request =
- HttpRequest.builder()
- .method(HttpMethod.GET)
- .baseUrl(clientOptions.baseUrl())
- .addPathSegments("cards", params._pathParam(0), "details")
- .build()
- .prepare(clientOptions, params)
- val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions))
- val response = clientOptions.httpClient.execute(request, requestOptions)
- return errorHandler.handle(response).parseable {
- response
- .use { detailsHandler.handle(it) }
- .also {
- if (requestOptions.responseValidation!!) {
- it.validate()
- }
- }
- }
- }
- }
-}
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/CardService.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/CardService.kt
index 3087e548e..501e3d077 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/CardService.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/CardService.kt
@@ -7,11 +7,16 @@ import com.increase.api.core.ClientOptions
import com.increase.api.core.RequestOptions
import com.increase.api.core.http.HttpResponseFor
import com.increase.api.models.cards.Card
+import com.increase.api.models.cards.CardCreateDetailsIframeParams
import com.increase.api.models.cards.CardCreateParams
+import com.increase.api.models.cards.CardDetails
+import com.increase.api.models.cards.CardDetailsParams
+import com.increase.api.models.cards.CardIframeUrl
import com.increase.api.models.cards.CardListPage
import com.increase.api.models.cards.CardListParams
import com.increase.api.models.cards.CardRetrieveParams
import com.increase.api.models.cards.CardUpdateParams
+import com.increase.api.models.cards.CardUpdatePinParams
import java.util.function.Consumer
interface CardService {
@@ -108,6 +113,92 @@ interface CardService {
fun list(requestOptions: RequestOptions): CardListPage =
list(CardListParams.none(), requestOptions)
+ /**
+ * Create an iframe URL for a Card to display the card details. More details about styling and
+ * usage can be found in the [documentation](/documentation/embedded-card-component).
+ */
+ fun createDetailsIframe(cardId: String): CardIframeUrl =
+ createDetailsIframe(cardId, CardCreateDetailsIframeParams.none())
+
+ /** @see createDetailsIframe */
+ fun createDetailsIframe(
+ cardId: String,
+ params: CardCreateDetailsIframeParams = CardCreateDetailsIframeParams.none(),
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CardIframeUrl =
+ createDetailsIframe(params.toBuilder().cardId(cardId).build(), requestOptions)
+
+ /** @see createDetailsIframe */
+ fun createDetailsIframe(
+ cardId: String,
+ params: CardCreateDetailsIframeParams = CardCreateDetailsIframeParams.none(),
+ ): CardIframeUrl = createDetailsIframe(cardId, params, RequestOptions.none())
+
+ /** @see createDetailsIframe */
+ fun createDetailsIframe(
+ params: CardCreateDetailsIframeParams,
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CardIframeUrl
+
+ /** @see createDetailsIframe */
+ fun createDetailsIframe(params: CardCreateDetailsIframeParams): CardIframeUrl =
+ createDetailsIframe(params, RequestOptions.none())
+
+ /** @see createDetailsIframe */
+ fun createDetailsIframe(cardId: String, requestOptions: RequestOptions): CardIframeUrl =
+ createDetailsIframe(cardId, CardCreateDetailsIframeParams.none(), requestOptions)
+
+ /**
+ * Sensitive details for a Card include the primary account number, expiry, card verification
+ * code, and PIN.
+ */
+ fun details(cardId: String): CardDetails = details(cardId, CardDetailsParams.none())
+
+ /** @see details */
+ fun details(
+ cardId: String,
+ params: CardDetailsParams = CardDetailsParams.none(),
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CardDetails = details(params.toBuilder().cardId(cardId).build(), requestOptions)
+
+ /** @see details */
+ fun details(cardId: String, params: CardDetailsParams = CardDetailsParams.none()): CardDetails =
+ details(cardId, params, RequestOptions.none())
+
+ /** @see details */
+ fun details(
+ params: CardDetailsParams,
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CardDetails
+
+ /** @see details */
+ fun details(params: CardDetailsParams): CardDetails = details(params, RequestOptions.none())
+
+ /** @see details */
+ fun details(cardId: String, requestOptions: RequestOptions): CardDetails =
+ details(cardId, CardDetailsParams.none(), requestOptions)
+
+ /** Update a Card's PIN */
+ fun updatePin(cardId: String, params: CardUpdatePinParams): CardDetails =
+ updatePin(cardId, params, RequestOptions.none())
+
+ /** @see updatePin */
+ fun updatePin(
+ cardId: String,
+ params: CardUpdatePinParams,
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CardDetails = updatePin(params.toBuilder().cardId(cardId).build(), requestOptions)
+
+ /** @see updatePin */
+ fun updatePin(params: CardUpdatePinParams): CardDetails =
+ updatePin(params, RequestOptions.none())
+
+ /** @see updatePin */
+ fun updatePin(
+ params: CardUpdatePinParams,
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): CardDetails
+
/** A view of [CardService] that provides access to raw HTTP responses for each method. */
interface WithRawResponse {
@@ -235,5 +326,121 @@ interface CardService {
@MustBeClosed
fun list(requestOptions: RequestOptions): HttpResponseFor =
list(CardListParams.none(), requestOptions)
+
+ /**
+ * Returns a raw HTTP response for `post /cards/{card_id}/create_details_iframe`, but is
+ * otherwise the same as [CardService.createDetailsIframe].
+ */
+ @MustBeClosed
+ fun createDetailsIframe(cardId: String): HttpResponseFor =
+ createDetailsIframe(cardId, CardCreateDetailsIframeParams.none())
+
+ /** @see createDetailsIframe */
+ @MustBeClosed
+ fun createDetailsIframe(
+ cardId: String,
+ params: CardCreateDetailsIframeParams = CardCreateDetailsIframeParams.none(),
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): HttpResponseFor =
+ createDetailsIframe(params.toBuilder().cardId(cardId).build(), requestOptions)
+
+ /** @see createDetailsIframe */
+ @MustBeClosed
+ fun createDetailsIframe(
+ cardId: String,
+ params: CardCreateDetailsIframeParams = CardCreateDetailsIframeParams.none(),
+ ): HttpResponseFor =
+ createDetailsIframe(cardId, params, RequestOptions.none())
+
+ /** @see createDetailsIframe */
+ @MustBeClosed
+ fun createDetailsIframe(
+ params: CardCreateDetailsIframeParams,
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): HttpResponseFor
+
+ /** @see createDetailsIframe */
+ @MustBeClosed
+ fun createDetailsIframe(
+ params: CardCreateDetailsIframeParams
+ ): HttpResponseFor = createDetailsIframe(params, RequestOptions.none())
+
+ /** @see createDetailsIframe */
+ @MustBeClosed
+ fun createDetailsIframe(
+ cardId: String,
+ requestOptions: RequestOptions,
+ ): HttpResponseFor =
+ createDetailsIframe(cardId, CardCreateDetailsIframeParams.none(), requestOptions)
+
+ /**
+ * Returns a raw HTTP response for `get /cards/{card_id}/details`, but is otherwise the same
+ * as [CardService.details].
+ */
+ @MustBeClosed
+ fun details(cardId: String): HttpResponseFor =
+ details(cardId, CardDetailsParams.none())
+
+ /** @see details */
+ @MustBeClosed
+ fun details(
+ cardId: String,
+ params: CardDetailsParams = CardDetailsParams.none(),
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): HttpResponseFor =
+ details(params.toBuilder().cardId(cardId).build(), requestOptions)
+
+ /** @see details */
+ @MustBeClosed
+ fun details(
+ cardId: String,
+ params: CardDetailsParams = CardDetailsParams.none(),
+ ): HttpResponseFor = details(cardId, params, RequestOptions.none())
+
+ /** @see details */
+ @MustBeClosed
+ fun details(
+ params: CardDetailsParams,
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): HttpResponseFor
+
+ /** @see details */
+ @MustBeClosed
+ fun details(params: CardDetailsParams): HttpResponseFor =
+ details(params, RequestOptions.none())
+
+ /** @see details */
+ @MustBeClosed
+ fun details(cardId: String, requestOptions: RequestOptions): HttpResponseFor =
+ details(cardId, CardDetailsParams.none(), requestOptions)
+
+ /**
+ * Returns a raw HTTP response for `post /cards/{card_id}/update_pin`, but is otherwise the
+ * same as [CardService.updatePin].
+ */
+ @MustBeClosed
+ fun updatePin(cardId: String, params: CardUpdatePinParams): HttpResponseFor =
+ updatePin(cardId, params, RequestOptions.none())
+
+ /** @see updatePin */
+ @MustBeClosed
+ fun updatePin(
+ cardId: String,
+ params: CardUpdatePinParams,
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): HttpResponseFor =
+ updatePin(params.toBuilder().cardId(cardId).build(), requestOptions)
+
+ /** @see updatePin */
+ @MustBeClosed
+ fun updatePin(params: CardUpdatePinParams): HttpResponseFor =
+ updatePin(params, RequestOptions.none())
+
+ /** @see updatePin */
+ @MustBeClosed
+ fun updatePin(
+ params: CardUpdatePinParams,
+ requestOptions: RequestOptions = RequestOptions.none(),
+ ): HttpResponseFor
}
}
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/CardServiceImpl.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/CardServiceImpl.kt
index e8b35f2da..23c39914f 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/CardServiceImpl.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/CardServiceImpl.kt
@@ -17,12 +17,17 @@ import com.increase.api.core.http.json
import com.increase.api.core.http.parseable
import com.increase.api.core.prepare
import com.increase.api.models.cards.Card
+import com.increase.api.models.cards.CardCreateDetailsIframeParams
import com.increase.api.models.cards.CardCreateParams
+import com.increase.api.models.cards.CardDetails
+import com.increase.api.models.cards.CardDetailsParams
+import com.increase.api.models.cards.CardIframeUrl
import com.increase.api.models.cards.CardListPage
import com.increase.api.models.cards.CardListPageResponse
import com.increase.api.models.cards.CardListParams
import com.increase.api.models.cards.CardRetrieveParams
import com.increase.api.models.cards.CardUpdateParams
+import com.increase.api.models.cards.CardUpdatePinParams
import java.util.function.Consumer
import kotlin.jvm.optionals.getOrNull
@@ -53,6 +58,24 @@ class CardServiceImpl internal constructor(private val clientOptions: ClientOpti
// get /cards
withRawResponse().list(params, requestOptions).parse()
+ override fun createDetailsIframe(
+ params: CardCreateDetailsIframeParams,
+ requestOptions: RequestOptions,
+ ): CardIframeUrl =
+ // post /cards/{card_id}/create_details_iframe
+ withRawResponse().createDetailsIframe(params, requestOptions).parse()
+
+ override fun details(params: CardDetailsParams, requestOptions: RequestOptions): CardDetails =
+ // get /cards/{card_id}/details
+ withRawResponse().details(params, requestOptions).parse()
+
+ override fun updatePin(
+ params: CardUpdatePinParams,
+ requestOptions: RequestOptions,
+ ): CardDetails =
+ // post /cards/{card_id}/update_pin
+ withRawResponse().updatePin(params, requestOptions).parse()
+
class WithRawResponseImpl internal constructor(private val clientOptions: ClientOptions) :
CardService.WithRawResponse {
@@ -185,5 +208,97 @@ class CardServiceImpl internal constructor(private val clientOptions: ClientOpti
}
}
}
+
+ private val createDetailsIframeHandler: Handler =
+ jsonHandler(clientOptions.jsonMapper)
+
+ override fun createDetailsIframe(
+ params: CardCreateDetailsIframeParams,
+ requestOptions: RequestOptions,
+ ): HttpResponseFor {
+ // We check here instead of in the params builder because this can be specified
+ // positionally or in the params class.
+ checkRequired("cardId", params.cardId().getOrNull())
+ val request =
+ HttpRequest.builder()
+ .method(HttpMethod.POST)
+ .baseUrl(clientOptions.baseUrl())
+ .addPathSegments("cards", params._pathParam(0), "create_details_iframe")
+ .body(json(clientOptions.jsonMapper, params._body()))
+ .build()
+ .prepare(clientOptions, params)
+ val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions))
+ val response = clientOptions.httpClient.execute(request, requestOptions)
+ return errorHandler.handle(response).parseable {
+ response
+ .use { createDetailsIframeHandler.handle(it) }
+ .also {
+ if (requestOptions.responseValidation!!) {
+ it.validate()
+ }
+ }
+ }
+ }
+
+ private val detailsHandler: Handler =
+ jsonHandler(clientOptions.jsonMapper)
+
+ override fun details(
+ params: CardDetailsParams,
+ requestOptions: RequestOptions,
+ ): HttpResponseFor {
+ // We check here instead of in the params builder because this can be specified
+ // positionally or in the params class.
+ checkRequired("cardId", params.cardId().getOrNull())
+ val request =
+ HttpRequest.builder()
+ .method(HttpMethod.GET)
+ .baseUrl(clientOptions.baseUrl())
+ .addPathSegments("cards", params._pathParam(0), "details")
+ .build()
+ .prepare(clientOptions, params)
+ val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions))
+ val response = clientOptions.httpClient.execute(request, requestOptions)
+ return errorHandler.handle(response).parseable {
+ response
+ .use { detailsHandler.handle(it) }
+ .also {
+ if (requestOptions.responseValidation!!) {
+ it.validate()
+ }
+ }
+ }
+ }
+
+ private val updatePinHandler: Handler =
+ jsonHandler(clientOptions.jsonMapper)
+
+ override fun updatePin(
+ params: CardUpdatePinParams,
+ requestOptions: RequestOptions,
+ ): HttpResponseFor {
+ // We check here instead of in the params builder because this can be specified
+ // positionally or in the params class.
+ checkRequired("cardId", params.cardId().getOrNull())
+ val request =
+ HttpRequest.builder()
+ .method(HttpMethod.POST)
+ .baseUrl(clientOptions.baseUrl())
+ .addPathSegments("cards", params._pathParam(0), "update_pin")
+ .body(json(clientOptions.jsonMapper, params._body()))
+ .build()
+ .prepare(clientOptions, params)
+ val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions))
+ val response = clientOptions.httpClient.execute(request, requestOptions)
+ return errorHandler.handle(response).parseable {
+ response
+ .use { updatePinHandler.handle(it) }
+ .also {
+ if (requestOptions.responseValidation!!) {
+ it.validate()
+ }
+ }
+ }
+ }
}
}
diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/carddetails/CardDetailCreateDetailsIframeParamsTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardCreateDetailsIframeParamsTest.kt
similarity index 65%
rename from increase-java-core/src/test/kotlin/com/increase/api/models/carddetails/CardDetailCreateDetailsIframeParamsTest.kt
rename to increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardCreateDetailsIframeParamsTest.kt
index 2383c37be..f1309a233 100644
--- a/increase-java-core/src/test/kotlin/com/increase/api/models/carddetails/CardDetailCreateDetailsIframeParamsTest.kt
+++ b/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardCreateDetailsIframeParamsTest.kt
@@ -1,15 +1,15 @@
// File generated from our OpenAPI spec by Stainless.
-package com.increase.api.models.carddetails
+package com.increase.api.models.cards
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Test
-internal class CardDetailCreateDetailsIframeParamsTest {
+internal class CardCreateDetailsIframeParamsTest {
@Test
fun create() {
- CardDetailCreateDetailsIframeParams.builder()
+ CardCreateDetailsIframeParams.builder()
.cardId("card_oubs0hwk5rn6knuecxg2")
.physicalCardId("physical_card_id")
.build()
@@ -18,9 +18,7 @@ internal class CardDetailCreateDetailsIframeParamsTest {
@Test
fun pathParams() {
val params =
- CardDetailCreateDetailsIframeParams.builder()
- .cardId("card_oubs0hwk5rn6knuecxg2")
- .build()
+ CardCreateDetailsIframeParams.builder().cardId("card_oubs0hwk5rn6knuecxg2").build()
assertThat(params._pathParam(0)).isEqualTo("card_oubs0hwk5rn6knuecxg2")
// out-of-bound path param
@@ -30,7 +28,7 @@ internal class CardDetailCreateDetailsIframeParamsTest {
@Test
fun body() {
val params =
- CardDetailCreateDetailsIframeParams.builder()
+ CardCreateDetailsIframeParams.builder()
.cardId("card_oubs0hwk5rn6knuecxg2")
.physicalCardId("physical_card_id")
.build()
@@ -43,9 +41,7 @@ internal class CardDetailCreateDetailsIframeParamsTest {
@Test
fun bodyWithoutOptionalFields() {
val params =
- CardDetailCreateDetailsIframeParams.builder()
- .cardId("card_oubs0hwk5rn6knuecxg2")
- .build()
+ CardCreateDetailsIframeParams.builder().cardId("card_oubs0hwk5rn6knuecxg2").build()
val body = params._body()
}
diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/carddetails/CardDetailDetailsParamsTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardDetailsParamsTest.kt
similarity index 58%
rename from increase-java-core/src/test/kotlin/com/increase/api/models/carddetails/CardDetailDetailsParamsTest.kt
rename to increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardDetailsParamsTest.kt
index d060c8a2c..9dd4e8516 100644
--- a/increase-java-core/src/test/kotlin/com/increase/api/models/carddetails/CardDetailDetailsParamsTest.kt
+++ b/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardDetailsParamsTest.kt
@@ -1,20 +1,20 @@
// File generated from our OpenAPI spec by Stainless.
-package com.increase.api.models.carddetails
+package com.increase.api.models.cards
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Test
-internal class CardDetailDetailsParamsTest {
+internal class CardDetailsParamsTest {
@Test
fun create() {
- CardDetailDetailsParams.builder().cardId("card_oubs0hwk5rn6knuecxg2").build()
+ CardDetailsParams.builder().cardId("card_oubs0hwk5rn6knuecxg2").build()
}
@Test
fun pathParams() {
- val params = CardDetailDetailsParams.builder().cardId("card_oubs0hwk5rn6knuecxg2").build()
+ val params = CardDetailsParams.builder().cardId("card_oubs0hwk5rn6knuecxg2").build()
assertThat(params._pathParam(0)).isEqualTo("card_oubs0hwk5rn6knuecxg2")
// out-of-bound path param
diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/carddetails/CardDetailsTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardDetailsTest.kt
similarity index 97%
rename from increase-java-core/src/test/kotlin/com/increase/api/models/carddetails/CardDetailsTest.kt
rename to increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardDetailsTest.kt
index 1f8857032..45b492e2f 100644
--- a/increase-java-core/src/test/kotlin/com/increase/api/models/carddetails/CardDetailsTest.kt
+++ b/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardDetailsTest.kt
@@ -1,6 +1,6 @@
// File generated from our OpenAPI spec by Stainless.
-package com.increase.api.models.carddetails
+package com.increase.api.models.cards
import com.fasterxml.jackson.module.kotlin.jacksonTypeRef
import com.increase.api.core.jsonMapper
diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/carddetails/CardIframeUrlTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardIframeUrlTest.kt
similarity index 97%
rename from increase-java-core/src/test/kotlin/com/increase/api/models/carddetails/CardIframeUrlTest.kt
rename to increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardIframeUrlTest.kt
index d762a9266..53c1a7b43 100644
--- a/increase-java-core/src/test/kotlin/com/increase/api/models/carddetails/CardIframeUrlTest.kt
+++ b/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardIframeUrlTest.kt
@@ -1,6 +1,6 @@
// File generated from our OpenAPI spec by Stainless.
-package com.increase.api.models.carddetails
+package com.increase.api.models.cards
import com.fasterxml.jackson.module.kotlin.jacksonTypeRef
import com.increase.api.core.jsonMapper
diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardUpdateParamsTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardUpdateParamsTest.kt
index 5b0cd2cb9..8c85822f4 100644
--- a/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardUpdateParamsTest.kt
+++ b/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardUpdateParamsTest.kt
@@ -29,7 +29,6 @@ internal class CardUpdateParamsTest {
.build()
)
.entityId("entity_id")
- .pin("xxxx")
.status(CardUpdateParams.Status.ACTIVE)
.build()
}
@@ -66,7 +65,6 @@ internal class CardUpdateParamsTest {
.build()
)
.entityId("entity_id")
- .pin("xxxx")
.status(CardUpdateParams.Status.ACTIVE)
.build()
@@ -92,7 +90,6 @@ internal class CardUpdateParamsTest {
.build()
)
assertThat(body.entityId()).contains("entity_id")
- assertThat(body.pin()).contains("xxxx")
assertThat(body.status()).contains(CardUpdateParams.Status.ACTIVE)
}
diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/carddetails/CardDetailUpdateParamsTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardUpdatePinParamsTest.kt
similarity index 58%
rename from increase-java-core/src/test/kotlin/com/increase/api/models/carddetails/CardDetailUpdateParamsTest.kt
rename to increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardUpdatePinParamsTest.kt
index 0868c5287..5ef05d15d 100644
--- a/increase-java-core/src/test/kotlin/com/increase/api/models/carddetails/CardDetailUpdateParamsTest.kt
+++ b/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardUpdatePinParamsTest.kt
@@ -1,21 +1,21 @@
// File generated from our OpenAPI spec by Stainless.
-package com.increase.api.models.carddetails
+package com.increase.api.models.cards
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Test
-internal class CardDetailUpdateParamsTest {
+internal class CardUpdatePinParamsTest {
@Test
fun create() {
- CardDetailUpdateParams.builder().cardId("card_oubs0hwk5rn6knuecxg2").pin("1234").build()
+ CardUpdatePinParams.builder().cardId("card_oubs0hwk5rn6knuecxg2").pin("1234").build()
}
@Test
fun pathParams() {
val params =
- CardDetailUpdateParams.builder().cardId("card_oubs0hwk5rn6knuecxg2").pin("1234").build()
+ CardUpdatePinParams.builder().cardId("card_oubs0hwk5rn6knuecxg2").pin("1234").build()
assertThat(params._pathParam(0)).isEqualTo("card_oubs0hwk5rn6knuecxg2")
// out-of-bound path param
@@ -25,7 +25,7 @@ internal class CardDetailUpdateParamsTest {
@Test
fun body() {
val params =
- CardDetailUpdateParams.builder().cardId("card_oubs0hwk5rn6knuecxg2").pin("1234").build()
+ CardUpdatePinParams.builder().cardId("card_oubs0hwk5rn6knuecxg2").pin("1234").build()
val body = params._body()
diff --git a/increase-java-core/src/test/kotlin/com/increase/api/services/async/CardDetailServiceAsyncTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/services/async/CardDetailServiceAsyncTest.kt
deleted file mode 100644
index 8b9fb2621..000000000
--- a/increase-java-core/src/test/kotlin/com/increase/api/services/async/CardDetailServiceAsyncTest.kt
+++ /dev/null
@@ -1,71 +0,0 @@
-// File generated from our OpenAPI spec by Stainless.
-
-package com.increase.api.services.async
-
-import com.increase.api.TestServerExtension
-import com.increase.api.client.okhttp.IncreaseOkHttpClientAsync
-import com.increase.api.models.carddetails.CardDetailCreateDetailsIframeParams
-import com.increase.api.models.carddetails.CardDetailUpdateParams
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.extension.ExtendWith
-
-@ExtendWith(TestServerExtension::class)
-internal class CardDetailServiceAsyncTest {
-
- @Test
- fun update() {
- val client =
- IncreaseOkHttpClientAsync.builder()
- .baseUrl(TestServerExtension.BASE_URL)
- .apiKey("My API Key")
- .build()
- val cardDetailServiceAsync = client.cardDetails()
-
- val cardDetailsFuture =
- cardDetailServiceAsync.update(
- CardDetailUpdateParams.builder()
- .cardId("card_oubs0hwk5rn6knuecxg2")
- .pin("1234")
- .build()
- )
-
- val cardDetails = cardDetailsFuture.get()
- cardDetails.validate()
- }
-
- @Test
- fun createDetailsIframe() {
- val client =
- IncreaseOkHttpClientAsync.builder()
- .baseUrl(TestServerExtension.BASE_URL)
- .apiKey("My API Key")
- .build()
- val cardDetailServiceAsync = client.cardDetails()
-
- val cardIframeUrlFuture =
- cardDetailServiceAsync.createDetailsIframe(
- CardDetailCreateDetailsIframeParams.builder()
- .cardId("card_oubs0hwk5rn6knuecxg2")
- .physicalCardId("physical_card_id")
- .build()
- )
-
- val cardIframeUrl = cardIframeUrlFuture.get()
- cardIframeUrl.validate()
- }
-
- @Test
- fun details() {
- val client =
- IncreaseOkHttpClientAsync.builder()
- .baseUrl(TestServerExtension.BASE_URL)
- .apiKey("My API Key")
- .build()
- val cardDetailServiceAsync = client.cardDetails()
-
- val cardDetailsFuture = cardDetailServiceAsync.details("card_oubs0hwk5rn6knuecxg2")
-
- val cardDetails = cardDetailsFuture.get()
- cardDetails.validate()
- }
-}
diff --git a/increase-java-core/src/test/kotlin/com/increase/api/services/async/CardServiceAsyncTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/services/async/CardServiceAsyncTest.kt
index 6e8899062..b2de39ef1 100644
--- a/increase-java-core/src/test/kotlin/com/increase/api/services/async/CardServiceAsyncTest.kt
+++ b/increase-java-core/src/test/kotlin/com/increase/api/services/async/CardServiceAsyncTest.kt
@@ -4,8 +4,10 @@ package com.increase.api.services.async
import com.increase.api.TestServerExtension
import com.increase.api.client.okhttp.IncreaseOkHttpClientAsync
+import com.increase.api.models.cards.CardCreateDetailsIframeParams
import com.increase.api.models.cards.CardCreateParams
import com.increase.api.models.cards.CardUpdateParams
+import com.increase.api.models.cards.CardUpdatePinParams
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.ExtendWith
@@ -96,7 +98,6 @@ internal class CardServiceAsyncTest {
.build()
)
.entityId("entity_id")
- .pin("xxxx")
.status(CardUpdateParams.Status.ACTIVE)
.build()
)
@@ -119,4 +120,61 @@ internal class CardServiceAsyncTest {
val page = pageFuture.get()
page.response().validate()
}
+
+ @Test
+ fun createDetailsIframe() {
+ val client =
+ IncreaseOkHttpClientAsync.builder()
+ .baseUrl(TestServerExtension.BASE_URL)
+ .apiKey("My API Key")
+ .build()
+ val cardServiceAsync = client.cards()
+
+ val cardIframeUrlFuture =
+ cardServiceAsync.createDetailsIframe(
+ CardCreateDetailsIframeParams.builder()
+ .cardId("card_oubs0hwk5rn6knuecxg2")
+ .physicalCardId("physical_card_id")
+ .build()
+ )
+
+ val cardIframeUrl = cardIframeUrlFuture.get()
+ cardIframeUrl.validate()
+ }
+
+ @Test
+ fun details() {
+ val client =
+ IncreaseOkHttpClientAsync.builder()
+ .baseUrl(TestServerExtension.BASE_URL)
+ .apiKey("My API Key")
+ .build()
+ val cardServiceAsync = client.cards()
+
+ val cardDetailsFuture = cardServiceAsync.details("card_oubs0hwk5rn6knuecxg2")
+
+ val cardDetails = cardDetailsFuture.get()
+ cardDetails.validate()
+ }
+
+ @Test
+ fun updatePin() {
+ val client =
+ IncreaseOkHttpClientAsync.builder()
+ .baseUrl(TestServerExtension.BASE_URL)
+ .apiKey("My API Key")
+ .build()
+ val cardServiceAsync = client.cards()
+
+ val cardDetailsFuture =
+ cardServiceAsync.updatePin(
+ CardUpdatePinParams.builder()
+ .cardId("card_oubs0hwk5rn6knuecxg2")
+ .pin("1234")
+ .build()
+ )
+
+ val cardDetails = cardDetailsFuture.get()
+ cardDetails.validate()
+ }
}
diff --git a/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/CardDetailServiceTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/CardDetailServiceTest.kt
deleted file mode 100644
index 8be2ab0cf..000000000
--- a/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/CardDetailServiceTest.kt
+++ /dev/null
@@ -1,68 +0,0 @@
-// File generated from our OpenAPI spec by Stainless.
-
-package com.increase.api.services.blocking
-
-import com.increase.api.TestServerExtension
-import com.increase.api.client.okhttp.IncreaseOkHttpClient
-import com.increase.api.models.carddetails.CardDetailCreateDetailsIframeParams
-import com.increase.api.models.carddetails.CardDetailUpdateParams
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.extension.ExtendWith
-
-@ExtendWith(TestServerExtension::class)
-internal class CardDetailServiceTest {
-
- @Test
- fun update() {
- val client =
- IncreaseOkHttpClient.builder()
- .baseUrl(TestServerExtension.BASE_URL)
- .apiKey("My API Key")
- .build()
- val cardDetailService = client.cardDetails()
-
- val cardDetails =
- cardDetailService.update(
- CardDetailUpdateParams.builder()
- .cardId("card_oubs0hwk5rn6knuecxg2")
- .pin("1234")
- .build()
- )
-
- cardDetails.validate()
- }
-
- @Test
- fun createDetailsIframe() {
- val client =
- IncreaseOkHttpClient.builder()
- .baseUrl(TestServerExtension.BASE_URL)
- .apiKey("My API Key")
- .build()
- val cardDetailService = client.cardDetails()
-
- val cardIframeUrl =
- cardDetailService.createDetailsIframe(
- CardDetailCreateDetailsIframeParams.builder()
- .cardId("card_oubs0hwk5rn6knuecxg2")
- .physicalCardId("physical_card_id")
- .build()
- )
-
- cardIframeUrl.validate()
- }
-
- @Test
- fun details() {
- val client =
- IncreaseOkHttpClient.builder()
- .baseUrl(TestServerExtension.BASE_URL)
- .apiKey("My API Key")
- .build()
- val cardDetailService = client.cardDetails()
-
- val cardDetails = cardDetailService.details("card_oubs0hwk5rn6knuecxg2")
-
- cardDetails.validate()
- }
-}
diff --git a/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/CardServiceTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/CardServiceTest.kt
index d5c72bc46..5a011ed22 100644
--- a/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/CardServiceTest.kt
+++ b/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/CardServiceTest.kt
@@ -4,8 +4,10 @@ package com.increase.api.services.blocking
import com.increase.api.TestServerExtension
import com.increase.api.client.okhttp.IncreaseOkHttpClient
+import com.increase.api.models.cards.CardCreateDetailsIframeParams
import com.increase.api.models.cards.CardCreateParams
import com.increase.api.models.cards.CardUpdateParams
+import com.increase.api.models.cards.CardUpdatePinParams
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.ExtendWith
@@ -94,7 +96,6 @@ internal class CardServiceTest {
.build()
)
.entityId("entity_id")
- .pin("xxxx")
.status(CardUpdateParams.Status.ACTIVE)
.build()
)
@@ -115,4 +116,58 @@ internal class CardServiceTest {
page.response().validate()
}
+
+ @Test
+ fun createDetailsIframe() {
+ val client =
+ IncreaseOkHttpClient.builder()
+ .baseUrl(TestServerExtension.BASE_URL)
+ .apiKey("My API Key")
+ .build()
+ val cardService = client.cards()
+
+ val cardIframeUrl =
+ cardService.createDetailsIframe(
+ CardCreateDetailsIframeParams.builder()
+ .cardId("card_oubs0hwk5rn6knuecxg2")
+ .physicalCardId("physical_card_id")
+ .build()
+ )
+
+ cardIframeUrl.validate()
+ }
+
+ @Test
+ fun details() {
+ val client =
+ IncreaseOkHttpClient.builder()
+ .baseUrl(TestServerExtension.BASE_URL)
+ .apiKey("My API Key")
+ .build()
+ val cardService = client.cards()
+
+ val cardDetails = cardService.details("card_oubs0hwk5rn6knuecxg2")
+
+ cardDetails.validate()
+ }
+
+ @Test
+ fun updatePin() {
+ val client =
+ IncreaseOkHttpClient.builder()
+ .baseUrl(TestServerExtension.BASE_URL)
+ .apiKey("My API Key")
+ .build()
+ val cardService = client.cards()
+
+ val cardDetails =
+ cardService.updatePin(
+ CardUpdatePinParams.builder()
+ .cardId("card_oubs0hwk5rn6knuecxg2")
+ .pin("1234")
+ .build()
+ )
+
+ cardDetails.validate()
+ }
}
diff --git a/increase-java-proguard-test/src/test/kotlin/com/increase/api/proguard/ProGuardCompatibilityTest.kt b/increase-java-proguard-test/src/test/kotlin/com/increase/api/proguard/ProGuardCompatibilityTest.kt
index 1892cf456..3e72bd6f1 100644
--- a/increase-java-proguard-test/src/test/kotlin/com/increase/api/proguard/ProGuardCompatibilityTest.kt
+++ b/increase-java-proguard-test/src/test/kotlin/com/increase/api/proguard/ProGuardCompatibilityTest.kt
@@ -53,7 +53,6 @@ internal class ProGuardCompatibilityTest {
assertThat(client.accountNumbers()).isNotNull()
assertThat(client.accountTransfers()).isNotNull()
assertThat(client.cards()).isNotNull()
- assertThat(client.cardDetails()).isNotNull()
assertThat(client.cardPayments()).isNotNull()
assertThat(client.cardPurchaseSupplements()).isNotNull()
assertThat(client.physicalCards()).isNotNull()