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

26 lines
795 B
Kotlin

package de.pheerai.rcdbquery.dataMappings
import de.pheerai.rcdbquery.dsl.RcdbQueryParamsBuilder
class SearchTerm(override val paramValue: String): RcdbParamOption<String> {
override val prettyName = "Search Term"
override val fullName = "Search for elements whose name contain this term"
companion object {
const val staticParamName = "nc"
}
}
fun RcdbQueryParamsBuilder.searchTerm(term: String) {
if (SearchTerm.staticParamName !in this.keys()) {
this[SearchTerm.staticParamName] = listOf(
SearchTerm(term)
)
} else {
error(
"""Only one search term must ever be set
| Old term: ${this[SearchTerm.staticParamName]!![0].paramValue}
| New term: $term""".trimMargin()
)
}
}