From e6e73991cf0a03642d2fcc0e275a98d38edaffdd Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Fri, 23 Sep 2022 19:01:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=99=BA=E8=83=BDDNS=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=BA=94=E7=AD=94=E6=A8=A1=E5=BC=8F=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/db/models/ns_cluster_model.go | 2 ++ internal/db/models/ns_cluster_model_ext.go | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/internal/db/models/ns_cluster_model.go b/internal/db/models/ns_cluster_model.go index dd2bd8f1..dadc6fc8 100644 --- a/internal/db/models/ns_cluster_model.go +++ b/internal/db/models/ns_cluster_model.go @@ -19,6 +19,7 @@ type NSCluster struct { Hosts dbs.JSON `field:"hosts"` // DNS主机地址 AutoRemoteStart bool `field:"autoRemoteStart"` // 自动远程启动 TimeZone string `field:"timeZone"` // 时区 + Answer dbs.JSON `field:"answer"` // 应答设置 } type NSClusterOperator struct { @@ -37,6 +38,7 @@ type NSClusterOperator struct { Hosts any // DNS主机地址 AutoRemoteStart any // 自动远程启动 TimeZone any // 时区 + Answer any // 应答设置 } func NewNSClusterOperator() *NSClusterOperator { diff --git a/internal/db/models/ns_cluster_model_ext.go b/internal/db/models/ns_cluster_model_ext.go index a63c9200..2cdcbd22 100644 --- a/internal/db/models/ns_cluster_model_ext.go +++ b/internal/db/models/ns_cluster_model_ext.go @@ -3,6 +3,7 @@ package models import ( "encoding/json" "github.com/TeaOSLab/EdgeAPI/internal/remotelogs" + "github.com/TeaOSLab/EdgeCommon/pkg/dnsconfigs" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/ddosconfigs" ) @@ -43,3 +44,19 @@ func (this *NSCluster) DecodeHosts() []string { return hosts } + +// DecodeAnswerConfig 解析应答设置 +func (this *NSCluster) DecodeAnswerConfig() *dnsconfigs.NSAnswerConfig { + var config = dnsconfigs.DefaultNSAnswerConfig() + + if IsNull(this.Answer) { + return config + } + + err := json.Unmarshal(this.Answer, config) + if err != nil { + remotelogs.Error("NSCluster.DecodeAnswerConfig", "decode failed: "+err.Error()) + } + + return config +}