1 package resolver
2
3
4
5
6
7 import (
8 "context"
9 "fmt"
10
11 "edge-infra.dev/pkg/edge/api/graph/model"
12 "github.com/rs/zerolog/log"
13 )
14
15
16 func (r *mutationResolver) CreateLabel(ctx context.Context, newLabel *model.LabelInput) (bool, error) {
17 err := r.LabelService.CreateLabel(ctx, newLabel)
18 if err != nil {
19 log.Err(err).Msg("error creating label")
20 return false, err
21 }
22 return true, nil
23 }
24
25
26 func (r *mutationResolver) UpdateLabel(ctx context.Context, newLabel *model.LabelUpdateInput) (bool, error) {
27 err := r.LabelService.UpdateLabel(ctx, newLabel)
28 if err != nil {
29 log.Err(err).Msg("error creating label")
30 return false, err
31 }
32 return true, nil
33 }
34
35
36 func (r *mutationResolver) DeleteLabel(ctx context.Context, labelEdgeID string) (bool, error) {
37 err := r.LabelService.DeleteLabels(ctx, labelEdgeID)
38 if err != nil {
39 log.Err(err).Msg("error deleting label")
40 return false, err
41 }
42 return true, nil
43 }
44
45
46 func (r *mutationResolver) AddClusterLabel(ctx context.Context, clusterLabelParameters model.NewClusterLabelInput) (bool, error) {
47 r.LabelMutex.Lock()
48 defer r.LabelMutex.Unlock()
49 err := r.LabelService.CreateClusterLabel(ctx, clusterLabelParameters.ClusterEdgeID, clusterLabelParameters.LabelEdgeID)
50 if err != nil {
51 log.Err(err).Msg("error creating cluster label")
52 return false, err
53 }
54 return true, nil
55 }
56
57
58 func (r *mutationResolver) AddClusterLabels(ctx context.Context, clusterEdgeID string, labelEdgeIds []string) (bool, error) {
59 r.LabelMutex.Lock()
60 defer r.LabelMutex.Unlock()
61 err := r.LabelService.CreateClusterLabels(ctx, clusterEdgeID, labelEdgeIds)
62 if err != nil {
63 return false, err
64 }
65 return true, nil
66 }
67
68
69 func (r *mutationResolver) DeleteClusterLabel(ctx context.Context, clusterLabelParameters model.SearchClusterLabelInput) (bool, error) {
70 r.LabelMutex.Lock()
71 defer r.LabelMutex.Unlock()
72 err := r.LabelService.DeleteClusterLabels(ctx, clusterLabelParameters.ClusterEdgeID, clusterLabelParameters.LabelEdgeID)
73 if err != nil {
74 log.Err(err).Msg("error deleting cluster label")
75 return false, err
76 }
77 return true, nil
78 }
79
80
81 func (r *queryResolver) Labels(ctx context.Context, bannerEdgeID *string) ([]*model.Label, error) {
82 return r.LabelService.GetLabels(ctx, bannerEdgeID)
83 }
84
85
86 func (r *queryResolver) Label(ctx context.Context, labelEdgeID *string) (*model.Label, error) {
87 panic(fmt.Errorf("not implemented"))
88 }
89
90
91 func (r *queryResolver) ClusterLabels(ctx context.Context, clusterLabelParameters model.SearchClusterLabelInput) ([]*model.ClusterLabel, error) {
92 return r.LabelService.GetClusterLabels(ctx, clusterLabelParameters.ClusterEdgeID, clusterLabelParameters.LabelEdgeID)
93 }
94
95
96 func (r *queryResolver) LabelTypes(ctx context.Context, bannerEdgeID *string) ([]string, error) {
97 return r.LabelService.GetLabelTypes(ctx, bannerEdgeID)
98 }
99
View as plain text