From f99260fa93c98e55b35bf6e466559ff23ebe8b9a Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Thu, 6 Feb 2020 14:37:43 -0800 Subject: [PATCH] Refactored DeleteSecret. --- kube/secret.go | 8 ++------ manager/secret_manager.go | 9 ++++++++- server/secret_server.go | 4 ++-- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/kube/secret.go b/kube/secret.go index 09514e3..bec061f 100644 --- a/kube/secret.go +++ b/kube/secret.go @@ -64,12 +64,8 @@ func (c *Client) ListSecrets(namespace string) (secrets []*model.Secret, err err return } -func (c *Client) DeleteSecret(namespace string, name string) (deleted bool, err error) { - err = c.CoreV1().Secrets(namespace).Delete(name, &metav1.DeleteOptions{}) - if err != nil { - return false, err - } - return true, nil +func (c *Client) DeleteSecret(namespace string, secret *model.Secret) (err error) { + return c.CoreV1().Secrets(namespace).Delete(secret.Name, &metav1.DeleteOptions{}) } func (c *Client) DeleteSecretKey(namespace string, name string, key string) (deleted bool, err error) { diff --git a/manager/secret_manager.go b/manager/secret_manager.go index 13b6bc8..1099c45 100644 --- a/manager/secret_manager.go +++ b/manager/secret_manager.go @@ -70,7 +70,14 @@ func (r *ResourceManager) ListSecrets(namespace string) (secrets []*model.Secret } func (r *ResourceManager) DeleteSecret(namespace string, name string) (deleted bool, err error) { - return r.kubeClient.DeleteSecret(namespace, name) + secret := &model.Secret{ + Name: name, + } + err = r.kubeClient.DeleteSecret(namespace, secret) + if err != nil { + return false, util.NewUserError(codes.Unknown, "Secret unable to be deleted.") + } + return true, nil } func (r *ResourceManager) DeleteSecretKey(namespace string, name string, key string) (deleted bool, err error) { diff --git a/server/secret_server.go b/server/secret_server.go index aff1aef..bf33cbe 100644 --- a/server/secret_server.go +++ b/server/secret_server.go @@ -79,10 +79,10 @@ func (s *SecretServer) ListSecrets(ctx context.Context, req *api.ListSecretsRequ func (s *SecretServer) DeleteSecret(ctx context.Context, req *api.DeleteSecretRequest) (deleted *api.DeleteSecretResponse, err error) { var isDeleted bool isDeleted, err = s.resourceManager.DeleteSecret(req.Namespace, req.Name) - if err != nil { + if errors.As(err, &userError) { return &api.DeleteSecretResponse{ Deleted: false, - }, util.NewUserError(codes.Unknown, err.Error()) + }, userError.GRPCError() } return &api.DeleteSecretResponse{ Deleted: isDeleted,