metadata

package
v0.1.0-alpha.6 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

internal/destregistry/metadata/types.go

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FSMetadataLoader

type FSMetadataLoader struct {
	// contains filtered or unexported fields
}

func (*FSMetadataLoader) Load

func (l *FSMetadataLoader) Load(providerType string) (*ProviderMetadata, error)

type FieldSchema

type FieldSchema struct {
	Type        string  `json:"type"`
	Label       string  `json:"label"`
	Description string  `json:"description"`
	Key         string  `json:"key"`
	Required    bool    `json:"required"`
	Disabled    bool    `json:"disabled,omitempty"`
	Sensitive   bool    `json:"sensitive,omitempty"` // Whether the field value should be obfuscated in API responses
	Min         *int    `json:"min,omitempty"`       // Minimum value for numeric fields
	Max         *int    `json:"max,omitempty"`       // Maximum value for numeric fields
	Step        *int    `json:"step,omitempty"`      // Step value for numeric fields
	MinLength   *int    `json:"minlength,omitempty"` // Minimum length for text fields
	MaxLength   *int    `json:"maxlength,omitempty"` // Maximum length for text fields
	Pattern     *string `json:"pattern,omitempty"`   // Regular expression pattern for text fields
}

type MetadataLoader

type MetadataLoader interface {
	Load(providerType string) (*ProviderMetadata, error)
}

MetadataLoader loads provider metadata

func NewMetadataLoader

func NewMetadataLoader(basePath string) MetadataLoader

type ProviderMetadata

type ProviderMetadata struct {
	Type             string        `json:"type"`
	ConfigFields     []FieldSchema `json:"config_fields"`
	CredentialFields []FieldSchema `json:"credential_fields"`
	Label            string        `json:"label"`
	Description      string        `json:"description"`
	Icon             string        `json:"icon"`
	RemoteSetupURL   string        `json:"remote_setup_url,omitempty"`
	Instructions     string        `json:"instructions"`
}

Jump to

Keyboard shortcuts

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