adapters

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package adapters provides format conversion layer for storage operations. This layer converts between various input formats (JSON/YAML/CSV) and standard JSON format.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ImportData

type ImportData struct {
	Secrets []SecretImportItem `json:"secrets"`
}

ImportData represents the structure for importing secrets. This is the internal JSON format used by the repository layer.

type SecretAdapter

type SecretAdapter struct{}

SecretAdapter handles format conversion for secret import/export operations. This implements the adapter pattern to unify various input formats to JSON.

func NewSecretAdapter

func NewSecretAdapter() *SecretAdapter

NewSecretAdapter creates a new SecretAdapter instance.

func (*SecretAdapter) ConvertTo

func (a *SecretAdapter) ConvertTo(data []byte, format SecretFormat) ([]byte, error)

ConvertTo converts standard JSON format to various output formats. Args: data - JSON format data. format - output format type (json/yaml/csv). Returns converted data or error if conversion fails.

func (*SecretAdapter) ConvertToExportFormat

func (a *SecretAdapter) ConvertToExportFormat(secrets []*storage_models.Secret) ([]byte, error)

ConvertToExportFormat converts secret models to export data.

func (*SecretAdapter) DetectFormat

func (a *SecretAdapter) DetectFormat(data []byte) SecretFormat

DetectFormat automatically detects input format based on content.

func (*SecretAdapter) ParseFrom

func (a *SecretAdapter) ParseFrom(data []byte, format SecretFormat) ([]byte, error)

ParseFrom converts various input formats to standard JSON format. Args: data - raw data in any supported format (JSON/YAML/CSV). format - input format type (json/yaml/csv). Returns standard JSON format or error if parsing fails.

func (*SecretAdapter) ParseImportData

func (a *SecretAdapter) ParseImportData(data []byte) ([]SecretImportItem, error)

ParseImportData parses JSON format data and returns import items.

type SecretFormat

type SecretFormat string

SecretFormat defines supported import/export formats.

const (
	FormatJSON SecretFormat = "json"
	FormatYAML SecretFormat = "yaml"
	FormatCSV  SecretFormat = "csv"
)

type SecretImportItem

type SecretImportItem struct {
	Key       string                 `json:"key"`
	Value     string                 `json:"value"`
	ExpiresAt string                 `json:"expires_at,omitempty"`
	Metadata  map[string]interface{} `json:"metadata,omitempty"`
}

SecretImportItem represents a single secret for import.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL