actions

package
v0.1.14 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2023 License: AGPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Actions = kodex.ActionDefinitions{
	"undo": kodex.ActionDefinition{
		Name:  "Undo",
		Maker: MakeUndoAction,
	},
	"pseudonymize": kodex.ActionDefinition{
		Name:  "Pseudonymize",
		Maker: MakePseudonymizeAction,
	},
	"quantize": kodex.ActionDefinition{
		Name:  "Quantize",
		Maker: MakeQuantizeAction,
	},
	"generalize": kodex.ActionDefinition{
		Name:  "Generalize",
		Maker: MakeGeneralizeAction,
	},
	"form": kodex.ActionDefinition{
		Name:  "Form Validation",
		Maker: MakeFormAction,
		Form:  FormForm,
	},
	"anonymize": kodex.ActionDefinition{
		Name:  "Anonymize",
		Maker: MakeAnonymizeAction,
	},
	"transcode": kodex.ActionDefinition{
		Name:  "Transcode",
		Maker: MakeTranscodeAction,
	},
	"drop": kodex.ActionDefinition{
		Name:  "Drop",
		Maker: MakeDropAction,
	},
}
View Source
var AnonymizeConfigForm = forms.Form{
	ErrorMsg: "invalid data encountered in the 'anonymize' form",
	Fields: []forms.Field{
		{
			Name: "method",
			Validators: []forms.Validator{
				forms.IsRequired{},
				forms.IsString{},
				forms.IsIn{
					Choices: []interface{}{"aggregate"},
				},
			},
		},
	},
}
View Source
var FormForm = forms.FormForm
View Source
var GeneralizeForm = forms.Form{
	ErrorMsg: "invalid data encountered in the generalize form",
	Fields: []forms.Field{
		{
			Name: "key",
			Validators: []forms.Validator{
				forms.IsOptional{Default: "_"},
				forms.IsString{},
			},
		},
		{
			Name: "type",
			Validators: []forms.Validator{
				forms.IsIn{Choices: []interface{}{"datetime"}},
			},
		},
		{
			Name: "input-format",
			Validators: []forms.Validator{
				forms.IsString{},
			},
		},
		{
			Name: "output-format",
			Validators: []forms.Validator{
				forms.IsString{},
			},
		},
	},
}
View Source
var IsActionForm = forms.Form{
	Fields: []forms.Field{
		{
			Name: "type",
			Validators: []forms.Validator{
				forms.IsOptional{Default: "drop"},
				forms.IsString{},
			},
		},
		{
			Name: "config",
			Validators: []forms.Validator{
				forms.IsOptional{Default: map[string]any{}},
				forms.IsStringMap{},
			},
		},
	},
}
View Source
var PseudonymizeConfigForm = forms.Form{
	ErrorMsg: "invalid data encountered in the 'pseudonymize' form",
	Fields: []forms.Field{
		{
			Name: "method",
			Validators: []forms.Validator{
				forms.IsRequired{},
				forms.IsString{},
				forms.IsIn{
					Choices: []interface{}{"merengue", "structured"},
				},
			},
		},
		{
			Name: "key",
			Validators: []forms.Validator{
				forms.IsOptional{Default: "_"},
				forms.IsString{},
			},
		},
		{
			Name: "config",
			Validators: []forms.Validator{
				forms.IsOptional{},
				forms.IsStringMap{},
			},
		},
	},
}
View Source
var QuantizeForm = forms.Form{
	ErrorMsg: "invalid data encountered in the encode/decode form",
	Fields: []forms.Field{
		{
			Name: "key",
			Validators: []forms.Validator{
				forms.IsString{},
			},
		},
		{
			Name: "precision",
			Validators: []forms.Validator{
				forms.IsFloat{HasMin: true, Min: 0},
			},
		},
	},
}
View Source
var TranscodeConfigForm = forms.Form{
	ErrorMsg: "invalid data encountered in the encode/decode form",
	Fields: []forms.Field{
		{
			Name: "key",
			Validators: []forms.Validator{
				forms.IsRequired{},
				forms.IsString{},
			},
		},
		{
			Name: "from",
			Validators: []forms.Validator{
				forms.IsRequired{},
				forms.IsString{},
				forms.IsIn{
					Choices: []interface{}{"bytes", "string", "base64", "base64-url", "hex", "utf-8"},
				},
			},
		},
		{
			Name: "to",
			Validators: []forms.Validator{
				forms.IsRequired{},
				forms.IsString{},
				forms.IsIn{
					Choices: []interface{}{"bytes", "string", "base64", "base64-url", "hex", "utf-8"},
				},
			},
		},
	},
}
View Source
var UndoActionConfigForm = forms.Form{
	ErrorMsg: "invalid data encountered in the undo form",
	Fields: []forms.Field{
		forms.Field{
			Name: "actions",
			Validators: []forms.Validator{
				forms.IsOptional{
					Default: []kodex.ActionSpecification{},
				},
				forms.IsList{
					Validators: []forms.Validator{
						forms.IsStringMap{},
						kodex.IsActionSpecification{},
					},
				},
				kodex.IsActionSpecifications{},
			},
		},
	},
}
View Source
var Validators = map[string]forms.ValidatorMaker{}

