client

package
v1.1.40 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2023 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApplyInterface

type ApplyInterface interface {
	ApplyResource(ctx context.Context, resource *model.Resource, doMigration, forceMigration bool) error
}

type Config added in v1.1.39

type Config struct {
	Type          string
	Servers       []ConfigServer
	DefaultServer string
}

type ConfigServer added in v1.1.39

type ConfigServer struct {
	Host           string
	Name           string
	Authentication ConfigServerAuthentication
}

type ConfigServerAuthentication added in v1.1.39

type ConfigServerAuthentication struct {
	Username string
	Password string
	Token    string
}

type DhClient

type DhClient interface {
	ApplyInterface
	AuthenticateWithToken(token string)
	AuthenticateWithUsernameAndPassword(username string, password string) error
	NewExtension(host string, remoteHost string) Extension
	UpdateTokenFromContext(ctx context.Context)

	// record
	CreateRecord(ctx context.Context, namespace string, resource string, record *model.Record) (*model.Record, error)
	UpdateRecord(ctx context.Context, namespace string, resource string, record *model.Record) (*model.Record, error)
	ApplyRecord(ctx context.Context, namespace string, resource string, record *model.Record) (*model.Record, error)
	GetRecord(ctx context.Context, namespace string, resource string, id string) (*model.Record, error)
	ListRecords(ctx context.Context, params service.RecordListParams) ([]*model.Record, uint32, error)

	// resource
	GetResourceByName(ctx context.Context, namespace string, getType string) (*model.Resource, error)
	ListResources(ctx context.Context) ([]*model.Resource, error)
	ReadRecordStream(ctx context.Context, params service.RecordListParams, recordsChan chan *model.Record) error
	DeleteResource(ctx context.Context, id string, doMigration bool, forceMigration bool) error
}

func NewDhClient

func NewDhClient(params DhClientParams) (DhClient, error)

func NewDhClientLocal added in v1.1.39

func NewDhClientLocal(serverName string) (DhClient, error)

func NewLocalClient added in v1.1.37

func NewLocalClient(container service.Container) DhClient

type DhClientParams

type DhClientParams struct {
	Addr     string
	Insecure bool
	Token    string
}

type Extension

type Extension interface {
	Run(ctx context.Context) error
	RegisterFunction(s string, f ExternalFunction)
	GetRemoteHost() string
	RegisterExtension(newExtension *resource_model.Extension)

	WithServiceKey(serviceKey string) Extension
	// contains filtered or unexported methods
}

type ExternalFunction

type ExternalFunction func(ctx context.Context, req *model.Event) (*model.Event, error)

type FindParams

type FindParams struct {
	Limit             uint32
	Offset            uint64
	UseHistory        bool
	Annotations       map[string]string
	ResolveReferences []string
	Query             *model.BooleanExpression
}

type Handler added in v1.1.37

type Handler[Entity interface{}] interface {
	Name(string) Handler[Entity]
	Before() Handler[Entity]
	PreProcess(RecordProcessFunc[Entity]) Handler[Entity]
	PostProcess(RecordProcessFunc[Entity]) Handler[Entity]
	Lambda(action string, processor LambdaProcessFunc[Entity]) Handler[Entity]
	Fire(ctx context.Context, action string, payload Entity) error
	After() Handler[Entity]
	Instead() Handler[Entity]
	Create(RecordProcessFunc[Entity]) Handler[Entity]
	Update(RecordProcessFunc[Entity]) Handler[Entity]
	Delete(RecordProcessFunc[Entity]) Handler[Entity]
}

func NewHandler added in v1.1.37

func NewHandler[Entity interface{}](dhClient DhClient, ext Extension, mapper abs.EntityMapper[Entity]) Handler[Entity]

type LambdaProcessFunc added in v1.1.37

type LambdaProcessFunc[Entity interface{}] func(ctx context.Context, instance Entity) error

type RecordProcessFunc added in v1.1.37

type RecordProcessFunc[Entity interface{}] func(ctx context.Context, instance Entity) (Entity, error)

type Repository

type Repository[Entity interface{}] interface {
	Mapper() abs.EntityMapper[Entity]
	Create(ctx context.Context, entity Entity) (Entity, error)
	Update(ctx context.Context, entity Entity) (Entity, error)
	Apply(ctx context.Context, entity Entity) (Entity, error)
	Get(ctx context.Context, id string) (Entity, error)
	Find(ctx context.Context, params FindParams) ([]Entity, uint32, error)
}

func NewRepository

func NewRepository[Entity interface{}](client DhClient, mapper abs.EntityMapper[Entity]) Repository[Entity]

func R added in v1.1.37

func R[Entity interface{}](client DhClient, mapper abs.EntityMapper[Entity]) Repository[Entity]

Jump to

Keyboard shortcuts

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