...
1 package resolver
2
3 import (
4 "context"
5 "fmt"
6 "slices"
7
8 "edge-infra.dev/pkg/edge/api/graph/model"
9 "edge-infra.dev/pkg/edge/api/utils"
10 "edge-infra.dev/pkg/edge/capabilities"
11 "edge-infra.dev/pkg/lib/uuid"
12 v1ien "edge-infra.dev/pkg/sds/ien/k8s/apis/v1"
13 )
14
15 func (r *Resolver) getTerminalCustomLabels(ctx context.Context, terminalID string) (map[string]string, error) {
16 customLabels := make(map[string]string, 0)
17 terminalLabels, err := r.TerminalLabelService.GetTerminalLabels(ctx, model.SearchTerminalLabelInput{
18 TerminalID: &terminalID,
19 })
20 if err != nil {
21 return customLabels, err
22 }
23 for _, terminalLabel := range terminalLabels {
24 label, err := r.LabelService.GetLabel(ctx, terminalLabel.LabelEdgeID)
25 if err != nil {
26 return customLabels, err
27 }
28 labelDescription := uuid.FromUUID(terminalLabel.Label.Description).Hash()
29 if err = utils.ValuesValidation([]string{labelDescription}); err != nil {
30 return customLabels, err
31 }
32
33
34 key := label.Key
35 if !slices.Contains(capabilities.EdgeAutomatedCapabilityLabelTypes, label.Type) {
36 key = fmt.Sprintf(v1ien.CustomNodeLabel, label.Key)
37 }
38 customLabels[key] = labelDescription
39 }
40 return customLabels, nil
41 }
42
View as plain text