支持注册自定义的数据过滤策略

This commit is contained in:
白茶清欢 2024-04-07 22:19:15 +08:00
parent 657b9b21d8
commit 14290e2ec6
2 changed files with 18 additions and 9 deletions

View File

@ -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"` // 数据脱敏策略
}

View File

@ -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<白茶清欢>