Skip to content

Commit 767ea0d

Browse files
feat(api): add retrieve signals method to accounts and cards
1 parent f5d17dc commit 767ea0d

19 files changed

Lines changed: 3277 additions & 3 deletions

.stats.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 191
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-af9701d01abffc53ba2bf56c06415d893460e6b420f122e602cf4afe67bbf57b.yml
1+
configured_endpoints: 193
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-00f07b0edcc0c3c5ef79920ced7f58dac2434df5e4c27ff6041783e8228315f9.yml
33
openapi_spec_hash: 963688b09480159a06865075c94a2577
4-
config_hash: 01dfc901bb6d54b0f582155d779bcbe0
4+
config_hash: 265a2b679964f4ad5706de101ad2a942
Lines changed: 205 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,205 @@
1+
// File generated from our OpenAPI spec by Stainless.
2+
3+
package com.lithic.api.models
4+
5+
import com.lithic.api.core.Params
6+
import com.lithic.api.core.http.Headers
7+
import com.lithic.api.core.http.QueryParams
8+
import java.util.Objects
9+
import java.util.Optional
10+
import kotlin.jvm.optionals.getOrNull
11+
12+
/**
13+
* Returns behavioral feature state derived from an account's transaction history.
14+
*
15+
* These signals expose the same data used by behavioral rule attributes (e.g. `AMOUNT_Z_SCORE` with
16+
* `scope: ACCOUNT`, `IS_NEW_COUNTRY` with `scope: ACCOUNT`) and custom code
17+
* `TRANSACTION_HISTORY_SIGNALS` features, allowing clients to inspect feature values before writing
18+
* rules and debug rule behavior.
19+
*
20+
* Note: 3DS fields are not available at the account scope and will be null.
21+
*/
22+
class AccountRetrieveSignalsParams
23+
private constructor(
24+
private val accountToken: String?,
25+
private val additionalHeaders: Headers,
26+
private val additionalQueryParams: QueryParams,
27+
) : Params {
28+
29+
fun accountToken(): Optional<String> = Optional.ofNullable(accountToken)
30+
31+
/** Additional headers to send with the request. */
32+
fun _additionalHeaders(): Headers = additionalHeaders
33+
34+
/** Additional query param to send with the request. */
35+
fun _additionalQueryParams(): QueryParams = additionalQueryParams
36+
37+
fun toBuilder() = Builder().from(this)
38+
39+
companion object {
40+
41+
@JvmStatic fun none(): AccountRetrieveSignalsParams = builder().build()
42+
43+
/**
44+
* Returns a mutable builder for constructing an instance of [AccountRetrieveSignalsParams].
45+
*/
46+
@JvmStatic fun builder() = Builder()
47+
}
48+
49+
/** A builder for [AccountRetrieveSignalsParams]. */
50+
class Builder internal constructor() {
51+
52+
private var accountToken: String? = null
53+
private var additionalHeaders: Headers.Builder = Headers.builder()
54+
private var additionalQueryParams: QueryParams.Builder = QueryParams.builder()
55+
56+
@JvmSynthetic
57+
internal fun from(accountRetrieveSignalsParams: AccountRetrieveSignalsParams) = apply {
58+
accountToken = accountRetrieveSignalsParams.accountToken
59+
additionalHeaders = accountRetrieveSignalsParams.additionalHeaders.toBuilder()
60+
additionalQueryParams = accountRetrieveSignalsParams.additionalQueryParams.toBuilder()
61+
}
62+
63+
fun accountToken(accountToken: String?) = apply { this.accountToken = accountToken }
64+
65+
/** Alias for calling [Builder.accountToken] with `accountToken.orElse(null)`. */
66+
fun accountToken(accountToken: Optional<String>) = accountToken(accountToken.getOrNull())
67+
68+
fun additionalHeaders(additionalHeaders: Headers) = apply {
69+
this.additionalHeaders.clear()
70+
putAllAdditionalHeaders(additionalHeaders)
71+
}
72+
73+
fun additionalHeaders(additionalHeaders: Map<String, Iterable<String>>) = apply {
74+
this.additionalHeaders.clear()
75+
putAllAdditionalHeaders(additionalHeaders)
76+
}
77+
78+
fun putAdditionalHeader(name: String, value: String) = apply {
79+
additionalHeaders.put(name, value)
80+
}
81+
82+
fun putAdditionalHeaders(name: String, values: Iterable<String>) = apply {
83+
additionalHeaders.put(name, values)
84+
}
85+
86+
fun putAllAdditionalHeaders(additionalHeaders: Headers) = apply {
87+
this.additionalHeaders.putAll(additionalHeaders)
88+
}
89+
90+
fun putAllAdditionalHeaders(additionalHeaders: Map<String, Iterable<String>>) = apply {
91+
this.additionalHeaders.putAll(additionalHeaders)
92+
}
93+
94+
fun replaceAdditionalHeaders(name: String, value: String) = apply {
95+
additionalHeaders.replace(name, value)
96+
}
97+
98+
fun replaceAdditionalHeaders(name: String, values: Iterable<String>) = apply {
99+
additionalHeaders.replace(name, values)
100+
}
101+
102+
fun replaceAllAdditionalHeaders(additionalHeaders: Headers) = apply {
103+
this.additionalHeaders.replaceAll(additionalHeaders)
104+
}
105+
106+
fun replaceAllAdditionalHeaders(additionalHeaders: Map<String, Iterable<String>>) = apply {
107+
this.additionalHeaders.replaceAll(additionalHeaders)
108+
}
109+
110+
fun removeAdditionalHeaders(name: String) = apply { additionalHeaders.remove(name) }
111+
112+
fun removeAllAdditionalHeaders(names: Set<String>) = apply {
113+
additionalHeaders.removeAll(names)
114+
}
115+
116+
fun additionalQueryParams(additionalQueryParams: QueryParams) = apply {
117+
this.additionalQueryParams.clear()
118+
putAllAdditionalQueryParams(additionalQueryParams)
119+
}
120+
121+
fun additionalQueryParams(additionalQueryParams: Map<String, Iterable<String>>) = apply {
122+
this.additionalQueryParams.clear()
123+
putAllAdditionalQueryParams(additionalQueryParams)
124+
}
125+
126+
fun putAdditionalQueryParam(key: String, value: String) = apply {
127+
additionalQueryParams.put(key, value)
128+
}
129+
130+
fun putAdditionalQueryParams(key: String, values: Iterable<String>) = apply {
131+
additionalQueryParams.put(key, values)
132+
}
133+
134+
fun putAllAdditionalQueryParams(additionalQueryParams: QueryParams) = apply {
135+
this.additionalQueryParams.putAll(additionalQueryParams)
136+
}
137+
138+
fun putAllAdditionalQueryParams(additionalQueryParams: Map<String, Iterable<String>>) =
139+
apply {
140+
this.additionalQueryParams.putAll(additionalQueryParams)
141+
}
142+
143+
fun replaceAdditionalQueryParams(key: String, value: String) = apply {
144+
additionalQueryParams.replace(key, value)
145+
}
146+
147+
fun replaceAdditionalQueryParams(key: String, values: Iterable<String>) = apply {
148+
additionalQueryParams.replace(key, values)
149+
}
150+
151+
fun replaceAllAdditionalQueryParams(additionalQueryParams: QueryParams) = apply {
152+
this.additionalQueryParams.replaceAll(additionalQueryParams)
153+
}
154+
155+
fun replaceAllAdditionalQueryParams(additionalQueryParams: Map<String, Iterable<String>>) =
156+
apply {
157+
this.additionalQueryParams.replaceAll(additionalQueryParams)
158+
}
159+
160+
fun removeAdditionalQueryParams(key: String) = apply { additionalQueryParams.remove(key) }
161+
162+
fun removeAllAdditionalQueryParams(keys: Set<String>) = apply {
163+
additionalQueryParams.removeAll(keys)
164+
}
165+
166+
/**
167+
* Returns an immutable instance of [AccountRetrieveSignalsParams].
168+
*
169+
* Further updates to this [Builder] will not mutate the returned instance.
170+
*/
171+
fun build(): AccountRetrieveSignalsParams =
172+
AccountRetrieveSignalsParams(
173+
accountToken,
174+
additionalHeaders.build(),
175+
additionalQueryParams.build(),
176+
)
177+
}
178+
179+
fun _pathParam(index: Int): String =
180+
when (index) {
181+
0 -> accountToken ?: ""
182+
else -> ""
183+
}
184+
185+
override fun _headers(): Headers = additionalHeaders
186+
187+
override fun _queryParams(): QueryParams = additionalQueryParams
188+
189+
override fun equals(other: Any?): Boolean {
190+
if (this === other) {
191+
return true
192+
}
193+
194+
return other is AccountRetrieveSignalsParams &&
195+
accountToken == other.accountToken &&
196+
additionalHeaders == other.additionalHeaders &&
197+
additionalQueryParams == other.additionalQueryParams
198+
}
199+
200+
override fun hashCode(): Int =
201+
Objects.hash(accountToken, additionalHeaders, additionalQueryParams)
202+
203+
override fun toString() =
204+
"AccountRetrieveSignalsParams{accountToken=$accountToken, additionalHeaders=$additionalHeaders, additionalQueryParams=$additionalQueryParams}"
205+
}

0 commit comments

Comments
 (0)