Skip to content

Commit 69573ca

Browse files
Add more tie-breakers
1 parent 2a0c75e commit 69573ca

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

internal/workload/secret/sortfilter.go

+17
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,29 @@ import (
55
"slices"
66
"strings"
77

8+
"github.com/nais/api/internal/graph/model"
89
"github.com/nais/api/internal/graph/sortfilter"
910
"github.com/nais/api/internal/workload/application"
1011
"github.com/nais/api/internal/workload/job"
12+
"k8s.io/utils/ptr"
1113
)
1214

1315
var SortFilter = sortfilter.New[*Secret, SecretOrderField, *SecretFilter]()
1416

17+
type SortFilterTieBreaker = sortfilter.TieBreaker[SecretOrderField]
18+
1519
func init() {
1620
SortFilter.RegisterSort("NAME", func(ctx context.Context, a, b *Secret) int {
1721
return strings.Compare(a.GetName(), b.GetName())
22+
}, SortFilterTieBreaker{
23+
Field: "ENVIRONMENT",
24+
Direction: ptr.To(model.OrderDirectionAsc),
1825
})
1926
SortFilter.RegisterSort("ENVIRONMENT", func(ctx context.Context, a, b *Secret) int {
2027
return strings.Compare(a.EnvironmentName, b.EnvironmentName)
28+
}, SortFilterTieBreaker{
29+
Field: "NAME",
30+
Direction: ptr.To(model.OrderDirectionAsc),
2131
})
2232
SortFilter.RegisterSort("LAST_MODIFIED_AT", func(ctx context.Context, a, b *Secret) int {
2333
if a.LastModifiedAt == nil && b.LastModifiedAt == nil {
@@ -30,7 +40,14 @@ func init() {
3040
return 1
3141
}
3242
return a.LastModifiedAt.Compare(*b.LastModifiedAt)
43+
}, SortFilterTieBreaker{
44+
Field: "NAME",
45+
Direction: ptr.To(model.OrderDirectionAsc),
46+
}, SortFilterTieBreaker{
47+
Field: "ENVIRONMENT",
48+
Direction: ptr.To(model.OrderDirectionAsc),
3349
})
50+
3451
SortFilter.RegisterFilter(func(ctx context.Context, v *Secret, filter *SecretFilter) bool {
3552
if filter.InUse == nil {
3653
return true

0 commit comments

Comments
 (0)