rcdbquery/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/Page.kt

24 lines
692 B
Kotlin

package de.pheerai.rcdbquery.dataMappings
import de.pheerai.rcdbquery.dsl.RcdbQueryParamsBuilder
class Page(override val paramValue: Int) : RcdbParamOption<Int> {
override val fullName = "The page to show"
override val prettyName = "Page"
companion object {
const val staticParamName = "page"
}
}
fun RcdbQueryParamsBuilder.page(page: Int): RcdbQueryParamsBuilder = if (Page.staticParamName !in this.keys()) {
also { this[Page.staticParamName] = listOf(Page(page)) }
} else {
error(
"""Only one page must be given!
| Old page: ${this[Page.staticParamName]!![0].paramValue}
| New page: $page
""".trimMargin()
)
}