From 19533e3409ac00b9fd99cb2c2c872ed4c0561731 Mon Sep 17 00:00:00 2001 From: Samuel Lorch Date: Thu, 2 Sep 2021 09:26:47 +0200 Subject: [PATCH] add common utility functions --- helper/util.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 helper/util.go diff --git a/helper/util.go b/helper/util.go new file mode 100644 index 0000000..5dd8300 --- /dev/null +++ b/helper/util.go @@ -0,0 +1,34 @@ +package helper + +import ( + "fmt" + + "github.com/speatzle/go-passbolt/api" +) + +func getPublicKeyByUserID(userID string, Users []api.User) (string, error) { + for _, user := range Users { + if user.ID == userID { + return user.GPGKey.ArmoredKey, nil + } + } + return "", fmt.Errorf("Cannot Find Key for user id %v", userID) +} + +func getMembershipByUserID(memberships []api.GroupMembership, userID string) (*api.GroupMembership, error) { + for _, membership := range memberships { + if membership.UserID == userID { + return &membership, nil + } + } + return nil, fmt.Errorf("Cannot Find Membership for user id %v", userID) +} + +func getSecretByResourceID(secrets []api.Secret, resourceID string) (*api.Secret, error) { + for _, secret := range secrets { + if secret.ResourceID == resourceID { + return &secret, nil + } + } + return nil, fmt.Errorf("Cannot Find Secret for id %v", resourceID) +}