[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libeufin] branch master updated: Main C52 handler calls history-helper.
From: |
gnunet |
Subject: |
[libeufin] branch master updated: Main C52 handler calls history-helper. |
Date: |
Mon, 20 Jan 2020 11:54:26 +0100 |
This is an automated email from the git hooks/post-receive script.
marcello pushed a commit to branch master
in repository libeufin.
The following commit(s) were added to refs/heads/master by this push:
new 8cb9570 Main C52 handler calls history-helper.
8cb9570 is described below
commit 8cb9570524fdbfa47c508c105fdbc94910120027
Author: Marcello Stanisci <address@hidden>
AuthorDate: Mon Jan 20 11:53:51 2020 +0100
Main C52 handler calls history-helper.
---
.../tech/libeufin/sandbox/EbicsProtocolBackend.kt | 109 ++-------------------
1 file changed, 6 insertions(+), 103 deletions(-)
diff --git
a/sandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt
b/sandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt
index 012cfbc..fa6608c 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt
@@ -123,17 +123,17 @@ private suspend fun
ApplicationCall.respondEbicsKeyManagement(
* @param base the sub-node where to start attaching history elements.
*
*/
-private fun iterHistory(customerId: Int, request: EbicsRequest, base:
XmlElementBuilder) {
+private fun iterHistory(customerId: Int, header: EbicsRequest.Header, base:
XmlElementBuilder) {
extractHistoryForEach(
customerId,
try {
- (request.header.static.orderDetails?.orderParams as
EbicsRequest.StandardOrderParams).dateRange?.start.toString()
+ (header.static.orderDetails?.orderParams as
EbicsRequest.StandardOrderParams).dateRange?.start.toString()
} catch (e: Exception) {
getGregorianDate().toString()
},
try {
- (request.header.static.orderDetails?.orderParams as
EbicsRequest.StandardOrderParams).dateRange?.end.toString()
+ (header.static.orderDetails?.orderParams as
EbicsRequest.StandardOrderParams).dateRange?.end.toString()
} catch (e: Exception) {
getGregorianDate().toString()
}
@@ -236,7 +236,7 @@ private fun balance(base: XmlElementBuilder) {
* @param history the list of all the history elements
* @param type 52 or 53.
*/
-private fun constructCamtResponse(type: Int, customerId: Int, request:
EbicsRequest): String {
+private fun constructCamtResponse(type: Int, customerId: Int, header:
EbicsRequest.Header): String {
val camt = constructXml(indent = true) {
@@ -252,7 +252,7 @@ private fun constructCamtResponse(type: Int, customerId:
Int, request: EbicsRequ
element(if (type == 52) "Rpt" else "Stmt") {
balance(this)
- iterHistory(customerId, request, this)
+ iterHistory(customerId, header, this)
}
}
}
@@ -272,104 +272,7 @@ private fun ApplicationCall.handleEbicsC52(header:
EbicsRequest.Header): ByteArr
}
}.firstOrNull() ?: throw Exception("Unknown subscriber")
- // call history builder here
-
- val ret = constructXml(indent = true) {
- namespace("foo", "bar")
- root("foo:BkToCstmrAcctRpt") {
- element("GrpHdr") {
- element("MsgId") {
- // unique identifier for a message
- text("id under group header")
- }
- }
- /*
- * NOTE: Rpt elements can be 1 or more
- */
- element("Rpt") {
- element("Id") {
- // unique identificator for a report.
- text("id under report")
- }
- element("Acct") {
- // mandatory account identifier
- text("account identifier")
- }
- element("Bal") {
- element("Tp") {
- // FIXME: type
- element("CdOrPrTry") {
- /**
- * FIXME: code-or-proprietary
- * This section specifies the 'balance type',
either in a
- * 'coded' format or in a proprietary one.
- */
- }
- }
- element("Amt") {
- /**
- * FIXME: Amount
- */
- attribute("Ccy", "EUR")
- BigDecimal("1.00")
- }
- element("CdtDbtInd") {
- /**
- * FIXME: credit-debit-indicator
- * Indicates whether the balance is a 'credit'
("CRDT") or a 'debit' ("DBIT") balance.
- */
- }
- element("Dt") {
- /**
- * FIXME: date, in YYYY-MM-DD format
- */
- }
- }
- element("Ntry") {
- /* FIXME: one statement in an account history.
- * NOTE: this element can appear from 0 to unbounded
number of times.
- * */
- element("Amt") {
- /* FIXME: amount of this entry */
- }
- element("CdtDbtInd") {
- /* FIXME: as above, whether the entry witnesses debit
or credit */
- }
- element("Sts") {
- /* FIXME: status of the entry (see 2.4.2.15.5 from the
ISO20022 reference document.)
- *
- * From the original text:
- * "Status of an entry on the books of the account
servicer"
- */
- }
- element("BkTxCd") {
- /* FIXME: Bank-transaction-code, see section
2.4.2.15.10.
-
- * From the original text:
- *
- * "Set of elements used to fully identify the type of
underlying
- * transaction resulting in an entry"
- */
- }
- element("BookgDt") {
- /**
- * FIXME, Booking-date: when the entry was posted on
the books
- * of the account servicer; do not necessarily implies
that assets
- * become available. NOTE: this element is optional.
- */
- }
- element("ValDt") {
- /**
- * FIXME, Value-date: when the asset corresponding to
one entry
- * becomes available (or unavailable, in case of debit
type entry)
- * to the account owner. NOTE: this element is
optional.
- */
- }
- }
- }
- }
- }
- return ret.toByteArray()
+ return constructCamtResponse(52, subscriber.bankCustomer.id.value,
header).toByteArray()
}
private suspend fun ApplicationCall.handleEbicsHia(header:
EbicsUnsecuredRequest.Header, orderData: ByteArray) {
--
To stop receiving notification emails like this one, please contact
address@hidden.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [libeufin] branch master updated: Main C52 handler calls history-helper.,
gnunet <=