schema

package
v0.0.0-...-784fdef Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2025 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	FetchModeParallel = "parallel" // nolint:gochecknoglobals
	FetchModeSerial   = "serial"   // nolint:gochecknoglobals

	ErrInvalidFetchType = errors.New("invalid fetch type")
	ErrNoMetadata       = errors.New("no metadata found")
)
View Source
var ErrUnableToGetMetadata = errors.New("unable to get metadata")

Functions

This section is empty.

Types

type AggregateSchemaProvider

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

AggregateSchemaProvider gets the schema for multiple objects using a single batch request.

func (*AggregateSchemaProvider) ListObjectMetadata

func (p *AggregateSchemaProvider) ListObjectMetadata(
	ctx context.Context,
	objects []string,
) (*common.ListObjectMetadataResult, error)

func (*AggregateSchemaProvider) String

func (p *AggregateSchemaProvider) String() string

type CompositeSchemaProvider

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

CompositeSchemaProvider gets metadata from multiple providers with fallback. For example, certain connectors may have OpenAPI definitions for some objects, while other objects require calling an API endpoint to get the metadata. This provider will try each provider in sequence until all objects are processed. If a provider doesn't successfully get metadata for all objects, it will try the next provider. If all providers fail, it will return an error.

func NewCompositeSchemaProvider

func NewCompositeSchemaProvider(schemaProviders ...components.SchemaProvider) *CompositeSchemaProvider

func (*CompositeSchemaProvider) ListObjectMetadata

func (c *CompositeSchemaProvider) ListObjectMetadata(
	ctx context.Context,
	objects []string,
) (*common.ListObjectMetadataResult, error)

ListObjectMetadata attempts to retrieve metadata for objects using each schema provider in sequence. It returns aggregated results from the most successful provider (with the fewest errors). Providers are tried in the order they were registered in the CompositeSchemaProvider.

func (*CompositeSchemaProvider) String

func (c *CompositeSchemaProvider) String() string

type ObjectSchemaProvider

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

ObjectSchemaProvider implements Provider by fetching each object individually.

func (*ObjectSchemaProvider) ListObjectMetadata

func (p *ObjectSchemaProvider) ListObjectMetadata(
	ctx context.Context,
	objects []string,
) (*common.ListObjectMetadataResult, error)

func (*ObjectSchemaProvider) String

func (p *ObjectSchemaProvider) String() string

type OpenAPISchemaProvider

type OpenAPISchemaProvider[F staticschema.FieldMetadataMap, C any] struct {
	// contains filtered or unexported fields
}

OpenAPISchemaProvider implements Provider using OpenAPI schemas.

func NewOpenAPISchemaProvider

func NewOpenAPISchemaProvider[F staticschema.FieldMetadataMap, C any](
	module common.ModuleID,
	schemas *staticschema.Metadata[F, C],
) *OpenAPISchemaProvider[F, C]

func (*OpenAPISchemaProvider[F, C]) ListObjectMetadata

func (p *OpenAPISchemaProvider[F, C]) ListObjectMetadata(
	ctx context.Context,
	objects []string,
) (*common.ListObjectMetadataResult, error)

func (*OpenAPISchemaProvider[F, C]) String

func (p *OpenAPISchemaProvider[F, C]) String() string

Jump to

Keyboard shortcuts

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