[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libeufin] branch master updated: Draft for /admin/statements and /admin
From: |
gnunet |
Subject: |
[libeufin] branch master updated: Draft for /admin/statements and /admin/reports |
Date: |
Fri, 21 Aug 2020 08:33:19 +0200 |
This is an automated email from the git hooks/post-receive script.
heng-yeow pushed a commit to branch master
in repository libeufin.
The following commit(s) were added to refs/heads/master by this push:
new bcf02d0 Draft for /admin/statements and /admin/reports
bcf02d0 is described below
commit bcf02d090c17ad1f7879893631d0f890ac4d28df
Author: tanhengyeow <E0032242@u.nus.edu>
AuthorDate: Fri Aug 21 14:33:09 2020 +0800
Draft for /admin/statements and /admin/reports
---
.../src/main/kotlin/tech/libeufin/sandbox/JSON.kt | 26 ++++++++++-
.../src/main/kotlin/tech/libeufin/sandbox/Main.kt | 51 ++++++++++++++++++++++
2 files changed, 76 insertions(+), 1 deletion(-)
diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/JSON.kt
b/sandbox/src/main/kotlin/tech/libeufin/sandbox/JSON.kt
index eeb7578..9716bc2 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/sandbox/JSON.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/sandbox/JSON.kt
@@ -50,7 +50,6 @@ data class PaymentsResponse(
val payments: MutableList<RawPayment> = mutableListOf()
)
-
/**
* Used to create AND show one Ebics subscriber in the system.
*/
@@ -72,3 +71,28 @@ data class BankAccountRequest(
val name: String,
val label: String
)
+
+data class DateRange(
+ val startDate: Long,
+ val endDate: Long
+)
+
+data class BankAccountStatements(
+ var bankAccountStatements: MutableList<BankAccountStatement> =
mutableListOf()
+)
+
+data class BankAccountReports(
+ var bankAccountReports: MutableList<BankAccountReport> = mutableListOf()
+)
+
+data class BankAccountStatement(
+ var statementId: String,
+ var creationTime: Long,
+ var message: MutableList<String> = mutableListOf()
+)
+
+data class BankAccountReport(
+ var reportId: String,
+ var creationTime: Long,
+ val message: String
+)
diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
b/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
index 7cf2d2c..0a32c50 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
@@ -75,6 +75,7 @@ import
tech.libeufin.sandbox.BankAccountTransactionsTable.debitorName
import tech.libeufin.util.*
import tech.libeufin.util.ebics_h004.EbicsResponse
import tech.libeufin.util.ebics_h004.EbicsTypes
+import java.util.UUID
class CustomerNotFound(id: String?) : Exception("Customer ${id} not found")
class BadInputData(inputData: String?) : Exception("Customer provided invalid
input data: ${inputData}")
@@ -382,6 +383,56 @@ fun serverMain(dbName: String) {
post("/ebicsweb") {
call.ebicsweb()
}
+ /**
+ * Shows all bank account statements.
+ */
+ get("/admin/statements") {
+ var ret = BankAccountStatement()
+ ret.creationTime = Instant.now().toEpochMilli()
+ ret.statementId = "C52-" +
Instant.now().toEpochMilli().toHttpDateString() + "-" +
UUID.randomUUID().toString()
+ ret.message = mutableListOf<String>()
+ transaction {
+ BankAccountTransactionsTable.selectAll().forEach {
+ ret.message.add(
+ constructXml(indent = true) {
+ root("Document") {
+ attribute("xmlns",
"urn:iso:std:iso:20022:tech:xsd:camt.053.001.02")
+ attribute("xmlns:xsi",
"http://www.w3.org/2001/XMLSchema-instance")
+ attribute(
+ "xsi:schemaLocation",
+
"urn:iso:std:iso:20022:tech:xsd:camt.053.001.02 camt.053.001.02.xsd"
+ )
+ element("Ntry") {
+ element("Amt") {
+ attribute("Ccy", it.currency)
+ text(it.amount)
+ }
+ }
+ }
+ }
+ )
+ }
+ }
+ transaction {
+ BankAccountStatementsTable.insert {
+ it[statementId] = ret.statementId
+ it[creationTime] = ret.creationTime
+ it[xmlMessage] = ret.message.toString()
+ }
+ }
+ call.respond(ret)
+ return@get
+ }
+ /**
+ * Shows all bank account reports.
+ */
+ get("/admin/reports") {
+ val body = call.receive<DateRange>()
+ var ret = BankAccountReport()
+
+ call.respond(ret)
+ return@get
+ }
}
}
LOGGER.info("Up and running")
--
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: Draft for /admin/statements and /admin/reports,
gnunet <=