From 14290e2ec6c2027ee43f0ddebbee2aea51e8d064 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E8=8C=B6=E6=B8=85=E6=AC=A2?= Date: Sun, 7 Apr 2024 22:19:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=B3=A8=E5=86=8C=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E7=9A=84=E6=95=B0=E6=8D=AE=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- define/filter.go | 16 +++++++--------- execute.go | 11 +++++++++++ 2 files changed, 18 insertions(+), 9 deletions(-) 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<白茶清欢>