Functions

func MakeAnonymizeAction

func MakeAnonymizeAction(spec kodex.ActionSpecification) (kodex.Action, error)

func MakeDropAction

func MakeDropAction(spec kodex.ActionSpecification) (kodex.Action, error)

func MakeFormAction

func MakeFormAction(spec kodex.ActionSpecification) (kodex.Action, error)

func MakeGeneralizeAction added in v0.0.9

func MakeGeneralizeAction(spec kodex.ActionSpecification) (kodex.Action, error)

func MakePseudonymizeAction

func MakePseudonymizeAction(spec kodex.ActionSpecification) (kodex.Action, error)

func MakeQuantizeAction

func MakeQuantizeAction(spec kodex.ActionSpecification) (kodex.Action, error)

func MakeTranscodeAction

func MakeTranscodeAction(spec kodex.ActionSpecification) (kodex.Action, error)

func MakeUndoAction

func MakeUndoAction(spec kodex.ActionSpecification) (kodex.Action, error)

Types

type AnonymizeAction

type AnonymizeAction struct {
	kodex.BaseAction
	// contains filtered or unexported fields
}

func (*AnonymizeAction) Advance

func (p *AnonymizeAction) Advance(writer kodex.ChannelWriter) ([]*kodex.Item, error)

func (*AnonymizeAction) Do

func (p *AnonymizeAction) Do(item *kodex.Item, writer kodex.ChannelWriter) (*kodex.Item, error)

func (*AnonymizeAction) Finalize

func (p *AnonymizeAction) Finalize(writer kodex.ChannelWriter) ([]*kodex.Item, error)

func (*AnonymizeAction) GenerateParams

func (p *AnonymizeAction) GenerateParams(key, salt []byte) error

func (*AnonymizeAction) Params

func (p *AnonymizeAction) Params() interface{}

func (*AnonymizeAction) Reset

func (p *AnonymizeAction) Reset() error

func (*AnonymizeAction) SetParams

func (p *AnonymizeAction) SetParams(params interface{}) error

func (*AnonymizeAction) Setup

func (p *AnonymizeAction) Setup(settings kodex.Settings) error

func (*AnonymizeAction) Teardown

func (p *AnonymizeAction) Teardown() error

func (*AnonymizeAction) Undoable

func (p *AnonymizeAction) Undoable(interface{}) bool

type DropAction

type DropAction struct {
	kodex.BaseAction
}

func (*DropAction) Do

func (a *DropAction) Do(item *kodex.Item, writer kodex.ChannelWriter) (*kodex.Item, error)

func (*DropAction) GenerateParams

func (a *DropAction) GenerateParams(key, salt []byte) error

func (*DropAction) Params

func (a *DropAction) Params() interface{}

func (*DropAction) SetParams

func (a *DropAction) SetParams(params interface{}) error

type FormAction

type FormAction struct {
	kodex.BaseAction
	// contains filtered or unexported fields
}

func (*FormAction) Context added in v0.1.0

func (f *FormAction) Context() *forms.FormDescriptionContext

func (*FormAction) Do

func (a *FormAction) Do(item *kodex.Item, writer kodex.ChannelWriter) (*kodex.Item, error)

func (*FormAction) Form added in v0.1.0

func (a *FormAction) Form() *forms.Form

func (*FormAction) GenerateParams

func (a *FormAction) GenerateParams(key, salt []byte) error

