...
1 package mapper
2
3 import (
4 "fmt"
5
6 "edge-infra.dev/pkg/edge/constants/api/cluster"
7 "edge-infra.dev/pkg/edge/constants/api/fleet"
8
9 "github.com/thoas/go-funk"
10 )
11
12 func ToFleetType(labelKeys []string) (string, error) {
13 fleetType := funk.Find(labelKeys, func(labelKey string) bool { return fleet.Type(labelKey).IsValid() == nil })
14 if fleetType == nil {
15 return "", fmt.Errorf("no valid fleet type found, %v", labelKeys)
16 }
17 return fleetType.(string), nil
18 }
19
20 func ToClusterType(labelKeys []string) (string, error) {
21 clusterType := funk.Find(labelKeys, func(labelKey string) bool { return cluster.Type(labelKey).IsValid() == nil })
22 if clusterType == nil {
23 return "", fmt.Errorf("no valid cluster type found, %v", labelKeys)
24 }
25 return clusterType.(string), nil
26 }
27
View as plain text