实现集群自定义页面

This commit is contained in:
GoEdgeLab
2023-05-22 17:30:33 +08:00
parent 20b3af5634
commit c7001dfb76
6 changed files with 213 additions and 2 deletions

View File

@@ -2112,6 +2112,8 @@ func (this *NodeService) FindEnabledNodeConfigInfo(ctx context.Context, req *pb.
// schedule
result.HasScheduleSettings = node.HasScheduleSettings()
// pages
return result, nil
}
@@ -2291,3 +2293,39 @@ func (this *NodeService) FindNodeUAMPolicies(ctx context.Context, req *pb.FindNo
UamPolicies: pbPolicies,
}, nil
}
// FindNodeHTTPPagesPolicies 查找节点的自定义页面策略
func (this *NodeService) FindNodeHTTPPagesPolicies(ctx context.Context, req *pb.FindNodeHTTPPagesPoliciesRequest) (*pb.FindNodeHTTPPagesPoliciesResponse, 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.FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy{}
for _, clusterId := range clusterIds {
policy, err := models.SharedNodeClusterDAO.FindClusterHTTPPagesPolicy(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.FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy{
NodeClusterId: clusterId,
HttpPagesPolicyJSON: policyJSON,
})
}
return &pb.FindNodeHTTPPagesPoliciesResponse{
HttpPagesPolicies: pbPolicies,
}, nil
}