diff options
author | Antoine A <> | 2024-04-26 13:28:41 +0900 |
---|---|---|
committer | Antoine A <> | 2024-04-26 13:29:00 +0900 |
commit | c73f750472139b7ec872c1bf16a284de143ef998 (patch) | |
tree | 2365056b2969bb828b336983ec276eb004972b02 /nexus/src/main/kotlin | |
parent | e1e8a3b2e28321a56ddc0206b7485e754e6f8f77 (diff) | |
download | libeufin-c73f750472139b7ec872c1bf16a284de143ef998.tar.gz libeufin-c73f750472139b7ec872c1bf16a284de143ef998.tar.bz2 libeufin-c73f750472139b7ec872c1bf16a284de143ef998.zip |
Unify payto logic
Diffstat (limited to 'nexus/src/main/kotlin')
-rw-r--r-- | nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt | 8 | ||||
-rw-r--r-- | nexus/src/main/kotlin/tech/libeufin/nexus/api/WireGatewayApi.kt | 15 |
2 files changed, 7 insertions, 16 deletions
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt index 192d7375..2cf6edff 100644 --- a/nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt +++ b/nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt @@ -300,13 +300,9 @@ data class OutgoingPayment( private fun XmlDestructor.payto(prefix: String): String? { val iban = opt("${prefix}Acct")?.one("Id")?.one("IBAN")?.text() return if (iban != null) { - val payto = StringBuilder("payto://iban/$iban") val name = opt(prefix) { opt("Nm")?.text() ?: opt("Pty")?.one("Nm")?.text() } - if (name != null) { - val urlEncName = URLEncoder.encode(name, "utf-8") - payto.append("?receiver-name=$urlEncName") - } - return payto.toString() + // Parse bic ? + IbanPayto.build(iban, null, name) } else { null } diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/api/WireGatewayApi.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/api/WireGatewayApi.kt index 877101b2..54dae351 100644 --- a/nexus/src/main/kotlin/tech/libeufin/nexus/api/WireGatewayApi.kt +++ b/nexus/src/main/kotlin/tech/libeufin/nexus/api/WireGatewayApi.kt @@ -66,28 +66,23 @@ fun Routing.wireGatewayApi(db: Database, cfg: NexusConfig) { ) } } - /*suspend fun <T> PipelineContext<Unit, ApplicationCall>.historyEndpoint( + /* + suspend fun <T> PipelineContext<Unit, ApplicationCall>.historyEndpoint( reduce: (List<T>, String) -> Any, dbLambda: suspend ExchangeDAO.(HistoryParams, Long, BankPaytoCtx) -> List<T> ) { val params = HistoryParams.extract(context.request.queryParameters) val bankAccount = call.bankInfo(db, ctx.payto) - - if (!bankAccount.isTalerExchange) - throw conflict( - "$username is not an exchange account.", - TalerErrorCode.BANK_ACCOUNT_IS_NOT_EXCHANGE - ) val items = db.exchange.dbLambda(params, bankAccount.bankAccountId, ctx.payto) - + val if (items.isEmpty()) { call.respond(HttpStatusCode.NoContent) } else { call.respond(reduce(items, bankAccount.payto)) } - }*/ - /*get("/taler-wire-gateway/history/incoming") { + } + get("/taler-wire-gateway/history/incoming") { historyEndpoint(::IncomingHistory, ExchangeDAO::incomingHistory) } get("/taler-wire-gateway/history/outgoing") { |