gnunet-svn
[Top][All Lists]
Advanced

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

[libeufin] branch master updated: API skeleton


From: gnunet
Subject: [libeufin] branch master updated: API skeleton
Date: Tue, 11 Feb 2020 16:15:04 +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 38599d6  API skeleton
38599d6 is described below

commit 38599d632ec4e5b31af7ea98e0c8ac4423c470f9
Author: Florian Dold <address@hidden>
AuthorDate: Tue Feb 11 16:15:01 2020 +0100

    API skeleton
---
 nexus/src/main/kotlin/tech/libeufin/nexus/Db.kt   | 76 +++++++++++++----------
 nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt | 35 ++++++++++-
 nexus/src/test/kotlin/LetterFormatTest.kt         | 11 ++++
 util/src/test/kotlin/LogTest.kt                   | 12 ----
 util/src/test/kotlin/XmlUtilTest.kt               | 10 ++-
 5 files changed, 96 insertions(+), 48 deletions(-)

diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/Db.kt 
b/nexus/src/main/kotlin/tech/libeufin/nexus/Db.kt
index 9056115..cec5ff6 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/Db.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/Db.kt
@@ -11,38 +11,50 @@ import java.sql.Connection
 const val ID_MAX_LENGTH = 50
 
 
-object EbicsRawBankTransactionsTable : IdTable<Long>() {
-    override val id = EbicsSubscribersTable.long("id").entityId().primaryKey()
-
-    val nexusSubscriber = reference("subscriber", EbicsSubscribersTable)
-
-    /**
-     * How did we learn about this transaction?  C52 / C53 / C54
-     */
-    val sourceType = text("sourceType")
-
-    val sourceFileName = text("sourceFileName")
-
-    
-
-    /**
-     * "Subject" of the SEPA transaction
-     */
-    val unstructuredRemittanceInformation = 
text("unstructuredRemittanceInformation")
-
-    /**
-     * Is it a credit or debit transaction?
-     */
-    val transactionType = text("transactionType")
-
-    val currency = text("currency")
-
-    val amount = text("amount")
-
-    val creditorIban = text("creditorIban")
-
-    val debitorIban = text("creditorIban")
-}
+//object EbicsRawBankTransactionsTable : IdTable<Long>() {
+//    override val id = 
EbicsSubscribersTable.long("id").entityId().primaryKey()
+//
+//    val nexusSubscriber = reference("subscriber", EbicsSubscribersTable)
+//
+//    /**
+//     * How did we learn about this transaction?  C52 / C53 / C54
+//     */
+//    val sourceType = text("sourceType")
+//
+//    val sourceFileName = text("sourceFileName")
+//
+//
+//
+//    /**
+//     * "Subject" of the SEPA transaction
+//     */
+//    val unstructuredRemittanceInformation = 
text("unstructuredRemittanceInformation")
+//
+//    /**
+//     * Is it a credit or debit transaction?
+//     */
+//    val transactionType = text("transactionType")
+//
+//    val currency = text("currency")
+//
+//    val amount = text("amount")
+//
+//    val creditorIban = text("creditorIban")
+//
+//    val debitorIban = text("creditorIban")
+//}
+//
+//
+///**
+// * This table gets populated by the HTD request.
+// *
+// * It stores which subscriber has access to which bank accounts via EBICS.
+// *
+// * When making a payment, we need to refer to one of these accounts
+// */
+//object EbicsBankAccountsTable {
+//
+//}
 
 
 object EbicsSubscribersTable : IdTable<String>() {
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt 
b/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt
index 605fecf..25bdf74 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt
@@ -288,8 +288,41 @@ fun main() {
                 }
             }
 
