@@ -5,19 +5,29 @@ import (
5
5
"slices"
6
6
"strings"
7
7
8
+ "github.com/nais/api/internal/graph/model"
8
9
"github.com/nais/api/internal/graph/sortfilter"
9
10
"github.com/nais/api/internal/workload/application"
10
11
"github.com/nais/api/internal/workload/job"
12
+ "k8s.io/utils/ptr"
11
13
)
12
14
13
15
var SortFilter = sortfilter .New [* Secret , SecretOrderField , * SecretFilter ]()
14
16
17
+ type SortFilterTieBreaker = sortfilter.TieBreaker [SecretOrderField ]
18
+
15
19
func init () {
16
20
SortFilter .RegisterSort ("NAME" , func (ctx context.Context , a , b * Secret ) int {
17
21
return strings .Compare (a .GetName (), b .GetName ())
22
+ }, SortFilterTieBreaker {
23
+ Field : "ENVIRONMENT" ,
24
+ Direction : ptr .To (model .OrderDirectionAsc ),
18
25
})
19
26
SortFilter .RegisterSort ("ENVIRONMENT" , func (ctx context.Context , a , b * Secret ) int {
20
27
return strings .Compare (a .EnvironmentName , b .EnvironmentName )
28
+ }, SortFilterTieBreaker {
29
+ Field : "NAME" ,
30
+ Direction : ptr .To (model .OrderDirectionAsc ),
21
31
})
22
32
SortFilter .RegisterSort ("LAST_MODIFIED_AT" , func (ctx context.Context , a , b * Secret ) int {
23
33
if a .LastModifiedAt == nil && b .LastModifiedAt == nil {
@@ -30,7 +40,14 @@ func init() {
30
40
return 1
31
41
}
32
42
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 ),
33
49
})
50
+
34
51
SortFilter .RegisterFilter (func (ctx context.Context , v * Secret , filter * SecretFilter ) bool {
35
52
if filter .InUse == nil {
36
53
return true
0 commit comments