From 657c73ad2f3078b320e7e4f5a65e498a5b2380cb Mon Sep 17 00:00:00 2001 From: Marvin Zhang Date: Mon, 17 Mar 2025 14:20:19 +0800 Subject: [PATCH] refactor: improve filter query handling in utility functions - Added nil return for empty condition strings in GetFilterQueryFromConditionString and GetFilterFromConditionString functions to enhance error handling. - Improved clarity and maintainability by ensuring consistent behavior when handling empty input conditions. - Updated comments for better understanding of the changes made. --- core/controllers/utils.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/controllers/utils.go b/core/controllers/utils.go index b61bf8b1..2cae437d 100644 --- a/core/controllers/utils.go +++ b/core/controllers/utils.go @@ -42,6 +42,9 @@ func GetFilterQueryFromListParams(params *GetListParams) (q bson.M, err error) { } func GetFilterQueryFromConditionString(condStr string) (q bson.M, err error) { + if condStr == "" { + return nil, nil + } conditions, err := GetFilterFromConditionString(condStr) if err != nil { return nil, err @@ -50,6 +53,9 @@ func GetFilterQueryFromConditionString(condStr string) (q bson.M, err error) { } func GetFilterFromConditionString(condStr string) (f *entity.Filter, err error) { + if condStr == "" { + return nil, nil + } var conditions []*entity.Condition if err := json.Unmarshal([]byte(condStr), &conditions); err != nil { return nil, err