mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 16:00:24 +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