mirror of
https://github.com/1Password/onepassword-operator.git
synced 2025-10-22 07:28:06 +00:00
Wrap errors so it's clear either error is coming from SDK or Connect
This commit is contained in:
@@ -30,7 +30,7 @@ func NewClient(config Config) *Connect {
|
|||||||
func (c *Connect) GetItemByID(vaultID, itemID string) (*model.Item, error) {
|
func (c *Connect) GetItemByID(vaultID, itemID string) (*model.Item, error) {
|
||||||
connectItem, err := c.client.GetItemByUUID(itemID, vaultID)
|
connectItem, err := c.client.GetItemByUUID(itemID, vaultID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, fmt.Errorf("1password Connect error: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
var item model.Item
|
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
|
// Get all items in the vault with the specified title
|
||||||
connectItems, err := c.client.GetItemsByTitle(itemTitle, vaultID)
|
connectItems, err := c.client.GetItemsByTitle(itemTitle, vaultID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, fmt.Errorf("1password Connect error: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
var items []model.Item
|
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) {
|
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),
|
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) {
|
func (c *Connect) GetVaultsByTitle(vaultQuery string) ([]model.Vault, error) {
|
||||||
connectVaults, err := c.client.GetVaultsByTitle(vaultQuery)
|
connectVaults, err := c.client.GetVaultsByTitle(vaultQuery)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, fmt.Errorf("1password Connect error: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
var vaults []model.Vault
|
var vaults []model.Vault
|
||||||
|
@@ -2,6 +2,7 @@ package sdk
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"github.com/1Password/onepassword-operator/pkg/onepassword/model"
|
"github.com/1Password/onepassword-operator/pkg/onepassword/model"
|
||||||
sdk "github.com/1password/onepassword-sdk-go"
|
sdk "github.com/1password/onepassword-sdk-go"
|
||||||
@@ -25,7 +26,7 @@ func NewClient(config Config) (*SDK, error) {
|
|||||||
sdk.WithIntegrationInfo(config.IntegrationName, config.IntegrationVersion),
|
sdk.WithIntegrationInfo(config.IntegrationName, config.IntegrationVersion),
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, fmt.Errorf("1password sdk error: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return &SDK{
|
return &SDK{
|
||||||
@@ -36,7 +37,7 @@ func NewClient(config Config) (*SDK, error) {
|
|||||||
func (s *SDK) GetItemByID(vaultID, itemID string) (*model.Item, error) {
|
func (s *SDK) GetItemByID(vaultID, itemID string) (*model.Item, error) {
|
||||||
sdkItem, err := s.client.Items().Get(context.Background(), vaultID, itemID)
|
sdkItem, err := s.client.Items().Get(context.Background(), vaultID, itemID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, fmt.Errorf("1password sdk error: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
var item model.Item
|
var item model.Item
|
||||||
@@ -48,7 +49,7 @@ func (s *SDK) GetItemsByTitle(vaultID, itemTitle string) ([]model.Item, error) {
|
|||||||
// Get all items in the vault
|
// Get all items in the vault
|
||||||
sdkItems, err := s.client.Items().List(context.Background(), vaultID)
|
sdkItems, err := s.client.Items().List(context.Background(), vaultID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, fmt.Errorf("1password sdk error: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Filter items by title
|
// 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) {
|
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,
|
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) {
|
func (s *SDK) GetVaultsByTitle(title string) ([]model.Vault, error) {
|
||||||
// List all vaults
|
// List all vaults
|
||||||
sdkVaults, err := s.client.Vaults().List(context.Background())
|
sdkVaults, err := s.client.Vaults().List(context.Background())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, fmt.Errorf("1password sdk error: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Filter vaults by title
|
// Filter vaults by title
|
||||||
|
Reference in New Issue
Block a user