Skip to content

Commit e090f59

Browse files
committed
fix: simplify how filters are built
1 parent dbfed6d commit e090f59

File tree

2 files changed

+5
-20
lines changed

2 files changed

+5
-20
lines changed

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

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,8 @@ class FieldFilterExpression(val field: String, val values: List<String>) : Filte
1111
}
1212
}
1313

14-
class ValueFilterExpression(val values: List<String>) : FilterOption {
15-
override fun format(): String = values.joinToString(",")
16-
}
17-
18-
class FunctionFilterExpression(val name: String, val args: List<String> = emptyList()) : FilterOption {
19-
override fun format(): String {
20-
return if (args.isEmpty()) {
21-
"${name}()"
22-
} else {
23-
val joined = args.joinToString(",") { it }
24-
"${name}(${joined})"
25-
}
26-
}
14+
class ValueFilterExpression(val value: String) : FilterOption {
15+
override fun format(): String = value
2716
}
2817

2918
class AndExpression(val parts: List<FilterOption>) : FilterOption {

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

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,8 @@ class RequestParametersFiltersTest {
2424
fun `and of functions formats correctly`() {
2525
val expr = AndExpression(
2626
listOf(
27-
ValueFilterExpression(
28-
listOf(
29-
"is_latest()",
30-
"no_start()"
31-
)
32-
),
27+
ValueFilterExpression("is_latest()"),
28+
ValueFilterExpression("no_start()"),
3329
)
3430
)
3531

@@ -44,7 +40,7 @@ class RequestParametersFiltersTest {
4440
val expr = AndExpression(
4541
listOf(
4642
FieldFilterExpression("status", listOf("active")),
47-
FunctionFilterExpression("is_latest")
43+
ValueFilterExpression("is_latest()")
4844
)
4945
)
5046

0 commit comments

Comments
 (0)