Wrap errors so it's clear either error is coming from SDK or Connect

This commit is contained in:
Volodymyr Zotov
2025-06-06 12:53:56 -05:00
parent 97e06e5c4d
commit 4757263c66
2 changed files with 20 additions and 9 deletions

View File

@@ -30,7 +30,7 @@ func NewClient(config Config) *Connect {
func (c *Connect) GetItemByID(vaultID, itemID string) (*model.Item, error) {
connectItem, err := c.client.GetItemByUUID(itemID, vaultID)
if err != nil {
return nil, err
return nil, fmt.Errorf("1password Connect error: %w", err)
}
var item model.Item
@@ -42,7 +42,7 @@ func (c *Connect) GetItemsByTitle(vaultID, itemTitle string) ([]model.Item, erro
// Get all items in the vault with the specified title
connectItems, err := c.client.GetItemsByTitle(itemTitle, vaultID)
if err != nil {
return nil, err
return nil, fmt.Errorf("1password Connect error: %w", err)
}
var items []model.Item
@@ -56,15 +56,20 @@ func (c *Connect) GetItemsByTitle(vaultID, itemTitle string) ([]model.Item, erro
}
func (c *Connect) GetFileContent(vaultID, itemID, fileID string) ([]byte, error) {
return c.client.GetFileContent(&onepassword.File{
bytes, err := c.client.GetFileContent(&onepassword.File{
ContentPath: fmt.Sprintf("/v1/vaults/%s/items/%s/files/%s/content", vaultID, itemID, fileID),
})
if err != nil {
return nil, fmt.Errorf("1password Connect error: %w", err)
}
return bytes, nil
}
func (c *Connect) GetVaultsByTitle(vaultQuery string) ([]model.Vault, error) {
connectVaults, err := c.client.GetVaultsByTitle(vaultQuery)
if err != nil {
return nil, err
return nil, fmt.Errorf("1password Connect error: %w", err)
}
var vaults []model.Vault

View File

@@ -2,6 +2,7 @@ package sdk
import (
"context"
"fmt"
"github.com/1Password/onepassword-operator/pkg/onepassword/model"
sdk "github.com/1password/onepassword-sdk-go"
@@ -25,7 +26,7 @@ func NewClient(config Config) (*SDK, error) {
sdk.WithIntegrationInfo(config.IntegrationName, config.IntegrationVersion),
)
if err != nil {
return nil, err
return nil, fmt.Errorf("1password sdk error: %w", err)
}
return &SDK{
@@ -36,7 +37,7 @@ func NewClient(config Config) (*SDK, error) {
func (s *SDK) GetItemByID(vaultID, itemID string) (*model.Item, error) {
sdkItem, err := s.client.Items().Get(context.Background(), vaultID, itemID)
if err != nil {
return nil, err
return nil, fmt.Errorf("1password sdk error: %w", err)
}
var item model.Item
@@ -48,7 +49,7 @@ func (s *SDK) GetItemsByTitle(vaultID, itemTitle string) ([]model.Item, error) {
// Get all items in the vault
sdkItems, err := s.client.Items().List(context.Background(), vaultID)
if err != nil {
return nil, err
return nil, fmt.Errorf("1password sdk error: %w", err)
}
// Filter items by title
@@ -65,16 +66,21 @@ func (s *SDK) GetItemsByTitle(vaultID, itemTitle string) ([]model.Item, error) {
}
func (s *SDK) GetFileContent(vaultID, itemID, fileID string) ([]byte, error) {
return s.client.Items().Files().Read(context.Background(), vaultID, itemID, sdk.FileAttributes{
bytes, err := s.client.Items().Files().Read(context.Background(), vaultID, itemID, sdk.FileAttributes{
ID: fileID,
})
if err != nil {
return nil, fmt.Errorf("1password sdk error: %w", err)
}
return bytes, nil
}
func (s *SDK) GetVaultsByTitle(title string) ([]model.Vault, error) {
// List all vaults
sdkVaults, err := s.client.Vaults().List(context.Background())
if err != nil {
return nil, err
return nil, fmt.Errorf("1password sdk error: %w", err)
}
// Filter vaults by title