Documentation
¶
Index ¶
- Variables
- func FindDynamicValue[T any](param *DynamicParameter, dynamicValues map[string]any, defaultValue T) (T, error)
- func FindParameter[T any](params ParameterValues, name string) (T, bool, error)
- func FindParameterArray[T any](params ParameterValues, name string) ([]T, bool, error)
- func FindParameterWithDefault[T any](params ParameterValues, name string, defaultValue T) (T, error)
- func ParseDynamicParameters(params ParameterValues) (map[string]*DynamicParameter, error)
- func ValidateParameters(provided map[string]any, expected []string) error
- type Config
- type Definition
- func EmailTransformerDefinition() *Definition
- func HstoreTransformerDefinition() *Definition
- func JSONTransformerDefinition() *Definition
- func LiteralStringTransformerDefinition() *Definition
- func MaskingTransformerDefinition() *Definition
- func PGAnonymizerTransformerDefinition() *Definition
- func PhoneNumberTransformerDefinition() *Definition
- func StringTransformerDefinition() *Definition
- func TemplateTransformerDefinition() *Definition
- type DynamicParameter
- type EmailTransformer
- type HstoreTransformer
- type JSONTransformer
- type LiteralStringTransformer
- func (lst *LiteralStringTransformer) Close() error
- func (lst *LiteralStringTransformer) CompatibleTypes() []SupportedDataType
- func (lst *LiteralStringTransformer) IsDynamic() bool
- func (lst *LiteralStringTransformer) Transform(_ context.Context, value Value) (any, error)
- func (lst *LiteralStringTransformer) Type() TransformerType
- type MaskingTransformer
- type PGAnonymizerTransformer
- func (t *PGAnonymizerTransformer) Close() error
- func (t *PGAnonymizerTransformer) CompatibleTypes() []SupportedDataType
- func (t *PGAnonymizerTransformer) IsDynamic() bool
- func (t *PGAnonymizerTransformer) Transform(ctx context.Context, value Value) (any, error)
- func (t *PGAnonymizerTransformer) Type() TransformerType
- type Parameter
- type ParameterValues
- type PhoneNumberTransformer
- func (t *PhoneNumberTransformer) Close() error
- func (t *PhoneNumberTransformer) CompatibleTypes() []SupportedDataType
- func (t *PhoneNumberTransformer) IsDynamic() bool
- func (t *PhoneNumberTransformer) Transform(_ context.Context, value Value) (any, error)
- func (t *PhoneNumberTransformer) Type() TransformerType
- type StringTransformer
- type SupportedDataType
- type TemplateTransformer
- type Transformer
- type TransformerType
- type Value
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrUnsupportedValueType = errors.New("unsupported value type for transformer") ErrUnsupportedGenerator = errors.New("transformer doesn't support the configured generator") ErrUnsupportedTransformer = errors.New("unsupported transformer config") ErrInvalidParameters = errors.New("invalid transformer parameters") ErrInvalidDynamicParameters = errors.New("invalid transformer dynamic parameters") ErrUnknownParameter = errors.New("unknown parameter provided to transformer") )
Functions ¶
func FindDynamicValue ¶ added in v0.5.0
func FindDynamicValue[T any](param *DynamicParameter, dynamicValues map[string]any, defaultValue T) (T, error)
func FindParameter ¶
func FindParameter[T any](params ParameterValues, name string) (T, bool, error)
func FindParameterArray ¶ added in v0.4.1
func FindParameterArray[T any](params ParameterValues, name string) ([]T, bool, error)
func FindParameterWithDefault ¶ added in v0.5.0
func FindParameterWithDefault[T any](params ParameterValues, name string, defaultValue T) (T, error)
func ParseDynamicParameters ¶ added in v0.5.0
func ParseDynamicParameters(params ParameterValues) (map[string]*DynamicParameter, error)
Types ¶
type Config ¶
type Config struct {
Name TransformerType
Parameters ParameterValues
DynamicParameters ParameterValues
}
type Definition ¶ added in v0.6.0
type Definition struct {
SupportedTypes []SupportedDataType
Parameters []Parameter
}
func EmailTransformerDefinition ¶ added in v0.8.2
func EmailTransformerDefinition() *Definition
func HstoreTransformerDefinition ¶ added in v0.8.1
func HstoreTransformerDefinition() *Definition
func JSONTransformerDefinition ¶ added in v0.6.5
func JSONTransformerDefinition() *Definition
func LiteralStringTransformerDefinition ¶ added in v0.6.0
func LiteralStringTransformerDefinition() *Definition
func MaskingTransformerDefinition ¶ added in v0.6.0
func MaskingTransformerDefinition() *Definition
func PGAnonymizerTransformerDefinition ¶ added in v0.8.4
func PGAnonymizerTransformerDefinition() *Definition
func PhoneNumberTransformerDefinition ¶ added in v0.6.0
func PhoneNumberTransformerDefinition() *Definition
func StringTransformerDefinition ¶ added in v0.6.0
func StringTransformerDefinition() *Definition
func TemplateTransformerDefinition ¶ added in v0.6.0
func TemplateTransformerDefinition() *Definition
type DynamicParameter ¶ added in v0.5.0
type DynamicParameter struct {
Column string
}
type EmailTransformer ¶ added in v0.8.2
type EmailTransformer struct {
// contains filtered or unexported fields
}
func NewEmailTransformer ¶ added in v0.8.2
func NewEmailTransformer(params ParameterValues) (*EmailTransformer, error)
func (*EmailTransformer) Close ¶ added in v0.8.4
func (et *EmailTransformer) Close() error
func (*EmailTransformer) CompatibleTypes ¶ added in v0.8.2
func (et *EmailTransformer) CompatibleTypes() []SupportedDataType
func (*EmailTransformer) IsDynamic ¶ added in v0.8.9
func (et *EmailTransformer) IsDynamic() bool
func (*EmailTransformer) Type ¶ added in v0.8.2
func (et *EmailTransformer) Type() TransformerType
type HstoreTransformer ¶ added in v0.8.1
type HstoreTransformer struct {
// contains filtered or unexported fields
}
func NewHstoreTransformer ¶ added in v0.8.1
func NewHstoreTransformer(params ParameterValues) (*HstoreTransformer, error)
func (*HstoreTransformer) Close ¶ added in v0.8.4
func (t *HstoreTransformer) Close() error
func (*HstoreTransformer) CompatibleTypes ¶ added in v0.8.1
func (t *HstoreTransformer) CompatibleTypes() []SupportedDataType
func (*HstoreTransformer) IsDynamic ¶ added in v0.8.9
func (t *HstoreTransformer) IsDynamic() bool
func (*HstoreTransformer) Type ¶ added in v0.8.1
func (t *HstoreTransformer) Type() TransformerType
type JSONTransformer ¶ added in v0.6.5
type JSONTransformer struct {
// contains filtered or unexported fields
}
func NewJSONTransformer ¶ added in v0.6.5
func NewJSONTransformer(params ParameterValues) (*JSONTransformer, error)
func (*JSONTransformer) Close ¶ added in v0.8.4
func (jt *JSONTransformer) Close() error
func (*JSONTransformer) CompatibleTypes ¶ added in v0.6.5
func (jt *JSONTransformer) CompatibleTypes() []SupportedDataType
func (*JSONTransformer) IsDynamic ¶ added in v0.8.9
func (jt *JSONTransformer) IsDynamic() bool
func (*JSONTransformer) Type ¶ added in v0.6.5
func (jt *JSONTransformer) Type() TransformerType
type LiteralStringTransformer ¶ added in v0.5.0
type LiteralStringTransformer struct {
// contains filtered or unexported fields
}
func NewLiteralStringTransformer ¶ added in v0.5.0
func NewLiteralStringTransformer(params ParameterValues) (*LiteralStringTransformer, error)
func (*LiteralStringTransformer) Close ¶ added in v0.8.4
func (lst *LiteralStringTransformer) Close() error
func (*LiteralStringTransformer) CompatibleTypes ¶ added in v0.5.0
func (lst *LiteralStringTransformer) CompatibleTypes() []SupportedDataType
func (*LiteralStringTransformer) IsDynamic ¶ added in v0.8.9
func (lst *LiteralStringTransformer) IsDynamic() bool
func (*LiteralStringTransformer) Type ¶ added in v0.6.0
func (lst *LiteralStringTransformer) Type() TransformerType
type MaskingTransformer ¶ added in v0.5.0
type MaskingTransformer struct {
// contains filtered or unexported fields
}
MaskingTransformer is a transformer that masks sensitive data using the Masker library.
func NewMaskingTransformer ¶ added in v0.5.0
func NewMaskingTransformer(params ParameterValues) (*MaskingTransformer, error)
NewMaskingTransformer creates a new MaskingTransformer with the given masking function.
func (*MaskingTransformer) Close ¶ added in v0.8.4
func (t *MaskingTransformer) Close() error
func (*MaskingTransformer) CompatibleTypes ¶ added in v0.5.0
func (t *MaskingTransformer) CompatibleTypes() []SupportedDataType
func (*MaskingTransformer) IsDynamic ¶ added in v0.8.9
func (t *MaskingTransformer) IsDynamic() bool
func (*MaskingTransformer) Transform ¶ added in v0.5.0
Transform applies the masking function to the input value and returns the masked value.
func (*MaskingTransformer) Type ¶ added in v0.6.0
func (t *MaskingTransformer) Type() TransformerType
type PGAnonymizerTransformer ¶ added in v0.8.4
type PGAnonymizerTransformer struct {
// contains filtered or unexported fields
}
func NewPGAnonymizerTransformer ¶ added in v0.8.4
func NewPGAnonymizerTransformer(params ParameterValues) (*PGAnonymizerTransformer, error)
NewPGAnonymizerTransformer creates a new transformer that supports pg_anonymizer functions. Unsupported functions: - destruction ('MASKED WITH VALUE ”CONFIDENTIAL” ) - anon.ternary (conditional masking) - anon.generalize... (data generalization - only makes sense with views)
func (*PGAnonymizerTransformer) Close ¶ added in v0.8.4
func (t *PGAnonymizerTransformer) Close() error
func (*PGAnonymizerTransformer) CompatibleTypes ¶ added in v0.8.4
func (t *PGAnonymizerTransformer) CompatibleTypes() []SupportedDataType
func (*PGAnonymizerTransformer) IsDynamic ¶ added in v0.8.9
func (t *PGAnonymizerTransformer) IsDynamic() bool
func (*PGAnonymizerTransformer) Type ¶ added in v0.8.4
func (t *PGAnonymizerTransformer) Type() TransformerType
type ParameterValues ¶ added in v0.6.0
type PhoneNumberTransformer ¶ added in v0.5.0
type PhoneNumberTransformer struct {
// contains filtered or unexported fields
}
func NewPhoneNumberTransformer ¶ added in v0.5.0
func NewPhoneNumberTransformer(params, dynamicParams ParameterValues) (*PhoneNumberTransformer, error)
func (*PhoneNumberTransformer) Close ¶ added in v0.8.4
func (t *PhoneNumberTransformer) Close() error
func (*PhoneNumberTransformer) CompatibleTypes ¶ added in v0.5.0
func (t *PhoneNumberTransformer) CompatibleTypes() []SupportedDataType
func (*PhoneNumberTransformer) IsDynamic ¶ added in v0.8.9
func (t *PhoneNumberTransformer) IsDynamic() bool
func (*PhoneNumberTransformer) Type ¶ added in v0.6.0
func (t *PhoneNumberTransformer) Type() TransformerType
type StringTransformer ¶
type StringTransformer struct {
}
func NewStringTransformer ¶
func NewStringTransformer(params ParameterValues) (*StringTransformer, error)
func (*StringTransformer) Close ¶ added in v0.8.4
func (st *StringTransformer) Close() error
func (*StringTransformer) CompatibleTypes ¶ added in v0.5.0
func (st *StringTransformer) CompatibleTypes() []SupportedDataType
func (*StringTransformer) IsDynamic ¶ added in v0.8.9
func (st *StringTransformer) IsDynamic() bool
func (*StringTransformer) Type ¶ added in v0.6.0
func (st *StringTransformer) Type() TransformerType
type SupportedDataType ¶ added in v0.5.0
type SupportedDataType string
const ( ByteArrayDataType SupportedDataType = "byte_array" StringDataType SupportedDataType = "string" BooleanDataType SupportedDataType = "boolean" Integer8DataType SupportedDataType = "integer8" UInteger8DataType SupportedDataType = "uinteger8" Integer16DataType SupportedDataType = "integer16" UInteger16DataType SupportedDataType = "uinteger16" Integer32DataType SupportedDataType = "integer32" UInteger32DataType SupportedDataType = "uinteger32" Integer64DataType SupportedDataType = "integer64" UInteger64DataType SupportedDataType = "uinteger64" Float32DataType SupportedDataType = "float32" Float64DataType SupportedDataType = "float64" UUIDDataType SupportedDataType = "uuid" UInt8ArrayOf16DataType SupportedDataType = "uint8_array_of_16" DateDataType SupportedDataType = "date" DatetimeDataType SupportedDataType = "datetime" JSONDataType SupportedDataType = "json" AllDataTypes SupportedDataType = "all" CitextDataType SupportedDataType = "citext" HstoreDataType SupportedDataType = "hstore" )
type TemplateTransformer ¶ added in v0.6.0
type TemplateTransformer struct {
// contains filtered or unexported fields
}
func NewTemplateTransformer ¶ added in v0.6.0
func NewTemplateTransformer(params ParameterValues) (*TemplateTransformer, error)
func (*TemplateTransformer) Close ¶ added in v0.8.4
func (t *TemplateTransformer) Close() error
func (*TemplateTransformer) CompatibleTypes ¶ added in v0.6.0
func (t *TemplateTransformer) CompatibleTypes() []SupportedDataType
func (*TemplateTransformer) IsDynamic ¶ added in v0.8.9
func (t *TemplateTransformer) IsDynamic() bool
func (*TemplateTransformer) Type ¶ added in v0.6.0
func (t *TemplateTransformer) Type() TransformerType
type Transformer ¶
type Transformer interface {
Transform(context.Context, Value) (any, error)
IsDynamic() bool
CompatibleTypes() []SupportedDataType
Type() TransformerType
Close() error
}
type TransformerType ¶
type TransformerType string
const ( Email TransformerType = "email" String TransformerType = "string" LiteralString TransformerType = "literal_string" PhoneNumber TransformerType = "phone_number" NeosyncString TransformerType = "neosync_string" GreenmaskString TransformerType = "greenmask_string" NeosyncFirstName TransformerType = "neosync_firstname" GreenmaskFirstName TransformerType = "greenmask_firstname" NeosyncLastName TransformerType = "neosync_lastname" NeosyncFullName TransformerType = "neosync_fullname" NeosyncEmail TransformerType = "neosync_email" GreenmaskInteger TransformerType = "greenmask_integer" GreenmaskFloat TransformerType = "greenmask_float" GreenmaskUUID TransformerType = "greenmask_uuid" GreenmaskBoolean TransformerType = "greenmask_boolean" GreenmaskChoice TransformerType = "greenmask_choice" GreenmaskUnixTimestamp TransformerType = "greenmask_unix_timestamp" GreenmaskDate TransformerType = "greenmask_date" GreenmaskUTCTimestamp TransformerType = "greenmask_utc_timestamp" Masking TransformerType = "masking" Template TransformerType = "template" JSON TransformerType = "json" Hstore TransformerType = "hstore" PGAnonymizer TransformerType = "pg_anonymizer" )
Source Files
¶
Click to show internal directories.
Click to hide internal directories.