libeufin

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

commit 2d99bbd92c0d52a6aec61e79715f60cb4616c0b6
parent b226e1f6da70b776ed9c90addf52408f6f683b50
Author: tanhengyeow <E0032242@u.nus.edu>
Date:   Wed, 19 Aug 2020 18:07:39 +0800

Add new database tables for report + statement generation

Diffstat:
Msandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt | 32++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+), 0 deletions(-)

diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt b/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt @@ -302,6 +302,38 @@ class BankAccountEntity(id: EntityID<Int>) : IntEntity(id) { var subscriber by EbicsSubscriberEntity referencedOn BankAccountsTable.subscriber } +object BankAccountStatementsTable : IntIdTable() { + val statementId = text("statementId") + val creationTime = long("creationTime") + val xmlMessage = text("xmlMessage") + val bankAccount = reference("bankAccount", BankAccountsTable) +} + +class BankAccountStatementsEntity(id: EntityID<Int>) : IntEntity(id) { + companion object : IntEntityClass<BankAccountStatementsEntity>(BankAccountStatementsTable) + + var statementId by BankAccountStatementsTable.statementId + var xmlMessage by BankAccountStatementsTable.xmlMessage + var creationTime by BankAccountStatementsTable.creationTime + var bankAccount by BankAccountEntity referencedOn BankAccountStatementsTable.bankAccount +} + +object BankAccountReportsTable : IntIdTable() { + val reportId = text("reportId") + val creationTime = long("creationTime") + val xmlMessage = text("xmlMessage") + val bankAccount = reference("bankAccount", BankAccountsTable) +} + +class BankAccountReportsTableEntity(id: EntityID<Int>) : IntEntity(id) { + companion object : IntEntityClass<BankAccountReportsTableEntity>(BankAccountReportsTable) + + var reportId by BankAccountReportsTable.reportId + var xmlMessage by BankAccountReportsTable.xmlMessage + var creationTime by BankAccountReportsTable.creationTime + var bankAccount by BankAccountEntity referencedOn BankAccountReportsTable.bankAccount +} + fun dbCreateTables(dbName: String) { Database.connect("jdbc:sqlite:${dbName}", "org.sqlite.JDBC") TransactionManager.manager.defaultIsolationLevel = Connection.TRANSACTION_SERIALIZABLE