...
1 package resolver
2
3
4
5
6
7 import (
8 "context"
9
10 "edge-infra.dev/pkg/edge/api/graph/model"
11 )
12
13
14 func (r *mutationResolver) UpdateClusterSecret(ctx context.Context, clusterEdgeID string, secretType model.ClusterSecretType, secretValue string) (bool, error) {
15 isSecCompEnabled, err := r.GetBannerEdgeSecurityCompliance(ctx, clusterEdgeID)
16 if err != nil {
17 return false, err
18 }
19 if isSecCompEnabled {
20 return false, ErrBannerOptedIntoCompliance
21 }
22 return r.updateClusterSecret(ctx, clusterEdgeID, secretType, secretValue)
23 }
24
25
26 func (r *mutationResolver) ReleaseClusterSecretLease(ctx context.Context, clusterEdgeID string, secretType model.ClusterSecretType) (bool, error) {
27 return r.removeUserFromClusterSecretLease(ctx, clusterEdgeID, secretType, "", "release")
28 }
29
30
31 func (r *mutationResolver) RevokeClusterSecretLease(ctx context.Context, clusterEdgeID string, secretType model.ClusterSecretType, username string) (bool, error) {
32 return r.removeUserFromClusterSecretLease(ctx, clusterEdgeID, secretType, username, "revoke")
33 }
34
35
36 func (r *queryResolver) ClusterSecret(ctx context.Context, clusterEdgeID string, secretType model.ClusterSecretType, version *string) (string, error) {
37 ver := "latest"
38 if version != nil && *version != "" {
39 ver = *version
40 }
41 return r.fetchClusterSecretPlainValue(ctx, clusterEdgeID, secretType, ver)
42 }
43
44
45 func (r *queryResolver) ClusterSecretVersions(ctx context.Context, clusterEdgeID string, secretType model.ClusterSecretType) ([]*model.ClusterSecretVersionInfo, error) {
46 return r.fetchClusterSecretVersions(ctx, clusterEdgeID, secretType)
47 }
48
49
50 func (r *queryResolver) ClusterSecretLease(ctx context.Context, clusterEdgeID string, secretType model.ClusterSecretType) (*model.ClusterSecretLease, error) {
51 return r.fetchClusterSecretLease(ctx, clusterEdgeID, secretType)
52 }
53
View as plain text