From 8381328ea97eaba8666d4e15d19082380b0ceec0 Mon Sep 17 00:00:00 2001 From: Samuel Lorch Date: Wed, 8 Sep 2021 14:43:12 +0200 Subject: [PATCH] improve errors --- helper/folder.go | 26 ++++++++++++++++++++++---- helper/resources.go | 14 +++++++++++--- helper/user.go | 21 ++++++++++++++------- 3 files changed, 47 insertions(+), 14 deletions(-) diff --git a/helper/folder.go b/helper/folder.go index 33895cd..50428b9 100644 --- a/helper/folder.go +++ b/helper/folder.go @@ -2,6 +2,7 @@ package helper import ( "context" + "fmt" "github.com/speatzle/go-passbolt/api" ) @@ -12,27 +13,44 @@ func CreateFolder(ctx context.Context, c *api.Client, folderParentID, name strin Name: name, FolderParentID: folderParentID, }) - return f.ID, err + if err != nil { + return "", fmt.Errorf("Creating Folder: %w", err) + } + return f.ID, nil } // GetFolder Gets a Folder func GetFolder(ctx context.Context, c *api.Client, folderID string) (string, string, error) { f, err := c.GetFolder(ctx, folderID) - return f.FolderParentID, f.Name, err + if err != nil { + return "", "", fmt.Errorf("Getting Folder: %w", err) + } + return f.FolderParentID, f.Name, nil } // UpdateFolder Updates a Folder func UpdateFolder(ctx context.Context, c *api.Client, folderID, name string) error { _, err := c.UpdateFolder(ctx, folderID, api.Folder{Name: name}) + if err != nil { + return fmt.Errorf("Updating Folder: %w", err) + } return err } // DeleteFolder Deletes a Folder func DeleteFolder(ctx context.Context, c *api.Client, folderID string) error { - return c.DeleteFolder(ctx, folderID) + err := c.DeleteFolder(ctx, folderID) + if err != nil { + return fmt.Errorf("Deleting Folder: %w", err) + } + return nil } // MoveFolder Moves a Folder into a Folder func MoveFolder(ctx context.Context, c *api.Client, folderID, folderParentID string) error { - return c.MoveFolder(ctx, folderID, folderParentID) + err := c.MoveFolder(ctx, folderID, folderParentID) + if err != nil { + return fmt.Errorf("Moving Folder: %w", err) + } + return nil } diff --git a/helper/resources.go b/helper/resources.go index 248b487..b5a2108 100644 --- a/helper/resources.go +++ b/helper/resources.go @@ -136,7 +136,7 @@ func UpdateResource(ctx context.Context, c *api.Client, resourceID, name, userna } opts := &api.GetUsersOptions{ - FilterHasAccess: resourceID, + FilterHasAccess: []string{resourceID}, } users, err := c.GetUsers(ctx, opts) if err != nil { @@ -201,10 +201,18 @@ func UpdateResource(ctx context.Context, c *api.Client, resourceID, name, userna // DeleteResource Deletes a Resource func DeleteResource(ctx context.Context, c *api.Client, resourceID string) error { - return c.DeleteResource(ctx, resourceID) + err := c.DeleteResource(ctx, resourceID) + if err != nil { + return fmt.Errorf("Deleting Resource: %w", err) + } + return nil } // MoveResource Moves a Resource into a Folder func MoveResource(ctx context.Context, c *api.Client, resourceID, folderParentID string) error { - return c.MoveResource(ctx, resourceID, folderParentID) + err := c.MoveResource(ctx, resourceID, folderParentID) + if err != nil { + return fmt.Errorf("Moveing Resource: %w", err) + } + return err } diff --git a/helper/user.go b/helper/user.go index 5d5fce0..b7d5723 100644 --- a/helper/user.go +++ b/helper/user.go @@ -24,7 +24,7 @@ func CreateUser(ctx context.Context, c *api.Client, role, username, firstname, l } if roleID == "" { - return "", fmt.Errorf("Cannot Find Role %v", role) + return "", fmt.Errorf("Cannot Find Role: %v", role) } u, err := c.CreateUser(ctx, api.User{ @@ -35,23 +35,26 @@ func CreateUser(ctx context.Context, c *api.Client, role, username, firstname, l }, RoleID: roleID, }) - return u.ID, err + if err != nil { + return "", fmt.Errorf("Creating User: %w", err) + } + return u.ID, nil } // GetUser Gets a User func GetUser(ctx context.Context, c *api.Client, userID string) (string, string, string, string, error) { u, err := c.GetUser(ctx, userID) if err != nil { - return "", "", "", "", fmt.Errorf("Get User %w", err) + return "", "", "", "", fmt.Errorf("Getting User: %w", err) } - return u.Username, u.Profile.FirstName, u.Profile.LastName, u.Role.Name, nil + return u.Role.Name, u.Username, u.Profile.FirstName, u.Profile.LastName, nil } // UpdateUser Updates a User func UpdateUser(ctx context.Context, c *api.Client, userID, role, firstname, lastname string) error { user, err := c.GetUser(ctx, userID) if err != nil { - return fmt.Errorf("Get User %w", err) + return fmt.Errorf("Getting User: %w", err) } new := api.User{ @@ -79,7 +82,7 @@ func UpdateUser(ctx context.Context, c *api.Client, userID, role, firstname, las if roleID == "" { return fmt.Errorf("Cannot Find Role %v", role) } - user.RoleID = roleID + new.RoleID = roleID } if firstname != "" { @@ -98,5 +101,9 @@ func UpdateUser(ctx context.Context, c *api.Client, userID, role, firstname, las // DeleteUser Deletes a User func DeleteUser(ctx context.Context, c *api.Client, userID string) error { - return c.DeleteUser(ctx, userID) + err := c.DeleteUser(ctx, userID) + if err != nil { + return fmt.Errorf("Deleting User: %w", err) + } + return nil }