commit 5083c9a3d52c1ed65ed535c25b0264c355cdeff1 parent 725a7070d3baf5a9e2c943fe30c31848e9d38c9f Author: ms <ms@taler.net> Date: Tue, 11 Jan 2022 19:05:08 +0100 fix pagination Diffstat:
| M | sandbox/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)) }