etl

package
v4.4.3 Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2024 License: AGPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterConverter

func RegisterConverter(converter Converter)

Types

type Converter

type Converter interface {
	Convert(interface{}) ([]merger.Differ, bool)
}

type MergeOperation

type MergeOperation struct {
	Description string
	Cursor      int
	Total       int
	Error       error
}

type Merger

type Merger struct {
	Source  models.ReadableStore
	Target  models.WritableStore
	Options *models.MergeOptions
}

func NewMerger

func NewMerger(source models.ReadableStore, target models.WritableStore, options *models.MergeOptions) *Merger

func (*Merger) Close

func (m *Merger) Close() error

func (*Merger) Create

func (m *Merger) Create(ctx context.Context, obj interface{}) error

func (*Merger) Delete

func (m *Merger) Delete(ctx context.Context, obj interface{}) error

func (*Merger) Diff

func (m *Merger) Diff(source interface{}, target interface{}, res merger.Diff)

func (*Merger) LoadAndDiffACLs

func (m *Merger) LoadAndDiffACLs(ctx context.Context) (*models.ACLDiff, error)

func (*Merger) LoadAndDiffRoles

func (m *Merger) LoadAndDiffRoles(ctx context.Context, params map[string]interface{}) (*models.RoleDiff, error)

func (*Merger) LoadAndDiffShares

func (m *Merger) LoadAndDiffShares(ctx context.Context, params map[string]interface{}) (*models.ShareDiff, error)

func (*Merger) LoadAndDiffUsers

func (m *Merger) LoadAndDiffUsers(ctx context.Context, progress chan float32) (*models.UserDiff, *models.RoleDiff, error)

func (*Merger) Save

func (m *Merger) Save(ctx context.Context, diff merger.Diff, progress chan MergeOperation)

func (*Merger) SaveShares

func (m *Merger) SaveShares(ctx context.Context, diff *models.ShareDiff, progress chan MergeOperation, params map[string]interface{})

func (*Merger) SaveUsers

func (m *Merger) SaveUsers(ctx context.Context, userDiff *models.UserDiff, roleDiff *models.RoleDiff, progress chan MergeOperation)

func (*Merger) Update

func (m *Merger) Update(ctx context.Context, obj interface{}) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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