diff --git a/resource/filter.go b/resource/filter.go index f84f7d8..c10ba52 100644 --- a/resource/filter.go +++ b/resource/filter.go @@ -3,6 +3,7 @@ package resource import ( "context" "fmt" + "os" "github.com/google/cel-go/cel" "github.com/passbolt/go-passbolt-cli/util" @@ -39,7 +40,8 @@ func filterResources(resources *[]api.Resource, celCmd string, ctx context.Conte // TODO We should decrypt the secret only when required for performance reasonse _, name, username, uri, pass, desc, err := helper.GetResource(ctx, client, resource.ID) if err != nil { - return nil, fmt.Errorf("Get Resource %w", err) + fmt.Fprintf(os.Stderr, "Warning: Skipping resource %v: %v\n", resource.ID, err) + continue } val, _, err := (*program).ContextEval(ctx, map[string]any{ diff --git a/resource/list.go b/resource/list.go index 010930b..3766c30 100644 --- a/resource/list.go +++ b/resource/list.go @@ -95,7 +95,8 @@ func ResourceList(cmd *cobra.Command, args []string) error { for i := range resources { _, name, username, uri, pass, desc, err := helper.GetResource(ctx, client, resources[i].ID) if err != nil { - return fmt.Errorf("Get Resource %w", err) + fmt.Fprintf(cmd.ErrOrStderr(), "Warning: Skipping resource %v: %v\n", resources[i].ID, err) + continue } outputResources = append(outputResources, ResourceJsonOutput{ ID: &resources[i].ID, @@ -121,7 +122,8 @@ func ResourceList(cmd *cobra.Command, args []string) error { // TODO We should decrypt the secret only when required for performance reasonse _, name, username, uri, pass, desc, err := helper.GetResource(ctx, client, resource.ID) if err != nil { - return fmt.Errorf("Get Resource %w", err) + fmt.Fprintf(cmd.ErrOrStderr(), "Warning: Skipping resource %v: %v\n", resource.ID, err) + continue } entry := make([]string, len(columns))