summaryrefslogtreecommitdiff
path: root/nexus/src/main/kotlin
diff options
context:
space:
mode:
authorAntoine A <>2024-04-26 13:28:41 +0900
committerAntoine A <>2024-04-26 13:29:00 +0900
commitc73f750472139b7ec872c1bf16a284de143ef998 (patch)
tree2365056b2969bb828b336983ec276eb004972b02 /nexus/src/main/kotlin
parente1e8a3b2e28321a56ddc0206b7485e754e6f8f77 (diff)
downloadlibeufin-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.kt8
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/api/WireGatewayApi.kt15
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") {