pseudonymize

package
v0.1.6 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: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var MerengueConfigForm = forms.Form{
	ErrorMsg: "invalid data encountered in the Merengue pseudonymizer form",
	Fields: []forms.Field{
		{
			Name: "key",
			Validators: []forms.Validator{
				forms.IsOptional{},
				forms.IsString{},
			},
		},
		{
			Name: "encode",
			Validators: []forms.Validator{
				forms.IsOptional{Default: "base64"},
				forms.IsIn{Choices: []interface{}{"base64"}},
			},
		},
	},
}
View Source
var Pseudonymizers = map[string]PseudonymizerMaker{
	"merengue":   MakeMerenguePseudonymizer,
	"structured": MakeStructuredPseudonymizer,
}
View Source
var StructuredPseudonymizerForm = forms.Form{
	ErrorMsg: "invalid data encountered in the structured pseudonymizer form",
	Fields: []forms.Field{
		{
			Name: "key",
			Validators: []forms.Validator{
				forms.IsOptional{},
				forms.IsString{},
			},
		},
		{
			Name: "preserve-prefixes",
			Validators: []forms.Validator{
				forms.IsOptional{Default: false},
				forms.IsBoolean{},
			},
		},
		{
			Name: "type",
			Validators: []forms.Validator{
				forms.IsRequired{},
				forms.IsString{},
				forms.IsIn{
					Choices: []interface{}{"ip", "date", "integer", "ipv4", "ipv6"},
				},
			},
		},
		{
			Name: "type-params",
			Validators: []forms.Validator{
				forms.IsOptional{},
				forms.Switch{
					Key: "type",
					Cases: map[string][]forms.Validator{
						"integer": []forms.Validator{
							IntegerTypeParamsValidator{},
						},
					},
				},
			},
		},
		{
			Name: "format",
			Validators: []forms.Validator{
				forms.Switch{
					Key: "type",
					Cases: map[string][]forms.Validator{
						"date": []forms.Validator{
							forms.IsOptional{Default: "%Y-%m-%dT%H:%M:%SZ"},
							forms.IsString{},
						},
						"default!": []forms.Validator{
							forms.IsOptional{Default: ""},
							forms.IsString{},
						},
					},
				},
			},
		},
	},
}

Functions

This section is empty.

Types

type IntegerTypeParamsValidator

type IntegerTypeParamsValidator struct{}

func (IntegerTypeParamsValidator) Validate

func (t IntegerTypeParamsValidator) Validate(input interface{}, values map[string]interface{}) (interface{}, error)

type MerenguePseudonymizer

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

func (*MerenguePseudonymizer) Depseudonymize

func (p *MerenguePseudonymizer) Depseudonymize(value interface{}) (interface{}, error)

func (*MerenguePseudonymizer) GenerateParams

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

func (*MerenguePseudonymizer) Params

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

func (*MerenguePseudonymizer) Pseudonymize

func (p *MerenguePseudonymizer) Pseudonymize(value interface{}) (interface{}, error)

func (*MerenguePseudonymizer) SetParams

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

type Pseudonymizer

type Pseudonymizer interface {
	SetParams(interface{}) error
	Params() interface{}
	GenerateParams(key, salt []byte) error
	Pseudonymize(interface{}) (interface{}, error)
	Depseudonymize(interface{}) (interface{}, error)
}

func MakeMerenguePseudonymizer

func MakeMerenguePseudonymizer(config map[string]interface{}) (Pseudonymizer, error)

func MakeStructuredPseudonymizer

func MakeStructuredPseudonymizer(config map[string]interface{}) (Pseudonymizer, error)

type PseudonymizerMaker

type PseudonymizerMaker func(map[string]interface{}) (Pseudonymizer, error)

type StructuredPseudonymizer

type StructuredPseudonymizer struct {
	Type string

	TypeParams interface{}
	Format     string

	Maker structured.TypeMaker
	// contains filtered or unexported fields
}

func (*StructuredPseudonymizer) Depseudonymize

func (p *StructuredPseudonymizer) Depseudonymize(value interface{}) (interface{}, error)

func (*StructuredPseudonymizer) GenerateParams

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

func (*StructuredPseudonymizer) Params

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

func (*StructuredPseudonymizer) Pseudonymize

func (p *StructuredPseudonymizer) Pseudonymize(value interface{}) (interface{}, error)

func (*StructuredPseudonymizer) SetParams

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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