commit 9f500b3e93a1329052024bed8b5389e3ccf7ca1f
parent 69f7cd208c41ba0436984b8455f8652a4f537f76
Author: Marcello Stanisci <stanisci.m@gmail.com>
Date: Mon, 20 Apr 2020 21:42:06 +0200
Fix date JSON, and currency parsing.
Diffstat:
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/taler.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/taler.kt
@@ -41,7 +41,7 @@ class Taler(app: Route) {
/** History accounting data structures */
private data class TalerIncomingBankTransaction(
val row_id: Long,
- val date: Long, // timestamp
+ val date: GnunetTimestamp, // timestamp
val amount: String,
val credit_account: String, // payto form,
val debit_account: String,
@@ -52,7 +52,7 @@ class Taler(app: Route) {
)
private data class TalerOutgoingBankTransaction(
val row_id: Long,
- val date: Long, // timestamp
+ val date: GnunetTimestamp, // timestamp
val amount: String,
val credit_account: String, // payto form,
val debit_account: String,
@@ -133,7 +133,7 @@ class Taler(app: Route) {
}
fun parseAmount(amount: String): AmountWithCurrency {
- val match = Regex("([A-Z][A-Z][A-Z]):([0-9]+(\\.[0-9]+)?)").find(amount) ?: throw
+ val match = Regex("([A-Z]+):([0-9]+(\\.[0-9]+)?)").find(amount) ?: throw
NexusError(HttpStatusCode.BadRequest, "invalid payto URI ($amount)")
val (currency, number) = match.destructured
return AmountWithCurrency(currency, Amount(number))
@@ -446,8 +446,8 @@ class Taler(app: Route) {
row_id = it.id.value,
amount = it.amount,
wtid = it.wtid,
- date = it.rawConfirmed?.bookingDate?.div(1000) ?: throw NexusError(
- HttpStatusCode.InternalServerError, "Null value met after check, VERY strange."),
+ date = GnunetTimestamp(it.rawConfirmed?.bookingDate?.div(1000) ?: throw NexusError(
+ HttpStatusCode.InternalServerError, "Null value met after check, VERY strange.")),
credit_account = it.creditAccount,
debit_account = getPaytoUri(subscriberBankAccount.iban, subscriberBankAccount.bankCode),
exchange_base_url = "FIXME-to-request-along-subscriber-registration"
@@ -477,7 +477,7 @@ class Taler(app: Route) {
orderedPayments.subList(0, min(abs(delta), orderedPayments.size)).forEach {
history.incoming_transactions.add(
TalerIncomingBankTransaction(
- date = it.payment.bookingDate / 1000, // timestamp in seconds
+ date = GnunetTimestamp(it.payment.bookingDate / 1000),
row_id = it.id.value,
amount = "${it.payment.currency}:${it.payment.amount}",
reserve_pub = it.payment.unstructuredRemittanceInformation,