diff --git a/define/filter.go b/define/filter.go index f994f0a..2e53e98 100644 --- a/define/filter.go +++ b/define/filter.go @@ -7,19 +7,17 @@ // Date : 2024-04-07 21:43 package define -import "git.zhangdeman.cn/zhangdeman/data_mask" - // FilterRule ... // // Author : go_developer@163.com<白茶清欢> // // Date : 21:43 2024/4/7 type FilterRule struct { - SourceDataPath string `json:"source_data_path"` // 原始数据路径 - TargetDataPath string `json:"target_data_path"` // 目标数据路径 - IsRequired bool `json:"is_required"` // 要求字段必须存在 - AllowNil bool `json:"allow_nil"` // 允许nil值 - DefaultValue string `json:"default_value"` // 不存在时的默认值 - Type string `json:"type"` // 数据类型 - DataMask data_mask.IDataMask `json:"-"` // 数据脱敏策略 + SourceDataPath string `json:"source_data_path"` // 原始数据路径 + TargetDataPath string `json:"target_data_path"` // 目标数据路径 + IsRequired bool `json:"is_required"` // 要求字段必须存在 + AllowNil bool `json:"allow_nil"` // 允许nil值 + DefaultValue string `json:"default_value"` // 不存在时的默认值 + Type string `json:"type"` // 数据类型 + DataMaskStrategy string `json:"data_mask_strategy"` // 数据脱敏策略 } diff --git a/execute.go b/execute.go index ffe4dd1..5a8447c 100644 --- a/execute.go +++ b/execute.go @@ -24,6 +24,17 @@ func init() { } } +// RegisterStrategy 注册数据脱敏策略 +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 22:18 2024/4/7 +func RegisterStrategy(dataMaskStrategy ...IDataMask) { + for _, item := range dataMaskStrategy { + maskInstanceTable[item.Type()] = item + } +} + // Execute 执行数据脱敏 // // Author : go_developer@163.com<白茶清欢>