Skip to content

Commit ab2c0e0

Browse files
migration renaming
(cherry picked from commit c2e625e2ea0aa1feb3d655dd8f28fbf28c96c43a)
1 parent 6b00aa2 commit ab2c0e0

5 files changed

Lines changed: 11 additions & 74 deletions

File tree

internal/sql/repository/helper/AppListingRepositoryQueryBuilder.go

Lines changed: 11 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -45,18 +45,18 @@ func NewAppListingRepositoryQueryBuilder(logger *zap.SugaredLogger) AppListingRe
4545
}
4646

4747
type AppListingFilter struct {
48-
Environments []int `json:"environments"`
49-
Statuses []string `json:"statutes"`
50-
Teams []int `json:"teams"`
51-
AppStatuses []string `json:"appStatuses"`
48+
Environments []int `json:"environments"`
49+
Statuses []string `json:"statutes"`
50+
Teams []int `json:"teams"`
51+
AppStatuses []string `json:"appStatuses"`
5252
TagFilters []TagFilter `json:"tagFilters"`
53-
AppNameSearch string `json:"appNameSearch"`
54-
SortOrder SortOrder `json:"sortOrder"`
55-
SortBy SortBy `json:"sortBy"`
56-
Offset int `json:"offset"`
57-
Size int `json:"size"`
58-
DeploymentGroupId int `json:"deploymentGroupId"`
59-
AppIds []int `json:"-"` // internal use only
53+
AppNameSearch string `json:"appNameSearch"`
54+
SortOrder SortOrder `json:"sortOrder"`
55+
SortBy SortBy `json:"sortBy"`
56+
Offset int `json:"offset"`
57+
Size int `json:"size"`
58+
DeploymentGroupId int `json:"deploymentGroupId"`
59+
AppIds []int `json:"-"` // internal use only
6060
}
6161

