From 6cbae3a98bd0c1dfae68dcd0485ec4b74e429464 Mon Sep 17 00:00:00 2001 From: Renato Almeida Date: Tue, 3 Dec 2019 12:24:20 +0000 Subject: [PATCH] feat: Helper method for Paginated --- .../klap/core/model/paginated/Paginated.kt | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/core/src/main/kotlin/tech/youclap/klap/core/model/paginated/Paginated.kt b/core/src/main/kotlin/tech/youclap/klap/core/model/paginated/Paginated.kt index d698d27..121df4f 100644 --- a/core/src/main/kotlin/tech/youclap/klap/core/model/paginated/Paginated.kt +++ b/core/src/main/kotlin/tech/youclap/klap/core/model/paginated/Paginated.kt @@ -3,4 +3,29 @@ package tech.youclap.klap.core.model.paginated data class Paginated( val data: T, val page: Page -) +) { + companion object { + fun from(result: D, page: Int, per: Int, total: Long): Paginated { + + val position = Position( + current = page, + max = (total / per).toInt() + ) + + val data = Data( + per = per, + total = total + ) + + val paginationPage = Page( + position = position, + data = data + ) + + return Paginated( + data = result, + page = paginationPage + ) + } + } +}