summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntoine A <>2024-02-13 21:20:48 +0100
committerAntoine A <>2024-02-13 21:20:48 +0100
commit5a5da42eb8bed68e1aa1ca00a9484bb6717edcfd (patch)
tree7dcc2c86e899c69be73c63d583c319fe0012835a
parent3d1dfce83bf74917886a5f3cc55aa7f97b74aac4 (diff)
downloadlibeufin-5a5da42eb8bed68e1aa1ca00a9484bb6717edcfd.tar.gz
libeufin-5a5da42eb8bed68e1aa1ca00a9484bb6717edcfd.tar.bz2
libeufin-5a5da42eb8bed68e1aa1ca00a9484bb6717edcfd.zip
Improve unknown creditor account logs
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/CoreBankApi.kt5
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/Error.kt7
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/WireGatewayApi.kt5
3 files changed, 9 insertions, 8 deletions
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/CoreBankApi.kt b/bank/src/main/kotlin/tech/libeufin/bank/CoreBankApi.kt
index 5d7646ce..11508407 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/CoreBankApi.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/CoreBankApi.kt
@@ -468,10 +468,7 @@ private fun Routing.coreBankTransactionsApi(db: Database, ctx: BankConfig) {
"Wire transfer attempted with credit and debit party being the same bank account",
TalerErrorCode.BANK_SAME_ACCOUNT
)
- BankTransactionResult.UnknownCreditor -> throw conflict(
- "Creditor account was not found",
- TalerErrorCode.BANK_UNKNOWN_CREDITOR
- )
+ BankTransactionResult.UnknownCreditor -> throw unknownCreditorAccount(req.payto_uri.canonical)
BankTransactionResult.AdminCreditor -> throw conflict(
"Cannot transfer money to admin account",
TalerErrorCode.BANK_ADMIN_CREDITOR
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/Error.kt b/bank/src/main/kotlin/tech/libeufin/bank/Error.kt
index f6c83224..18735633 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/Error.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/Error.kt
@@ -153,6 +153,13 @@ fun unknownAccount(id: String): LibeufinException {
)
}
+fun unknownCreditorAccount(id: String): LibeufinException {
+ return conflict(
+ "Creditor account '$id' not found",
+ TalerErrorCode.BANK_UNKNOWN_CREDITOR
+ )
+}
+
fun unsupportedTanChannel(channel: TanChannel): LibeufinException {
return conflict(
"Unsupported tan channel $channel",
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/WireGatewayApi.kt b/bank/src/main/kotlin/tech/libeufin/bank/WireGatewayApi.kt
index 92a0390d..f1a6a880 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/WireGatewayApi.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/WireGatewayApi.kt
@@ -60,10 +60,7 @@ fun Routing.wireGatewayApi(db: Database, ctx: BankConfig) {
"$username is not an exchange account.",
TalerErrorCode.BANK_ACCOUNT_IS_NOT_EXCHANGE
)
- is TransferResult.UnknownCreditor -> throw conflict(
- "Creditor account was not found",
- TalerErrorCode.BANK_UNKNOWN_CREDITOR
- )
+ is TransferResult.UnknownCreditor -> throw unknownCreditorAccount(req.credit_account.canonical)
is TransferResult.BothPartyAreExchange -> throw conflict(
"Wire transfer attempted with credit and debit party being both exchange account",
TalerErrorCode.BANK_ACCOUNT_IS_EXCHANGE