6262
type SortBy string
@@ -317,11 +317,6 @@ func (impl AppListingRepositoryQueryBuilder) buildAppListingWhereCondition(appLi
317317
whereCondition += tagWhereCondition
318318
queryParams = append(queryParams, tagQueryParams...)
319319

320-
// Future OR support placeholder (intentionally disabled today):
321-
// orTagWhereCondition, orTagQueryParams := impl.buildTagFiltersWhereConditionOR(appListingFilter.TagFilters)
322-
// whereCondition += orTagWhereCondition
323-
// queryParams = append(queryParams, orTagQueryParams...)
324-
325320
if len(appListingFilter.AppIds) > 0 {
326321
whereCondition += " and a.id IN (?) "
327322
queryParams = append(queryParams, pg.In(appListingFilter.AppIds))
@@ -344,22 +339,6 @@ func (impl AppListingRepositoryQueryBuilder) buildTagFiltersWhereConditionAND(ta
344339
return queryBuilder.String(), queryParams
345340
}
346341

347-
// buildTagFiltersWhereConditionOR is intentionally unused today.
348-
// It is kept as documented dead code so switching to OR in future is straightforward.
349-
func (impl AppListingRepositoryQueryBuilder) buildTagFiltersWhereConditionOR(tagFilters []TagFilter) (string, []interface{}) {
350-
if len(tagFilters) == 0 {
351-
return "", nil
352-
}
353-
clauses := make([]string, 0, len(tagFilters))
354-
queryParams := make([]interface{}, 0, len(tagFilters)*2)
355-
for _, tagFilter := range tagFilters {
356-
predicate, predicateParams := impl.buildTagFilterPredicate(tagFilter)
357-
clauses = append(clauses, predicate)
358-
queryParams = append(queryParams, predicateParams...)
359-
}
360-
return " and (" + strings.Join(clauses, " OR ") + ") ", queryParams
361-
}
362-
363342
// buildTagFilterPredicate converts one UI tag filter row into a SQL predicate.
364343
// Operator behavior (all case-sensitive):
365344
// - EQUALS: key exists with exact value match.

internal/sql/repository/helper/AppListingRepositoryQueryBuilder_tag_filters_test.go

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package helper
22

33
import (
4-
"fmt"
54
"go.uber.org/zap"
65
"testing"
76

@@ -38,17 +37,6 @@ func TestBuildAppListingWhereCondition_WithTagFiltersAnd(t *testing.T) {
3837
require.Equal(t, "zone", queryParams[7])
3938
}
4039

41-
func TestBuildTagFiltersWhereConditionOR(t *testing.T) {
42-
queryBuilder := NewAppListingRepositoryQueryBuilder(zap.NewNop().Sugar())
43-
whereClause, queryParams := queryBuilder.buildTagFiltersWhereConditionOR([]TagFilter{
44-
{Key: "owner", Operator: TagFilterOperatorEquals, Value: stringPointer("James")},
45-
{Key: "cost-center", Operator: TagFilterOperatorContains, Value: stringPointer("ENG")},
46-
})
47-
48-
require.Equal(t, " and (EXISTS (SELECT 1 FROM app_label al WHERE al.app_id = a.id and al.key = ? and al.value = ?) OR EXISTS (SELECT 1 FROM app_label al WHERE al.app_id = a.id and al.key = ? and al.value LIKE ? ESCAPE '\\')) ", whereClause)
49-
require.Equal(t, []interface{}{"owner", "James", "cost-center", "%ENG%"}, queryParams)
50-
}
51-
5240
func TestBuildTagFilterPredicate_DoesNotEqualRequiresKeyAndDifferentValue(t *testing.T) {
5341
queryBuilder := NewAppListingRepositoryQueryBuilder(zap.NewNop().Sugar())
5442
value := "mayank"
@@ -76,28 +64,3 @@ func TestBuildTagFilterPredicate_DoesNotContainRequiresKeyAndNotLike(t *testing.
7664
require.Equal(t, "EXISTS (SELECT 1 FROM app_label al WHERE al.app_id = a.id and al.key = ? and al.value NOT LIKE ? ESCAPE '\\')", predicate)
7765
require.Equal(t, []interface{}{"owner", "%may%"}, queryParams)
7866
}
79-
80-
func BenchmarkBuildAppListingQueryWithTagFilters(b *testing.B) {
81-
queryBuilder := NewAppListingRepositoryQueryBuilder(zap.NewNop().Sugar())
82-
tagFilters := make([]TagFilter, 0, 10)
83-
for i := 0; i < 10; i++ {
84-
value := fmt.Sprintf("value-%d", i)
85-
tagFilters = append(tagFilters, TagFilter{
86-
Key: fmt.Sprintf("key-%d", i),
87-
Operator: TagFilterOperatorContains,
88-
Value: &value,
89-
})
90-
}
91-
appListingFilter := AppListingFilter{
92-
TagFilters: tagFilters,
93-
SortBy: AppNameSortBy,
94-
SortOrder: Asc,
95-
Offset: 0,
96-
Size: 20,
97-
}
98-
99-
b.ReportAllocs()
100-
for i := 0; i < b.N; i++ {
101-
_, _ = queryBuilder.GetAppIdsQueryWithPaginationForAppNameSearch(appListingFilter)
102-
}
103-
}

pkg/app/AppListingService.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -420,11 +420,6 @@ func (impl AppListingServiceImpl) FetchAppsByEnvironmentV2(fetchAppListingReques
420420
if len(fetchAppListingRequest.Namespaces) != 0 && len(fetchAppListingRequest.Environments) == 0 {
421421
return []*AppView.AppEnvironmentContainer{}, 0, nil
422422
}
423-
normalizedTagFilters, err := NormalizeAndValidateTagFilters(fetchAppListingRequest.TagFilters)
424-
if err != nil {
425-
return []*AppView.AppEnvironmentContainer{}, 0, err
426-
}
427-
fetchAppListingRequest.TagFilters = normalizedTagFilters
428423

429424
// Currently AppStatus is available in Db for only ArgoApps
430425
// We fetch AppStatus on the fly for Helm Apps from scoop, So AppStatus filter will be applied in last
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)