gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libeufin] branch master updated: only return transactions that belong t


From: gnunet
Subject: [libeufin] branch master updated: only return transactions that belong to the account
Date: Sun, 17 Jan 2021 00:55:41 +0100

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository libeufin.

The following commit(s) were added to refs/heads/master by this push:
     new 4199e9b  only return transactions that belong to the account
4199e9b is described below

commit 4199e9b6817c88c37903ec6ca7e662e46f579b9e
Author: Florian Dold <florian@dold.me>
AuthorDate: Sun Jan 17 00:55:36 2021 +0100

    only return transactions that belong to the account
---
 .../tech/libeufin/nexus/server/NexusServer.kt      | 64 ++++++++++++++--------
 1 file changed, 40 insertions(+), 24 deletions(-)

diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/server/NexusServer.kt 
b/nexus/src/main/kotlin/tech/libeufin/nexus/server/NexusServer.kt
index 7c75cf0..58e0472 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/server/NexusServer.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/server/NexusServer.kt
@@ -77,13 +77,13 @@ fun getFacadeState(type: String, facade: FacadeEntity): 
JsonNode {
                 val state = TalerFacadeStateEntity.find {
                     TalerFacadeStateTable.facade eq facade.id
                 }.firstOrNull()
-                if (state == null) throw 
NexusError(HttpStatusCode.NotFound,"State of facade ${facade.id} not found")
+                if (state == null) throw NexusError(HttpStatusCode.NotFound, 
"State of facade ${facade.id} not found")
                 val node = jacksonObjectMapper().createObjectNode()
                 node.put("bankConnection", state.bankConnection)
                 node.put("bankAccount", state.bankAccount)
                 node
             }
-            else -> throw NexusError(HttpStatusCode.NotFound,"Facade type 
${type} not supported")
+            else -> throw NexusError(HttpStatusCode.NotFound, "Facade type 
${type} not supported")
         }
     }
 }
