Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ constructor(
private val type: Type,
private val accountToken: String?,
private val isForBenefitOf: Boolean?,
private val idempotencyKey: String?,
private val additionalHeaders: Headers,
private val additionalQueryParams: QueryParams,
private val additionalBodyProperties: Map<String, JsonValue>,
Expand All @@ -39,6 +40,8 @@ constructor(

fun isForBenefitOf(): Optional<Boolean> = Optional.ofNullable(isForBenefitOf)

fun idempotencyKey(): Optional<String> = Optional.ofNullable(idempotencyKey)

@JvmSynthetic
internal fun getBody(): FinancialAccountCreateBody {
return FinancialAccountCreateBody(
Expand All @@ -50,7 +53,13 @@ constructor(
)
}

@JvmSynthetic internal fun getHeaders(): Headers = additionalHeaders
@JvmSynthetic
internal fun getHeaders(): Headers {
val headers = Headers.builder()
this.idempotencyKey?.let { headers.put("Idempotency-Key", listOf(it.toString())) }
headers.putAll(additionalHeaders)
return headers.build()
}

@JvmSynthetic internal fun getQueryParams(): QueryParams = additionalQueryParams

Expand Down Expand Up @@ -170,15 +179,15 @@ constructor(
return true
}

return /* spotless:off */ other is FinancialAccountCreateParams && this.nickname == other.nickname && this.type == other.type && this.accountToken == other.accountToken && this.isForBenefitOf == other.isForBenefitOf && this.additionalHeaders == other.additionalHeaders && this.additionalQueryParams == other.additionalQueryParams && this.additionalBodyProperties == other.additionalBodyProperties /* spotless:on */
return /* spotless:off */ other is FinancialAccountCreateParams && this.nickname == other.nickname && this.type == other.type && this.accountToken == other.accountToken && this.isForBenefitOf == other.isForBenefitOf && this.idempotencyKey == other.idempotencyKey && this.additionalHeaders == other.additionalHeaders && this.additionalQueryParams == other.additionalQueryParams && this.additionalBodyProperties == other.additionalBodyProperties /* spotless:on */
}

override fun hashCode(): Int {
return /* spotless:off */ Objects.hash(nickname, type, accountToken, isForBenefitOf, additionalHeaders, additionalQueryParams, additionalBodyProperties) /* spotless:on */
return /* spotless:off */ Objects.hash(nickname, type, accountToken, isForBenefitOf, idempotencyKey, additionalHeaders, additionalQueryParams, additionalBodyProperties) /* spotless:on */
}

override fun toString() =
"FinancialAccountCreateParams{nickname=$nickname, type=$type, accountToken=$accountToken, isForBenefitOf=$isForBenefitOf, additionalHeaders=$additionalHeaders, additionalQueryParams=$additionalQueryParams, additionalBodyProperties=$additionalBodyProperties}"
"FinancialAccountCreateParams{nickname=$nickname, type=$type, accountToken=$accountToken, isForBenefitOf=$isForBenefitOf, idempotencyKey=$idempotencyKey, additionalHeaders=$additionalHeaders, additionalQueryParams=$additionalQueryParams, additionalBodyProperties=$additionalBodyProperties}"

fun toBuilder() = Builder().from(this)

Expand All @@ -194,6 +203,7 @@ constructor(
private var type: Type? = null
private var accountToken: String? = null
private var isForBenefitOf: Boolean? = null
private var idempotencyKey: String? = null
private var additionalHeaders: Headers.Builder = Headers.builder()
private var additionalQueryParams: QueryParams.Builder = QueryParams.builder()
private var additionalBodyProperties: MutableMap<String, JsonValue> = mutableMapOf()
Expand All @@ -204,6 +214,7 @@ constructor(
this.type = financialAccountCreateParams.type
this.accountToken = financialAccountCreateParams.accountToken
this.isForBenefitOf = financialAccountCreateParams.isForBenefitOf
this.idempotencyKey = financialAccountCreateParams.idempotencyKey
additionalHeaders(financialAccountCreateParams.additionalHeaders)
additionalQueryParams(financialAccountCreateParams.additionalQueryParams)
additionalBodyProperties(financialAccountCreateParams.additionalBodyProperties)
Expand All @@ -217,6 +228,8 @@ constructor(

fun isForBenefitOf(isForBenefitOf: Boolean) = apply { this.isForBenefitOf = isForBenefitOf }

fun idempotencyKey(idempotencyKey: String) = apply { this.idempotencyKey = idempotencyKey }

fun additionalHeaders(additionalHeaders: Headers) = apply {
this.additionalHeaders.clear()
putAllAdditionalHeaders(additionalHeaders)
Expand Down Expand Up @@ -343,6 +356,7 @@ constructor(
checkNotNull(type) { "`type` is required but was not set" },
accountToken,
isForBenefitOf,
idempotencyKey,
additionalHeaders.build(),
additionalQueryParams.build(),
additionalBodyProperties.toImmutable(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ class FinancialAccountCreateParamsTest {
.type(FinancialAccountCreateParams.Type.OPERATING)
.accountToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.isForBenefitOf(true)
.idempotencyKey("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.build()
}

Expand All @@ -26,6 +27,7 @@ class FinancialAccountCreateParamsTest {
.type(FinancialAccountCreateParams.Type.OPERATING)
.accountToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.isForBenefitOf(true)
.idempotencyKey("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.build()
val body = params.getBody()
assertThat(body).isNotNull
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ class FinancialAccountServiceTest {
.type(FinancialAccountCreateParams.Type.OPERATING)
.accountToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.isForBenefitOf(true)
.idempotencyKey("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.build()
)
println(financialAccount)
Expand Down