From e38402edc3e0d1cb11b1e79b6501d8070b3e4670 Mon Sep 17 00:00:00 2001 From: "David J. Allen" Date: Thu, 20 Mar 2025 09:28:24 -0600 Subject: [PATCH] refactor: changed removing secret from store returns error --- pkg/secrets/localstore.go | 8 +++++++- pkg/secrets/main.go | 2 +- pkg/secrets/staticstore.go | 5 +++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/pkg/secrets/localstore.go b/pkg/secrets/localstore.go index 1ae9b91..08acd6c 100644 --- a/pkg/secrets/localstore.go +++ b/pkg/secrets/localstore.go @@ -102,10 +102,16 @@ func (l *LocalSecretStore) ListSecrets() (map[string]string, error) { } // RemoveSecretByID removes the specified secretID stored locally -func (l *LocalSecretStore) RemoveSecretByID(secretID string) { +func (l *LocalSecretStore) RemoveSecretByID(secretID string) error { l.mu.RLock() + // Let user know if there was nothing to delete + _, err := l.GetSecretByID(secretID) + if err != nil { + return err + } delete(l.Secrets, secretID) l.mu.RUnlock() + return nil } // openStore tries to create or open the LocalSecretStore based on the environment diff --git a/pkg/secrets/main.go b/pkg/secrets/main.go index 6d27976..5cb7f95 100644 --- a/pkg/secrets/main.go +++ b/pkg/secrets/main.go @@ -4,5 +4,5 @@ type SecretStore interface { GetSecretByID(secretID string) (string, error) StoreSecretByID(secretID, secret string) error ListSecrets() (map[string]string, error) - RemoveSecretByID(secretID string) + RemoveSecretByID(secretID string) error } diff --git a/pkg/secrets/staticstore.go b/pkg/secrets/staticstore.go index 405f58b..40d9049 100644 --- a/pkg/secrets/staticstore.go +++ b/pkg/secrets/staticstore.go @@ -29,6 +29,7 @@ func (s *StaticStore) ListSecrets() (map[string]string, error) { }, nil } -func (s *StaticStore) RemoveSecretByID(secretID string) { - // Nothing to do here, since nothing is being stored +func (s *StaticStore) RemoveSecretByID(secretID string) error { + // Nothing to do here, since nothing is being stored. With different implementations, we could return an error when no secret is found for a specific ID. + return nil }