Skip to content

Commit

Permalink
Add transaction_id to SEP-12 requests (#134)
Browse files Browse the repository at this point in the history
* Add `transaction_id` to SEP-12 requests

* Formatting
  • Loading branch information
philipliu authored Jun 12, 2024
1 parent 13e0975 commit 6c2f855
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ val jvmVersion = JavaVersion.VERSION_11

allprojects {
group = "org.stellar.wallet-sdk"
version = "1.6.0"
version = "1.7.0-SNAPSHOT"
}

subprojects {
Expand Down
12 changes: 12 additions & 0 deletions wallet-sdk/src/main/kotlin/org/stellar/walletsdk/customer/Sep12.kt
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,16 @@ internal constructor(
* @param type (optional) the type of action the customer is being KYCd for.
* @param lang (optional) Defaults to en. Language code specified using ISO 639-1. Human-readable
* descriptions, choices, and messages should be in this language.
* @param transactionId (optional) the ID of the transaction that the customer is being KYC'ed
* for.
* @return a customer data object
*/
suspend fun get(
id: String? = null,
memo: ULong? = null,
type: String? = null,
lang: String? = null,
transactionId: String? = null,
): GetCustomerResponse {
validateMemo(memo)

Expand All @@ -42,6 +45,7 @@ internal constructor(
urlBuilder.addParameter("memo", memo?.toString())
urlBuilder.addParameter("type", type)
urlBuilder.addParameter("lang", lang)
urlBuilder.addParameter("transaction_id", transactionId)
val urlString = urlBuilder.buildString()

val response = httpClient.authGet<GetCustomerResponse>(urlString, token)
Expand Down Expand Up @@ -69,19 +73,23 @@ internal constructor(
* @param memo (optional) the client-generated memo of type ID that uniquely identifies the
* customer. If a memo is present in the decoded SEP-10 JWT's sub value, it must match this
* parameter value.
* @param transactionId (optional) the ID of the transaction that the customer is being KYC'ed
* for.
* @return a customer with id information
*/
suspend fun add(
sep9Info: Map<String, String>,
memo: ULong? = null,
type: String? = null,
transactionId: String? = null,
): AddCustomerResponse {
val customer: MutableMap<String, String> = mutableMapOf()

populateMap(type, customer, memo, sep9Info)

val urlBuilder = URLBuilder(baseUrl)
urlBuilder.appendPathSegments("customer")
urlBuilder.addParameter("transaction_id", transactionId)
val urlString = urlBuilder.buildString()

return httpClient.putJson(urlString, customer.toMap(), token)
Expand All @@ -98,13 +106,16 @@ internal constructor(
* @param memo (optional) the client-generated memo of type ID that uniquely identifies the
* customer. If a memo is present in the decoded SEP-10 JWT's sub value, it must match this
* parameter value.
* @param transactionId (optional) the ID of the transaction that the customer is being KYC'ed
* for.
* @return a customer with id information
*/
suspend fun update(
sep9Info: Map<String, String>,
id: String,
type: String? = null,
memo: ULong? = null,
transactionId: String? = null,
): AddCustomerResponse {
val customer: MutableMap<String, String> = mutableMapOf("id" to id)

Expand All @@ -116,6 +127,7 @@ internal constructor(

val urlBuilder = URLBuilder(baseUrl)
urlBuilder.appendPathSegments("customer")
urlBuilder.addParameter("transaction_id", transactionId)
val urlString = urlBuilder.buildString()

return httpClient.putJson(urlString, customer.toMap(), token)
Expand Down

0 comments on commit 6c2f855

Please sign in to comment.