refactor: update filter constants and improve type handling in filter functions

- Renamed filter operation constants for clarity and consistency.
- Introduced short forms for certain filter operations.
- Updated test cases to reflect changes in filter operation handling.
- Enhanced type handling in filter functions to support int64 values for conditions.
- Improved query generation logic to accommodate new constant names and types.
This commit is contained in:
Marvin Zhang
2025-03-16 20:30:52 +08:00
parent ce0143ca06
commit 700c263cfe
4 changed files with 51 additions and 23 deletions

View File

@@ -25,9 +25,9 @@ func FilterToQuery(f interfaces.Filter) (q bson.M, err error) {
q[key] = cond.GetValue()
case constants.FilterOpNotEqual:
q[key] = bson.M{"$ne": value}
case constants.FilterOpContains, constants.FilterOpRegex, constants.FilterOpSearch:
case constants.FilterOpContains, constants.FilterOpContainsShort, constants.FilterOpRegex, constants.FilterOpSearch, constants.FilterOpSearchShort:
q[key] = bson.M{"$regex": value, "$options": "i"}
case constants.FilterOpNotContains:
case constants.FilterOpNotContains, constants.FilterOpNotContainsShort:
q[key] = bson.M{"$not": bson.M{"$regex": value}}
case constants.FilterOpIn:
q[key] = bson.M{"$in": value}