gnunet-svn
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]