24 lines
659 B
Kotlin
24 lines
659 B
Kotlin
package de.pheerai.rcdbquery.dataMappings
|
|
|
|
import de.pheerai.rcdbquery.dsl.ParamsBuilder
|
|
|
|
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 ParamsBuilder.page(page: Int) = if (Page.staticParamName !in this.keys()) {
|
|
also { this[Page.staticParamName] = listOf(Page(page)) }
|
|
} else {
|
|
error(
|
|
"""Only one page must be given!
|
|
| Old page: ${this.getMulti(Page.staticParamName)!![0].paramValue}
|
|
| New page: $page
|
|
""".trimMargin()
|
|
)
|
|
}
|