1 package resolver
2
3
4
5
6
7 import (
8 "context"
9 "fmt"
10
11 "edge-infra.dev/pkg/edge/api/graph/mapper"
12 "edge-infra.dev/pkg/edge/api/graph/model"
13 )
14
15
16 func (r *mutationResolver) CreateSecret(ctx context.Context, name string, namespace string, description *string, values []*model.KeyValues, clusterEdgeID string) (bool, error) {
17 cluster, err := r.StoreClusterService.GetCluster(ctx, clusterEdgeID)
18 if err != nil {
19 return false, err
20 }
21 return r.SecretService.CreateSecret(ctx, cluster, name, namespace, description, values)
22 }
23
24
25 func (r *mutationResolver) DeleteSecret(ctx context.Context, name string, namespace string, clusterEdgeID string) (bool, error) {
26 cluster, err := r.StoreClusterService.GetCluster(ctx, clusterEdgeID)
27 if err != nil {
28 return false, err
29 }
30 return r.SecretService.DeleteSecret(ctx, cluster, name, namespace)
31 }
32
33
34 func (r *queryResolver) Secrets(ctx context.Context, namespace string, clusterEdgeID string) ([]*model.Secret, error) {
35 cluster, err := r.StoreClusterService.GetCluster(ctx, clusterEdgeID)
36 if err != nil {
37 return nil, err
38 }
39 secretList, secretErr := r.SecretService.GetSecrets(ctx, cluster, namespace, nil)
40 if secretErr != nil {
41 return nil, secretErr
42 }
43 if len(secretList.Items) == 0 {
44 return []*model.Secret{}, nil
45 }
46 return mapper.ToSecrets(secretList.Items), nil
47 }
48
49
50 func (r *queryResolver) Secret(ctx context.Context, name string, namespace string, clusterEdgeID string) (*model.Secret, error) {
51 cluster, err := r.StoreClusterService.GetCluster(ctx, clusterEdgeID)
52 if err != nil {
53 return nil, err
54 }
55 secretList, secretErr := r.SecretService.GetSecrets(ctx, cluster, namespace, &name)
56 if secretErr != nil {
57 return nil, secretErr
58 }
59 if len(secretList.Items) == 0 {
60 return nil, fmt.Errorf("secret %s not found in %s on cluster %s", name, namespace, clusterEdgeID)
61 }
62 return mapper.ToSecrets(secretList.Items)[0], nil
63 }
64
View as plain text