+            post("/ebics/subscribers/fetch-accounts") {
+                // FIXME(marcello): fetch accounts via HTD and store it in the 
database
+            }
+
+            get("/ebics/subscribers/{id}/accounts") {
+                // FIXME(marcello): return bank accounts associated with the 
subscriber,
+                // this information is only avaiable *after* HTD or HKD has 
been called
+            }
+
+            post("/ebics/subscribers/{id}/accounts/{acctid}/prepare-payment") {
+                // FIXME(marcello):  Put transaction in the database, generate 
PAIN.001 document
+            }
+
+            get("/ebics/subscribers/{id}/payments") {
+                // FIXME(marcello):  List all outgoing transfers and their 
status
+            }
+
+            post("/ebics/subscribers/{id}/fetch-payment-status") {
+                // FIXME(marcello?):  Fetch pain.002 and mark transfers in it 
as "failed"
+            }
+
             post("/ebics/subscribers/{id}/collect-transactions-c52") {
-                // Download C52 and store the result in the right database 
table
+                // FIXME(florian): Download C52 and store the result in the 
right database table
+            }
+
+            post("/ebics/subscribers/{id}/collect-transactions-c53") {
+                // FIXME(florian): Download C52 and store the result in the 
right database table
+            }
+
+            post("/ebics/subscribers/{id}/collect-transactions-c54") {
+                // FIXME(florian): Download C52 and store the result in the 
right database table
+            }
+
+            get("/ebics/subscribers/{id}/transactions") {
+                // FIXME(florian): Display local transaction history stored by 
the nexus.
             }
 
             post("/ebics/subscribers/{id}/sendC52") {
diff --git a/nexus/src/test/kotlin/LetterFormatTest.kt 
b/nexus/src/test/kotlin/LetterFormatTest.kt
index ecf9534..7c28b46 100644
--- a/nexus/src/test/kotlin/LetterFormatTest.kt
+++ b/nexus/src/test/kotlin/LetterFormatTest.kt
@@ -4,6 +4,17 @@ import org.junit.Test
 import tech.libeufin.nexus.chunkString
 import tech.libeufin.nexus.getNonce
 import tech.libeufin.util.toHexString
+import java.security.SecureRandom
+
+/**
+ * @param size in bits
+ */
+private fun getNonce(size: Int): ByteArray {
+    val sr = SecureRandom()
+    val ret = ByteArray(size / 8)
+    sr.nextBytes(ret)
+    return ret
+}
 
 class LetterFormatTest {
 
diff --git a/util/src/test/kotlin/LogTest.kt b/util/src/test/kotlin/LogTest.kt
index fae69f8..c6eb263 100644
--- a/util/src/test/kotlin/LogTest.kt
+++ b/util/src/test/kotlin/LogTest.kt
@@ -1,13 +1,8 @@
-import org.junit.Assert
 import org.junit.Test
-import org.junit.Assert.*
 import org.slf4j.LoggerFactory
-import java.net.URLClassLoader
-import tech.libeufin.util.LOGGER as utilLogger
 
 
 class LogTest {
-
     @Test
     fun logLine() {
         val loggerSandbox = LoggerFactory.getLogger("tech.libeufin.sandbox")
@@ -15,11 +10,4 @@ class LogTest {
         loggerSandbox.info("line")
         loggerNexus.trace("other line")
     }
-
-    @Test
-    fun logFromUtil() {
-        /* This log should show up with 'util' name but without this latter 
owning a logback.xml */
-        utilLogger.trace("shown")
-    }
 }
-
diff --git a/util/src/test/kotlin/XmlUtilTest.kt 
b/util/src/test/kotlin/XmlUtilTest.kt
index 67c35e1..57394b8 100644
--- a/util/src/test/kotlin/XmlUtilTest.kt
+++ b/util/src/test/kotlin/XmlUtilTest.kt
@@ -1,6 +1,8 @@
 import org.apache.xml.security.binding.xmldsig.SignatureType
 import org.junit.Test
 import org.junit.Assert.*
+import org.slf4j.Logger
+import org.slf4j.LoggerFactory
 import tech.libeufin.util.ebics_h004.EbicsKeyManagementResponse
 import tech.libeufin.util.ebics_h004.EbicsResponse
 import tech.libeufin.util.ebics_h004.EbicsTypes
@@ -10,9 +12,11 @@ import tech.libeufin.util.XMLUtil
 import java.security.KeyPairGenerator
 import java.util.*
 import javax.xml.transform.stream.StreamSource
-import tech.libeufin.util.LOGGER
 import tech.libeufin.util.XMLUtil.Companion.signEbicsResponse
 
+val logger: Logger = LoggerFactory.getLogger("tech.libeufin.util")
+
+
 class XmlUtilTest {
 
     @Test
@@ -64,7 +68,7 @@ class XmlUtilTest {
             </HTDResponseOrderData>""".trimIndent()
         )
 
-        LOGGER.debug(tmp.value.partnerInfo.orderInfoList[0].description)
+        logger.debug(tmp.value.partnerInfo.orderInfoList[0].description)
     }
 
     @Test
@@ -73,7 +77,7 @@ class XmlUtilTest {
             
XMLUtil.convertStringToJaxb<EbicsKeyManagementResponse>("<malformed xml>")
         } catch (e: javax.xml.bind.UnmarshalException) {
             // just ensuring this is the exception
-            LOGGER.info("caught")
+            logger.info("caught")
             return
         }
         assertTrue(false)

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

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