base

package
v0.4.0-alpha Latest Latest
Warning

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

Go to latest
Published: Sep 13, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConvertFromStructpb

func ConvertFromStructpb(from *structpb.Struct, to interface{}) error

func ConvertToStructpb

func ConvertToStructpb(from interface{}) (*structpb.Struct, error)

Types

type BaseConnection

type BaseConnection struct {
	// Logger for connection
	Logger     *zap.Logger
	DefUid     uuid.UUID
	Definition *connectorPB.ConnectorDefinition
	Config     *structpb.Struct
}

func (*BaseConnection) ValidateInput

func (conn *BaseConnection) ValidateInput(data []*structpb.Struct, task string) error

func (*BaseConnection) ValidateOutput

func (conn *BaseConnection) ValidateOutput(data []*structpb.Struct, task string) error

type BaseConnector

type BaseConnector struct {

	// Logger
	Logger *zap.Logger
	// contains filtered or unexported fields
}

func (*BaseConnector) AddConnectorDefinition

func (c *BaseConnector) AddConnectorDefinition(uid uuid.UUID, id string, def *connectorPB.ConnectorDefinition) error

func (*BaseConnector) GetConnectorDefinitionById

func (c *BaseConnector) GetConnectorDefinitionById(defId string) (*connectorPB.ConnectorDefinition, error)

func (*BaseConnector) GetConnectorDefinitionByUid

func (c *BaseConnector) GetConnectorDefinitionByUid(defUid uuid.UUID) (*connectorPB.ConnectorDefinition, error)

func (*BaseConnector) GetConnectorDefinitionMap

func (c *BaseConnector) GetConnectorDefinitionMap() map[uuid.UUID]*connectorPB.ConnectorDefinition

func (*BaseConnector) HasUid

func (c *BaseConnector) HasUid(defUid uuid.UUID) bool

func (*BaseConnector) IsCredentialField

func (c *BaseConnector) IsCredentialField(defId string, target string) bool

func (*BaseConnector) ListConnectorDefinitionUids

func (c *BaseConnector) ListConnectorDefinitionUids() []uuid.UUID

func (*BaseConnector) ListConnectorDefinitions

func (c *BaseConnector) ListConnectorDefinitions() []*connectorPB.ConnectorDefinition

func (*BaseConnector) ListCredentialField

func (c *BaseConnector) ListCredentialField(defId string) []string

type IConnection

type IConnection interface {
	// Functions that shared for all connectors
	// Validate the input and output format
	ValidateInput(data []*structpb.Struct, task string) error
	ValidateOutput(data []*structpb.Struct, task string) error

	// Functions that need to be implenmented in connector implenmentation
	// Execute
	Execute(inputs []*structpb.Struct) ([]*structpb.Struct, error)
	// Test connection
	Test() (connectorPB.ConnectorResource_State, error)
}

type IConnector

type IConnector interface {

	// Functions that shared for all connectors
	// Add connector definition
	AddConnectorDefinition(uid uuid.UUID, id string, def *connectorPB.ConnectorDefinition) error

	// Get the map of connector definitions under this connector
	GetConnectorDefinitionMap() map[uuid.UUID]*connectorPB.ConnectorDefinition
	// Get the connector definition by definition uid
	GetConnectorDefinitionByUid(defUid uuid.UUID) (*connectorPB.ConnectorDefinition, error)
	// Get the connector definition by definition id
	GetConnectorDefinitionById(defId string) (*connectorPB.ConnectorDefinition, error)
	// Get the list of connector definitions under this connector
	ListConnectorDefinitions() []*connectorPB.ConnectorDefinition
	// Get the list of connector definitions uuids
	ListConnectorDefinitionUids() []uuid.UUID
	// List the CredentialFields by definition id
	ListCredentialField(defId string) []string

	// A helper function to check the connector has this definition by uid.
	HasUid(defUid uuid.UUID) bool
	// A helper function to check the target field a.b.c is credential
	IsCredentialField(defId string, target string) bool

	// Functions that need to be implenmented in connector implenmentation
	// Create a connection by defition uid and connector configuration
	CreateConnection(defUid uuid.UUID, connConfig *structpb.Struct, logger *zap.Logger) (IConnection, error)
}

`IConnector` define the function interface for all connectors.

Jump to

Keyboard shortcuts

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