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

28 lines
745 B
Kotlin

package de.pheerai.rcdbquery.dataMappings
import de.pheerai.rcdbquery.dsl.RcdbQueryParamsBuilder
class Page(override val paramValue: Int) : RcdbParamOption<Int> {
override val fullName: String
get() = "The page to show"
override val prettyName: String
get() = "Page"
companion object {
const val staticParamName = "page"
}
}
fun RcdbQueryParamsBuilder.page(page: Int) {
if (Page.staticParamName !in this.keys()) {
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()
)
}
}