libeufin

Integration and sandbox testing for FinTech APIs and data formats
Log | Files | Refs | Submodules | README | LICENSE

commit 1a6db5f62df8ce383efd8ab736ff8c33e4562641
parent 277152ade32dfb2340575f63dc8ff3bd4c762e4c
Author: Marcello Stanisci <stanisci.m@gmail.com>
Date:   Mon,  6 Apr 2020 18:05:55 +0200

Data structures for test API.

Diffstat:
Mnexus/src/main/kotlin/tech/libeufin/nexus/taler.kt | 54++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+), 0 deletions(-)

diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/taler.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/taler.kt @@ -19,6 +19,9 @@ class Taler(app: Route) { refund(app) } + /** + * Payment initiating data structures + */ private data class TalerTransferRequest( val request_uid: String, val amount: String, @@ -33,6 +36,57 @@ class Taler(app: Route) { val row_id: Long ) + /** + * History accounting data structures + */ + + /** + * Incoming payments. + */ + private data class TalerIncomingBankTransaction( + val row_id: Long, + val date: Long, // timestamp + val amount: String, + val credit_account: String, // payto form, + val debit_account: String, + val reserve_pub: String + ) + + private data class TalerIncomingHistory( + var incoming_transactions: MutableList<TalerIncomingBankTransaction> = mutableListOf() + ) + + /** + * Outgoing payments. + */ + private data class TalerOutgoingBankTransaction( + val row_id: Long, + val date: Long, // timestamp + val amount: String, + val credit_account: String, // payto form, + val debit_account: String, + val wtid: String, + val exchange_base_url: String + ) + + private data class TalerOutgoingHistory( + var outgoing_transactions: MutableList<TalerOutgoingBankTransaction> = mutableListOf() + ) + + /** + * Test APIs' data structures. + */ + private data class TalerAdminAddIncoming( + val amount: String, + val reserve_pub: String, + val debit_account: String + ) + + private data class TalerAddIncomingResponse( + val timestamp: Long, + val row_id: Long + ) + fun digest(app: Route) { app.post("/ebics/taler/{id}/digest-incoming-transactions") { val id = expectId(call.parameters["id"])