libeufin

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

commit 5083c9a3d52c1ed65ed535c25b0264c355cdeff1
parent 725a7070d3baf5a9e2c943fe30c31848e9d38c9f
Author: ms <ms@taler.net>
Date:   Tue, 11 Jan 2022 19:05:08 +0100

fix pagination

Diffstat:
Msandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt | 7++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt b/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt @@ -1330,13 +1330,14 @@ val sandboxApp: Application.() -> Unit = { } val lt: BankAccountTransactionEntity? = bankAccount.lastTransaction if (lt == null) return@transaction - var firstElement: BankAccountTransactionEntity = lt + var nextPageIdUpperLimit: Long = lt.id.value /** * This loop fetches (and discards) pages until the * desired one is found. */ for (i in 0..(page)) { - val pageBuf = getPage(firstElement.id.value) - firstElement = pageBuf.last() + val pageBuf = getPage(nextPageIdUpperLimit) + if (pageBuf.none()) return@transaction + nextPageIdUpperLimit = pageBuf.last().id.value - 1 if (i == page) pageBuf.forEach { ret.add(getHistoryElementFromTransactionRow(it)) }