diff --git a/internal/db/models/http_firewall_policy_dao.go b/internal/db/models/http_firewall_policy_dao.go index e251a7de..6ba395d4 100644 --- a/internal/db/models/http_firewall_policy_dao.go +++ b/internal/db/models/http_firewall_policy_dao.go @@ -279,6 +279,31 @@ func (this *HTTPFirewallPolicyDAO) UpdateFirewallPolicyInbound(tx *dbs.Tx, polic return this.NotifyUpdate(tx, policyId) } +// UpdateFirewallPolicyInboundRegion 修改入站封禁区域设置 +func (this *HTTPFirewallPolicyDAO) UpdateFirewallPolicyInboundRegion(tx *dbs.Tx, policyId int64, regionConfig *firewallconfigs.HTTPFirewallRegionConfig) error { + var inboundConfig = &firewallconfigs.HTTPFirewallInboundConfig{IsOn: true} + inboundJSON, err := this.Query(tx). + Pk(policyId). + Result("inbound"). + FindJSONCol() + if err != nil { + return err + } + if IsNotNull(inboundJSON) { + err = json.Unmarshal(inboundJSON, inboundConfig) + if err != nil { + return err + } + } + + inboundConfig.Region = regionConfig + newInboundJSON, err := json.Marshal(inboundConfig) + if err != nil { + return err + } + return this.UpdateFirewallPolicyInbound(tx, policyId, newInboundJSON) +} + // UpdateFirewallPolicy 修改策略 func (this *HTTPFirewallPolicyDAO) UpdateFirewallPolicy(tx *dbs.Tx, policyId int64, diff --git a/internal/db/models/server_dao_copy_ext.go b/internal/db/models/server_dao_copy_ext.go index fe63caa1..09f01409 100644 --- a/internal/db/models/server_dao_copy_ext.go +++ b/internal/db/models/server_dao_copy_ext.go @@ -10,26 +10,26 @@ import ( ) // CopyServerConfigToServers 拷贝服务配置到一组服务 -func (this *ServerDAO) CopyServerConfigToServers(tx *dbs.Tx, fromServerId int64, toServerIds []int64, configCode serverconfigs.ConfigCode) error { +func (this *ServerDAO) CopyServerConfigToServers(tx *dbs.Tx, fromServerId int64, toServerIds []int64, configCode serverconfigs.ConfigCode, wafCopyRegions bool) error { return errors.New("not implemented") } // CopyServerConfigToGroups 拷贝服务配置到分组 -func (this *ServerDAO) CopyServerConfigToGroups(tx *dbs.Tx, fromServerId int64, groupIds []int64, configCode string) error { +func (this *ServerDAO) CopyServerConfigToGroups(tx *dbs.Tx, fromServerId int64, groupIds []int64, configCode string, wafCopyRegions bool) error { return errors.New("not implemented") } // CopyServerConfigToCluster 拷贝服务配置到集群 -func (this *ServerDAO) CopyServerConfigToCluster(tx *dbs.Tx, fromServerId int64, clusterId int64, configCode string) error { +func (this *ServerDAO) CopyServerConfigToCluster(tx *dbs.Tx, fromServerId int64, clusterId int64, configCode string, wafCopyRegions bool) error { return errors.New("not implemented") } // CopyServerConfigToUser 拷贝服务配置到用户 -func (this *ServerDAO) CopyServerConfigToUser(tx *dbs.Tx, fromServerId int64, userId int64, configCode string) error { +func (this *ServerDAO) CopyServerConfigToUser(tx *dbs.Tx, fromServerId int64, userId int64, configCode string, wafCopyRegions bool) error { return errors.New("not implemented") } // CopyServerUAMConfigs 复制UAM设置 -func (this *ServerDAO) CopyServerUAMConfigs(tx *dbs.Tx, fromServerId int64, toServerIds []int64) error { +func (this *ServerDAO) CopyServerUAMConfigs(tx *dbs.Tx, fromServerId int64, toServerIds []int64, wafCopyRegions bool) error { return errors.New("not implemented") } diff --git a/internal/rpc/services/service_server.go b/internal/rpc/services/service_server.go index a3d4a808..f3d000de 100644 --- a/internal/rpc/services/service_server.go +++ b/internal/rpc/services/service_server.go @@ -2997,7 +2997,7 @@ func (this *ServerService) CopyServerConfig(ctx context.Context, req *pb.CopySer } } } - err = models.SharedServerDAO.CopyServerConfigToServers(tx, req.ServerId, req.TargetServerIds, req.ConfigCode) + err = models.SharedServerDAO.CopyServerConfigToServers(tx, req.ServerId, req.TargetServerIds, req.ConfigCode, req.WafCopyRegions) if err != nil { return nil, err } @@ -3014,7 +3014,7 @@ func (this *ServerService) CopyServerConfig(ctx context.Context, req *pb.CopySer } } } - err = models.SharedServerDAO.CopyServerConfigToGroups(tx, req.ServerId, req.TargetServerGroupIds, req.ConfigCode) + err = models.SharedServerDAO.CopyServerConfigToGroups(tx, req.ServerId, req.TargetServerGroupIds, req.ConfigCode, req.WafCopyRegions) if err != nil { return nil, err } @@ -3026,7 +3026,7 @@ func (this *ServerService) CopyServerConfig(ctx context.Context, req *pb.CopySer if req.TargetClusterId <= 0 { return this.Success() } - err = models.SharedServerDAO.CopyServerConfigToCluster(tx, req.ServerId, req.TargetClusterId, req.ConfigCode) + err = models.SharedServerDAO.CopyServerConfigToCluster(tx, req.ServerId, req.TargetClusterId, req.ConfigCode, req.WafCopyRegions) if err != nil { return nil, err } @@ -3045,7 +3045,7 @@ func (this *ServerService) CopyServerConfig(ctx context.Context, req *pb.CopySer // 只能同步到自己的网站 req.TargetUserId = userId } - err = models.SharedServerDAO.CopyServerConfigToUser(tx, req.ServerId, req.TargetUserId, req.ConfigCode) + err = models.SharedServerDAO.CopyServerConfigToUser(tx, req.ServerId, req.TargetUserId, req.ConfigCode, req.WafCopyRegions) if err != nil { return nil, err }