From 59d0ec8f67075665d5ba0eea6a9e106b5819e83d Mon Sep 17 00:00:00 2001 From: Michael Lipka Date: Fri, 16 Aug 2024 12:50:45 -0500 Subject: [PATCH] revert BED-4662 PR 767 --- cmd/api/src/model/filter.go | 24 ++++------------------ cmd/api/src/model/filter_test.go | 27 +++++++++---------------- cmd/api/src/model/saved_queries.go | 2 +- cmd/api/src/model/saved_queries_test.go | 7 +------ 4 files changed, 15 insertions(+), 45 deletions(-) diff --git a/cmd/api/src/model/filter.go b/cmd/api/src/model/filter.go index cc31f297a7..53d8c61228 100644 --- a/cmd/api/src/model/filter.go +++ b/cmd/api/src/model/filter.go @@ -39,7 +39,6 @@ const ( LessThanOrEquals FilterOperator = "lte" Equals FilterOperator = "eq" NotEquals FilterOperator = "neq" - Contains FilterOperator = "in" GreaterThanSymbol string = ">" GreaterThanOrEqualsSymbol string = ">=" @@ -47,7 +46,6 @@ const ( LessThanOrEqualsSymbol string = "<=" EqualsSymbol string = "=" NotEqualsSymbol string = "<>" - ContainsSymbol string = "like" TrueString = "true" FalseString = "false" @@ -81,9 +79,6 @@ func ParseFilterOperator(raw string) (FilterOperator, error) { case NotEquals: return NotEquals, nil - case Contains: - return Contains, nil - default: return "", fmt.Errorf("unknown query parameter filter predicate: %s", raw) } @@ -170,25 +165,14 @@ func (s QueryParameterFilterMap) BuildSQLFilter() (SQLFilter, error) { predicate = EqualsSymbol case NotEquals: predicate = NotEqualsSymbol - case Contains: - predicate = ContainsSymbol default: return SQLFilter{}, fmt.Errorf("invalid filter predicate specified") } - switch predicate { - case ContainsSymbol: - result.WriteString(filter.Name) - result.WriteString(" ") - result.WriteString(predicate) - filter.Value = fmt.Sprintf("%%%s%%", filter.Value) - result.WriteString(" lower(?)") - default: - result.WriteString(filter.Name) - result.WriteString(" ") - result.WriteString(predicate) - result.WriteString(" ?") - } + result.WriteString(filter.Name) + result.WriteString(" ") + result.WriteString(predicate) + result.WriteString(" ?") params = append(params, filter.Value) firstFilter = false diff --git a/cmd/api/src/model/filter_test.go b/cmd/api/src/model/filter_test.go index a9393925fa..370669007f 100644 --- a/cmd/api/src/model/filter_test.go +++ b/cmd/api/src/model/filter_test.go @@ -76,28 +76,19 @@ func TestModel_BuildSQLFilter_Success(t *testing.T) { IsStringData: false, } - stringContains := model.QueryParameterFilter{ - Name: "filtercolumn6", - Operator: model.Contains, - Value: "something", - IsStringData: true, - } - expectedResults := map[string]model.SQLFilter{ - "numericMin": {SQLString: fmt.Sprintf("%s > ?", numericMin.Name), Params: []any{numericMin.Value}}, - "numericMax": {SQLString: fmt.Sprintf("%s < ?", numericMax.Name), Params: []any{numericMax.Value}}, - "stringValue": {SQLString: fmt.Sprintf("%s = ?", stringValue.Name), Params: []any{stringValue.Value}}, - "boolEquals": {SQLString: fmt.Sprintf("%s = ?", boolEquals.Name), Params: []any{boolEquals.Value}}, - "boolNotEquals": {SQLString: fmt.Sprintf("%s <> ?", boolNotEquals.Name), Params: []any{boolNotEquals.Value}}, - "stringContains": {SQLString: fmt.Sprintf("%s like lower(?)", stringContains.Name), Params: []any{stringContains.Value}}, + "numericMin": {SQLString: fmt.Sprintf("%s > ?", numericMin.Name), Params: []any{numericMin.Value}}, + "numericMax": {SQLString: fmt.Sprintf("%s < ?", numericMax.Name), Params: []any{numericMax.Value}}, + "stringValue": {SQLString: fmt.Sprintf("%s = ?", stringValue.Name), Params: []any{stringValue.Value}}, + "boolEquals": {SQLString: fmt.Sprintf("%s = ?", boolEquals.Name), Params: []any{boolEquals.Value}}, + "boolNotEquals": {SQLString: fmt.Sprintf("%s <> ?", boolNotEquals.Name), Params: []any{boolNotEquals.Value}}, } queryParameterFilterMap := model.QueryParameterFilterMap{ - numericMax.Name: model.QueryParameterFilters{numericMin, numericMax}, - stringValue.Name: model.QueryParameterFilters{stringValue}, - boolEquals.Name: model.QueryParameterFilters{boolEquals}, - boolNotEquals.Name: model.QueryParameterFilters{boolNotEquals}, - stringContains.Name: model.QueryParameterFilters{stringContains}, + numericMax.Name: model.QueryParameterFilters{numericMin, numericMax}, + stringValue.Name: model.QueryParameterFilters{stringValue}, + boolEquals.Name: model.QueryParameterFilters{boolEquals}, + boolNotEquals.Name: model.QueryParameterFilters{boolNotEquals}, } result, err := queryParameterFilterMap.BuildSQLFilter() diff --git a/cmd/api/src/model/saved_queries.go b/cmd/api/src/model/saved_queries.go index 7dd4000cfc..076b781604 100644 --- a/cmd/api/src/model/saved_queries.go +++ b/cmd/api/src/model/saved_queries.go @@ -57,7 +57,7 @@ func (s SavedQueries) ValidFilters() map[string][]FilterOperator { "user_id": {Equals, NotEquals}, "name": {Equals, NotEquals}, "query": {Equals, NotEquals}, - "description": {Equals, NotEquals, Contains}, + "description": {Equals, NotEquals}, } } diff --git a/cmd/api/src/model/saved_queries_test.go b/cmd/api/src/model/saved_queries_test.go index 9b485ff3c2..a045509173 100644 --- a/cmd/api/src/model/saved_queries_test.go +++ b/cmd/api/src/model/saved_queries_test.go @@ -41,12 +41,7 @@ func TestSavedQueries_ValidFilters(t *testing.T) { for _, column := range []string{"user_id", "name", "query", "description"} { operators, ok := validFilters[column] require.True(t, ok) - switch column { - case "description": - require.Equal(t, 3, len(operators)) - default: - require.Equal(t, 2, len(operators)) - } + require.Equal(t, 2, len(operators)) } }