Skip to content

Commit c50d6c6

Browse files
committed
fix: use singular value, not a list for field filter expressions
1 parent cc0d88b commit c50d6c6

File tree

2 files changed

+5
-8
lines changed

2 files changed

+5
-8
lines changed

src/main/kotlin/com/ctrlhub/core/router/request/FilterExpression.kt

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,8 @@ sealed interface FilterOption {
44
fun format(): String
55
}
66

7-
class FieldFilterExpression(val field: String, val values: List<String>) : FilterOption {
8-
override fun format(): String {
9-
val quoted = values.joinToString(",") { "'${it}'" }
10-
return "${field}($quoted)"
11-
}
7+
class FieldFilterExpression(val field: String, val value: String) : FilterOption {
8+
override fun format(): String = "${field}('$value')"
129
}
1310

1411
class ValueFilterExpression(val value: String) : FilterOption {

src/test/kotlin/com/ctrlhub/core/router/request/RequestParametersFiltersTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ class RequestParametersFiltersTest {
99
fun `and of two field expressions formats correctly`() {
1010
val expr = AndExpression(
1111
listOf(
12-
FieldFilterExpression("status", listOf("open")),
13-
FieldFilterExpression("category", listOf("news"))
12+
FieldFilterExpression("status", "open"),
13+
FieldFilterExpression("category", "news")
1414
)
1515
)
1616

@@ -39,7 +39,7 @@ class RequestParametersFiltersTest {
3939
fun `mixed and expression with field and function`() {
4040
val expr = AndExpression(
4141
listOf(
42-
FieldFilterExpression("status", listOf("active")),
42+
FieldFilterExpression("status", "active"),
4343
ValueFilterExpression("is_latest()")
4444
)
4545
)

0 commit comments

Comments
 (0)