mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-05 01:20:25 +08:00
WebP策略变化时只更新相关配置
This commit is contained in:
@@ -1043,7 +1043,7 @@ func (this *NodeClusterDAO) UpdateClusterWebPPolicy(tx *dbs.Tx, clusterId int64,
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.NotifyUpdate(tx, clusterId)
|
return this.NotifyWebPPolicyUpdate(tx, clusterId)
|
||||||
}
|
}
|
||||||
|
|
||||||
webpPolicyJSON, err := json.Marshal(webpPolicy)
|
webpPolicyJSON, err := json.Marshal(webpPolicy)
|
||||||
@@ -1058,7 +1058,7 @@ func (this *NodeClusterDAO) UpdateClusterWebPPolicy(tx *dbs.Tx, clusterId int64,
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.NotifyUpdate(tx, clusterId)
|
return this.NotifyWebPPolicyUpdate(tx, clusterId)
|
||||||
}
|
}
|
||||||
|
|
||||||
// FindClusterWebPPolicy 查询WebP设置
|
// FindClusterWebPPolicy 查询WebP设置
|
||||||
@@ -1083,7 +1083,7 @@ func (this *NodeClusterDAO) FindClusterWebPPolicy(tx *dbs.Tx, clusterId int64, c
|
|||||||
return nodeconfigs.DefaultWebPImagePolicy, nil
|
return nodeconfigs.DefaultWebPImagePolicy, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var policy = &nodeconfigs.WebPImagePolicy{}
|
var policy = nodeconfigs.NewWebPImagePolicy()
|
||||||
err = json.Unmarshal(webpJSON, policy)
|
err = json.Unmarshal(webpJSON, policy)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -1518,6 +1518,11 @@ func (this *NodeClusterDAO) NotifyTOAUpdate(tx *dbs.Tx, clusterId int64) error {
|
|||||||
return SharedNodeTaskDAO.CreateClusterTask(tx, nodeconfigs.NodeRoleNode, clusterId, 0, 0, NodeTaskTypeTOAChanged)
|
return SharedNodeTaskDAO.CreateClusterTask(tx, nodeconfigs.NodeRoleNode, clusterId, 0, 0, NodeTaskTypeTOAChanged)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NotifyWebPPolicyUpdate 通知WebP策略更新
|
||||||
|
func (this *NodeClusterDAO) NotifyWebPPolicyUpdate(tx *dbs.Tx, clusterId int64) error {
|
||||||
|
return SharedNodeTaskDAO.CreateClusterTask(tx, nodeconfigs.NodeRoleNode, clusterId, 0, 0, NodeTaskTypeWebPPolicyChanged)
|
||||||
|
}
|
||||||
|
|
||||||
// NotifyDNSUpdate 通知DNS更新
|
// NotifyDNSUpdate 通知DNS更新
|
||||||
// TODO 更新新的DNS解析记录的同时,需要删除老的DNS解析记录
|
// TODO 更新新的DNS解析记录的同时,需要删除老的DNS解析记录
|
||||||
func (this *NodeClusterDAO) NotifyDNSUpdate(tx *dbs.Tx, clusterId int64) error {
|
func (this *NodeClusterDAO) NotifyDNSUpdate(tx *dbs.Tx, clusterId int64) error {
|
||||||
|
|||||||
@@ -1151,7 +1151,7 @@ func (this *NodeDAO) ComposeNodeConfig(tx *dbs.Tx, nodeId int64, dataMap *shared
|
|||||||
|
|
||||||
// webp
|
// webp
|
||||||
if IsNotNull(nodeCluster.Webp) {
|
if IsNotNull(nodeCluster.Webp) {
|
||||||
var webpPolicy = &nodeconfigs.WebPImagePolicy{}
|
var webpPolicy = nodeconfigs.NewWebPImagePolicy()
|
||||||
err = json.Unmarshal(nodeCluster.Webp, webpPolicy)
|
err = json.Unmarshal(nodeCluster.Webp, webpPolicy)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ const (
|
|||||||
NodeTaskTypeHTTPCCPolicyChanged NodeTaskType = "httpCCPolicyChanged" // CC策略变化
|
NodeTaskTypeHTTPCCPolicyChanged NodeTaskType = "httpCCPolicyChanged" // CC策略变化
|
||||||
NodeTaskTypeHTTP3PolicyChanged NodeTaskType = "http3PolicyChanged" // HTTP3策略变化
|
NodeTaskTypeHTTP3PolicyChanged NodeTaskType = "http3PolicyChanged" // HTTP3策略变化
|
||||||
NodeTaskTypeNetworkSecurityPolicyChanged NodeTaskType = "networkSecurityPolicyChanged" // 网络安全策略变化
|
NodeTaskTypeNetworkSecurityPolicyChanged NodeTaskType = "networkSecurityPolicyChanged" // 网络安全策略变化
|
||||||
|
NodeTaskTypeWebPPolicyChanged NodeTaskType = "webPPolicyChanged" // WebP策略变化
|
||||||
NodeTaskTypeUpdatingServers NodeTaskType = "updatingServers" // 更新一组服务
|
NodeTaskTypeUpdatingServers NodeTaskType = "updatingServers" // 更新一组服务
|
||||||
NodeTaskTypeTOAChanged NodeTaskType = "toaChanged" // TOA配置变化
|
NodeTaskTypeTOAChanged NodeTaskType = "toaChanged" // TOA配置变化
|
||||||
|
|
||||||
|
|||||||
@@ -2257,3 +2257,39 @@ func (this *NodeService) UpdateNodeAPIConfig(ctx context.Context, req *pb.Update
|
|||||||
|
|
||||||
return this.Success()
|
return this.Success()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FindNodeWebPPolicies 查找节点的WebP策略
|
||||||
|
func (this *NodeService) FindNodeWebPPolicies(ctx context.Context, req *pb.FindNodeWebPPoliciesRequest) (*pb.FindNodeWebPPoliciesResponse, error) {
|
||||||
|
nodeId, err := this.ValidateNode(ctx)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var tx = this.NullTx()
|
||||||
|
clusterIds, err := models.SharedNodeDAO.FindEnabledAndOnNodeClusterIds(tx, nodeId)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var pbPolicies = []*pb.FindNodeWebPPoliciesResponse_WebPPolicy{}
|
||||||
|
for _, clusterId := range clusterIds {
|
||||||
|
policy, err := models.SharedNodeClusterDAO.FindClusterWebPPolicy(tx, clusterId, nil)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if policy == nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
policyJSON, err := json.Marshal(policy)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
pbPolicies = append(pbPolicies, &pb.FindNodeWebPPoliciesResponse_WebPPolicy{
|
||||||
|
NodeClusterId: clusterId,
|
||||||
|
WebPPolicyJSON: policyJSON,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return &pb.FindNodeWebPPoliciesResponse{
|
||||||
|
WebPPolicies: pbPolicies,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|||||||
@@ -1126,14 +1126,14 @@ func (this *NodeClusterService) FindEnabledNodeClusterConfigInfo(ctx context.Con
|
|||||||
|
|
||||||
// webp
|
// webp
|
||||||
if models.IsNotNull(cluster.Webp) {
|
if models.IsNotNull(cluster.Webp) {
|
||||||
var webpPolicy = &nodeconfigs.WebPImagePolicy{}
|
var webpPolicy = nodeconfigs.NewWebPImagePolicy()
|
||||||
err = json.Unmarshal(cluster.Webp, webpPolicy)
|
err = json.Unmarshal(cluster.Webp, webpPolicy)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
result.WebpIsOn = webpPolicy.IsOn
|
result.WebPIsOn = webpPolicy.IsOn
|
||||||
} else {
|
} else {
|
||||||
result.WebpIsOn = nodeconfigs.DefaultWebPImagePolicy.IsOn
|
result.WebPIsOn = nodeconfigs.DefaultWebPImagePolicy.IsOn
|
||||||
}
|
}
|
||||||
|
|
||||||
// UAM
|
// UAM
|
||||||
@@ -1247,8 +1247,8 @@ func (this *NodeClusterService) UpdateNodeClusterWebPPolicy(ctx context.Context,
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var webpPolicy = &nodeconfigs.WebPImagePolicy{}
|
var webpPolicy = nodeconfigs.NewWebPImagePolicy()
|
||||||
err = json.Unmarshal(req.WebpPolicyJSON, webpPolicy)
|
err = json.Unmarshal(req.WebPPolicyJSON, webpPolicy)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user