@@ -218,7 +218,8 @@ fun requireBankConnectionInternal(connId: String): 
NexusBankConnectionEntity {
 fun requireBankConnection(call: ApplicationCall, parameterKey: String): 
NexusBankConnectionEntity {
     val name = call.parameters[parameterKey]
     if (name == null) {
-        throw NexusError(HttpStatusCode.NotFound,
+        throw NexusError(
+            HttpStatusCode.NotFound,
             "Parameter '${parameterKey}' wasn't found in URI"
         )
     }
@@ -317,12 +318,12 @@ fun serverMain(dbName: String, host: String, port: Int) {
             }
 
             get("/config") {
-                 call.respond(
-                     object {
-                         val version = "0.0.0"
-                         val currency = "EUR"
-                     }
-                 )
+                call.respond(
+                    object {
+                        val version = "0.0.0"
+                        val currency = "EUR"
+                    }
+                )
                 return@get
             }
             // Shows information about the requesting user.
@@ -453,10 +454,12 @@ fun serverMain(dbName: String, host: String, port: Int) {
                     // sanity checks.
                     when (schedSpec.type) {
                         "fetch" -> {
-                            val fetchSpec = 
jacksonObjectMapper().treeToValue(schedSpec.params, FetchSpecJson::class.java)
-                                ?: throw NexusError(HttpStatusCode.BadRequest, 
"bad fetch spec")
+                            val fetchSpec =
+                                
jacksonObjectMapper().treeToValue(schedSpec.params, FetchSpecJson::class.java)
+                                    ?: throw 
NexusError(HttpStatusCode.BadRequest, "bad fetch spec")
+                        }
+                        "submit" -> {
                         }
-                        "submit" -> {}
                         else -> throw NexusError(HttpStatusCode.BadRequest, 
"unsupported task type")
                     }
                     val oldSchedTask = NexusScheduledTaskEntity.find {
@@ -478,7 +481,7 @@ fun serverMain(dbName: String, host: String, port: Int) {
                             
jacksonObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(schedSpec.params)
                     }
                 }
-                call.respond(object { })
+                call.respond(object {})
                 return@post
             }
 
@@ -526,7 +529,7 @@ fun serverMain(dbName: String, host: String, port: Int) {
                         oldSchedTask.delete()
                     }
                 }
-                call.respond(object { })
+                call.respond(object {})
             }
 
             get("/bank-accounts/{accountid}") {
@@ -564,7 +567,7 @@ fun serverMain(dbName: String, host: String, port: Int) {
                     authenticateRequest(call.request)
                 }
                 submitAllPaymentInitiations(client, accountId)
-                call.respond(object { })
+                call.respond(object {})
                 return@post
             }
 
@@ -618,7 +621,9 @@ fun serverMain(dbName: String, host: String, port: Int) {
                         creditorIban = res.paymentInitiation.creditorIban,
                         amount = 
"${res.paymentInitiation.currency}:${res.paymentInitiation.sum}",
                         subject = res.paymentInitiation.subject,
-                        submissionDate = if (sd != null) { 
importDateFromMillis(sd).toDashedDate() } else null,
+                        submissionDate = if (sd != null) {
+                            importDateFromMillis(sd).toDashedDate()
+                        } else null,
                         status = res.paymentStatus,
                         preparationDate = 
importDateFromMillis(res.paymentInitiation.preparationDate).toDashedDate()
                     )
@@ -678,19 +683,25 @@ fun serverMain(dbName: String, host: String, port: Int) {
                     )
                 }
                 val newTransactions = fetchBankAccountTransactions(client, 
fetchSpec, accountid)
-                call.respond(object {val newTransactions = newTransactions})
+                call.respond(object {
+                    val newTransactions = newTransactions
+                })
                 return@post
             }
 
             // Asks list of transactions ALREADY downloaded from the bank.
             get("/bank-accounts/{accountid}/transactions") {
-                val bankAccount = expectNonNull(call.parameters["accountid"])
+                val bankAccountId = expectNonNull(call.parameters["accountid"])
                 val start = call.request.queryParameters["start"]
                 val end = call.request.queryParameters["end"]
+                authenticateRequest(call.request)
                 val ret = Transactions()
                 transaction {
-                    authenticateRequest(call.request).id.value
-                    NexusBankTransactionEntity.all().map {
+                    val bankAccount = 
NexusBankAccountEntity.findById(bankAccountId)
+                    if (bankAccount == null) {
+                        throw NexusError(HttpStatusCode.NotFound, "unknown 
bank account")
+                    }
+                    NexusBankTransactionEntity.find { 
NexusBankTransactionsTable.bankAccount eq bankAccount.id }.map {
                         val tx = jacksonObjectMapper().readValue(
                             it.transactionJson, 
CamtBankAccountEntry::class.java
                         )
@@ -897,7 +908,9 @@ fun serverMain(dbName: String, host: String, port: Int) {
             }
 
             get("/facades") {
-                val ret = object { val facades = 
mutableListOf<FacadeShowInfo>() }
+                val ret = object {
+                    val facades = mutableListOf<FacadeShowInfo>()
+                }
                 transaction {
                     val user = authenticateRequest(call.request)
                     FacadeEntity.find {
@@ -953,11 +966,14 @@ fun serverMain(dbName: String, host: String, port: Int) {
                         authenticateRequest(call.request)
                         requireBankConnection(call, "connid")
                     }
-                    when(conn.type) {
+                    when (conn.type) {
                         "ebics" -> {
                             ebicsFetchAccounts(conn.id.value, client)
                         }
-                        else -> throw 
NexusError(HttpStatusCode.NotImplemented, "connection not supported for 
${conn.type}")
+                        else -> throw NexusError(
+                            HttpStatusCode.NotImplemented,
+                            "connection not supported for ${conn.type}"
+                        )
                     }
                     call.respond(object {})
                 }
@@ -969,7 +985,7 @@ fun serverMain(dbName: String, host: String, port: Int) {
                         val conn = requireBankConnection(call, "connid")
                         OfferedBankAccountsTable.select {
                             OfferedBankAccountsTable.bankConnection eq 
conn.id.value
-                        }.forEach {offeredAccountRow ->
+                        }.forEach { offeredAccountRow ->
                             ret.accounts.add(
                                 OfferedBankAccount(
                                     ownerName = 
offeredAccountRow[accountHolder],

-- 
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]