schema

package
v0.0.0-...-93985a7 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2025 License: MIT Imports: 8 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)

type CompositeSchemaProvider

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

CompositeSchemaProvider gets metadata from multiple providers with fallback.

func NewCompositeSchemaProvider

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

func (*CompositeSchemaProvider) ListObjectMetadata

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

ListObjectMetadata tries each schema provider in order, and returns the best result with the least errors.

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)

type OpenAPISchemaProvider

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

OpenAPIProvider implements Provider using OpenAPI schemas.

func NewOpenAPISchemaProvider

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

func (*OpenAPISchemaProvider[F]) ListObjectMetadata

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

Jump to

Keyboard shortcuts

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