func (*FormAction) Params

func (a *FormAction) Params() interface{}

func (*FormAction) SetParams

func (a *FormAction) SetParams(params interface{}) error

type GeneralizeAction added in v0.0.9

type GeneralizeAction struct {
	kodex.BaseAction
	// contains filtered or unexported fields
}

func (*GeneralizeAction) Do added in v0.0.9

func (a *GeneralizeAction) Do(item *kodex.Item, writer kodex.ChannelWriter) (*kodex.Item, error)

func (*GeneralizeAction) GenerateParams added in v0.0.9

func (a *GeneralizeAction) GenerateParams(key, salt []byte) error

func (*GeneralizeAction) Params added in v0.0.9

func (a *GeneralizeAction) Params() interface{}

func (*GeneralizeAction) SetParams added in v0.0.9

func (a *GeneralizeAction) SetParams(params interface{}) error

type GeneralizeConfig added in v0.0.9

type GeneralizeConfig struct {
	Key          string `json:"key"`
	Type         string `json:"type"`
	InputFormat  string `json:"input-format"`
	OutputFormat string `json:"output-format"`
}

type IsAction

type IsAction struct {
	Action kodex.Action   `json:"-"`
	Type   string         `json:"type"`
	Config map[string]any `json:"config"`
}

func (IsAction) Validate

func (i IsAction) Validate(input interface{}, values map[string]interface{}) (interface{}, error)

type PseudonymizeTransformation

type PseudonymizeTransformation struct {
	kodex.BaseAction
	Pseudonymizer pseudonymize.Pseudonymizer
	Key           string
	Method        string
}

func (*PseudonymizeTransformation) Do

func (*PseudonymizeTransformation) GenerateParams

func (p *PseudonymizeTransformation) GenerateParams(key, salt []byte) error

func (*PseudonymizeTransformation) Params

func (p *PseudonymizeTransformation) Params() interface{}

func (*PseudonymizeTransformation) SetParams

func (p *PseudonymizeTransformation) SetParams(params interface{}) error

func (*PseudonymizeTransformation) Undo

func (*PseudonymizeTransformation) Undoable

func (p *PseudonymizeTransformation) Undoable(item *kodex.Item) bool

type QuantizeAction

type QuantizeAction struct {
	kodex.BaseAction
	// contains filtered or unexported fields
}

func (*QuantizeAction) Do

func (a *QuantizeAction) Do(item *kodex.Item, writer kodex.ChannelWriter) (*kodex.Item, error)

func (*QuantizeAction) GenerateParams

func (a *QuantizeAction) GenerateParams(key, salt []byte) error

func (*QuantizeAction) Params

func (a *QuantizeAction) Params() interface{}

func (*QuantizeAction) SetParams

func (a *QuantizeAction) SetParams(params interface{}) error

type QuantizeConfig

type QuantizeConfig struct {
	Key       string  `json:"key"`
	Precision float64 `json:"precision"`
}

type TranscodeAction

type TranscodeAction struct {
	kodex.BaseAction
	// contains filtered or unexported fields
}

func (*TranscodeAction) Do

func (t *TranscodeAction) Do(item *kodex.Item) (*kodex.Item, error)

func (*TranscodeAction) GenerateParams

func (p *TranscodeAction) GenerateParams(key, salt []byte) error

func (*TranscodeAction) Params

func (p *TranscodeAction) Params() interface{}

func (*TranscodeAction) SetParams

func (p *TranscodeAction) SetParams(params interface{}) error

func (*TranscodeAction) Undo

func (t *TranscodeAction) Undo(item *kodex.Item) (*kodex.Item, error)

type UndoAction

type UndoAction struct {
	kodex.BaseAction
	// contains filtered or unexported fields
}

func (*UndoAction) DoWithConfig

func (a *UndoAction) DoWithConfig(item *kodex.Item, writer kodex.ChannelWriter, config kodex.Config) (*kodex.Item, error)

func (*UndoAction) GenerateParams

func (a *UndoAction) GenerateParams(key, salt []byte) error

func (*UndoAction) HasParams

func (a *UndoAction) HasParams() bool

func (*UndoAction) Params

func (a *UndoAction) Params() interface{}

func (*UndoAction) SetParams

func (a *UndoAction) SetParams(params interface{}) error

Jump to

Keyboard shortcuts

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