[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libeufin] branch master updated: Avoid persisting the balance.
From: |
gnunet |
Subject: |
[libeufin] branch master updated: Avoid persisting the balance. |
Date: |
Wed, 20 Oct 2021 13:49:21 +0200 |
This is an automated email from the git hooks/post-receive script.
ms pushed a commit to branch master
in repository libeufin.
The following commit(s) were added to refs/heads/master by this push:
new 59bda83 Avoid persisting the balance.
59bda83 is described below
commit 59bda835da5c868f0c8be06df72a30542935d6d8
Author: ms <ms@taler.net>
AuthorDate: Wed Oct 20 13:49:02 2021 +0200
Avoid persisting the balance.
---
sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt | 4 ----
.../src/main/kotlin/tech/libeufin/sandbox/Helpers.kt | 7 ++++++-
sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt | 19 ++++++++++---------
3 files changed, 16 insertions(+), 14 deletions(-)
diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt
b/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt
index d164700..4aaac47 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt
@@ -171,8 +171,6 @@ object EbicsSubscribersTable : IntIdTable() {
val authenticationKey = reference("authorizationKey",
EbicsSubscriberPublicKeysTable).nullable()
val nextOrderID = integer("nextOrderID")
val state = enumeration("state", SubscriberState::class)
- // setting as nullable to integrate this change more seamlessly into the
current
- // implementation. Can be removed eventually.
val bankAccount = reference("bankAccount", BankAccountsTable).nullable()
}
@@ -365,7 +363,6 @@ object BankAccountsTable : IntIdTable() {
val label = text("label").uniqueIndex("accountLabelIndex")
val currency = text("currency")
val isDebit = bool("isDebit").default(false)
- val balance = text("balance")
/**
* Allow to assign "admin" - who doesn't have a customer DB entry -
* as the owner. That allows tests using the --no-auth option to go on.
@@ -391,7 +388,6 @@ class BankAccountEntity(id: EntityID<Int>) : IntEntity(id) {
var label by BankAccountsTable.label
var currency by BankAccountsTable.currency
var isDebit by BankAccountsTable.isDebit
- var balance by BankAccountsTable.balance
var owner by BankAccountsTable.owner
var isPublic by BankAccountsTable.isPublic
var demoBank by BankAccountsTable.demoBank
diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/Helpers.kt
b/sandbox/src/main/kotlin/tech/libeufin/sandbox/Helpers.kt
index f8c4676..6e290f7 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/sandbox/Helpers.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/sandbox/Helpers.kt
@@ -19,6 +19,7 @@
package tech.libeufin.sandbox
+import io.ktor.application.*
import io.ktor.http.HttpStatusCode
import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
import org.jetbrains.exposed.sql.and
@@ -159,7 +160,11 @@ fun getBankAccountFromSubscriber(subscriber:
EbicsSubscriberEntity): BankAccount
}
}
-fun ensureDemobank(name: String): DemobankConfigEntity {
+fun ensureDemobank(call: ApplicationCall): DemobankConfigEntity {
+ return ensureDemobank(call.getUriComponent("demobankid"))
+}
+
+private fun ensureDemobank(name: String): DemobankConfigEntity {
return transaction {
val res = DemobankConfigEntity.find {
DemobankConfigsTable.name eq name
diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
b/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
index 8e4bc0b..ce0ebdf 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
@@ -994,7 +994,7 @@ val sandboxApp: Application.() -> Unit = {
"Withdrawal operation: $wopid not found"
)
}
- val demobank =
ensureDemobank(call.getUriComponent("demobankid"))
+ val demobank = ensureDemobank(call)
val ret = TalerWithdrawalStatus(
selection_done = wo.selectionDone,
transfer_done = wo.transferDone,
@@ -1014,7 +1014,7 @@ val sandboxApp: Application.() -> Unit = {
"Taler withdrawal tried with authentication disabled.
" +
"That is impossible, because no bank account
can get this operation debited."
)
- val demobank =
ensureDemobank(call.getUriComponent("demobankid"))
+ val demobank = ensureDemobank(call)
/**
* Check here if the user has the right over the claimed
bank account. After
* this check, the withdrawal operation will be allowed
only by providing its
@@ -1075,7 +1075,7 @@ val sandboxApp: Application.() -> Unit = {
subject = wo.reservePub ?: throw
internalServerError(
"Cannot transfer funds without reserve
public key."
),
- demoBank =
ensureDemobank(call.getUriComponent("demobankid"))
+ demoBank = ensureDemobank(call)
)
wo.transferDone = true
}
@@ -1105,9 +1105,11 @@ val sandboxApp: Application.() -> Unit = {
} else {
"credit"
}
+ val balance = balanceForAccount(bankAccount)
+ val demobank = ensureDemobank(call)
call.respond(object {
val balance = {
- val amount = bankAccount.balance
+ val amount = "${demobank.currency}:${balance}"
val credit_debit_indicator = creditDebitIndicator
}
})
@@ -1118,7 +1120,7 @@ val sandboxApp: Application.() -> Unit = {
// (could be merged with GET /accounts/{account_name}
}
get("/accounts/public") {
- val demobank =
ensureDemobank(call.getUriComponent("demobankid"))
+ val demobank = ensureDemobank(call)
val ret = object {
val publicAccounts = mutableListOf<PublicAccountInfo>()
}
@@ -1128,9 +1130,10 @@ val sandboxApp: Application.() -> Unit = {
BankAccountsTable.demoBank eq demobank.id
)
}.forEach {
+ val balanceIter = balanceForAccount(it)
ret.publicAccounts.add(
PublicAccountInfo(
- balance = it.balance,
+ balance =
"${demobank.currency}:$balanceIter",
iban = it.iban
)
)
@@ -1143,11 +1146,10 @@ val sandboxApp: Application.() -> Unit = {
get("/accounts/public/{account_name}/history") {
// Get transaction history of a public account
}
-
// Keeping the prefix "testing" not to break tests.
post("/testing/register") {
// Check demobank was created.
- val demobank =
ensureDemobank(call.getUriComponent("demobankid"))
+ val demobank = ensureDemobank(call)
val req = call.receive<CustomerRegistration>()
val checkExist = transaction {
DemobankCustomerEntity.find {
@@ -1167,7 +1169,6 @@ val sandboxApp: Application.() -> Unit = {
iban = getIban()
label = req.username + "acct" // multiple accounts
per username not allowed.
currency = demobank.currency
- balance = "${demobank.currency}:0"
owner = req.username
this.demoBank = demobank.id
}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [libeufin] branch master updated: Avoid persisting the balance.,
gnunet <=