diff --git a/build/build.sh b/build/build.sh index 6d003ea7..d7edd737 100755 --- a/build/build.sh +++ b/build/build.sh @@ -29,7 +29,7 @@ function build() { fi cd $ROOT"/../../EdgeNode/build" echo "==============================" - architects=("amd64" "386" "arm64" "arm64be" "mips64" "mips64le") + architects=("amd64" "386" "arm64" "mips64" "mips64le") for arch in "${architects[@]}"; do ./build.sh linux $arch done diff --git a/internal/db/models/ip_item_dao.go b/internal/db/models/ip_item_dao.go index 6d431053..532d2547 100644 --- a/internal/db/models/ip_item_dao.go +++ b/internal/db/models/ip_item_dao.go @@ -46,9 +46,15 @@ func (this *IPItemDAO) EnableIPItem(id int64) error { // 禁用条目 func (this *IPItemDAO) DisableIPItem(id int64) error { - _, err := this.Query(). + version, err := SharedIPListDAO.IncreaseVersion() + if err != nil { + return err + } + + _, err = this.Query(). Pk(id). Set("state", IPItemStateDisabled). + Set("version", version). Update() return err } diff --git a/internal/db/models/ip_list_model.go b/internal/db/models/ip_list_model.go index 9e8e7fef..92c22e5e 100644 --- a/internal/db/models/ip_list_model.go +++ b/internal/db/models/ip_list_model.go @@ -12,6 +12,7 @@ type IPList struct { State uint8 `field:"state"` // 状态 CreatedAt uint64 `field:"createdAt"` // 创建时间 Timeout string `field:"timeout"` // 默认超时时间 + Actions string `field:"actions"` // IP触发的动作 } type IPListOperator struct { @@ -25,6 +26,7 @@ type IPListOperator struct { State interface{} // 状态 CreatedAt interface{} // 创建时间 Timeout interface{} // 默认超时时间 + Actions interface{} // IP触发的动作 } func NewIPListOperator() *IPListOperator { diff --git a/internal/rpc/services/service_ip_item.go b/internal/rpc/services/service_ip_item.go index 7a3e824f..765550e9 100644 --- a/internal/rpc/services/service_ip_item.go +++ b/internal/rpc/services/service_ip_item.go @@ -23,6 +23,9 @@ func (this *IPItemService) CreateIPItem(ctx context.Context, req *pb.CreateIPIte if err != nil { return nil, err } + + + return &pb.CreateIPItemResponse{IpItemId: itemId}, nil } diff --git a/internal/rpc/services/service_server.go b/internal/rpc/services/service_server.go index 3ce6be71..01b78a8e 100644 --- a/internal/rpc/services/service_server.go +++ b/internal/rpc/services/service_server.go @@ -741,6 +741,9 @@ func (this *ServerService) FindAllEnabledServersWithCachePolicyId(ctx context.Co Name: server.Name, IsOn: server.IsOn == 1, Type: server.Type, + Cluster: &pb.NodeCluster{ + Id: int64(server.ClusterId), + }, }) } return &pb.FindAllEnabledServersWithCachePolicyIdResponse{Servers: result}, nil @@ -770,6 +773,40 @@ func (this *ServerService) CountAllEnabledServersWithHTTPFirewallPolicyId(ctx co return &pb.CountAllEnabledServersWithHTTPFirewallPolicyIdResponse{Count: countServers}, nil } +// 查找使用某个WAF策略的所有服务 +func (this *ServerService) FindAllEnabledServersWithHTTPFirewallPolicyId(ctx context.Context, req *pb.FindAllEnabledServersWithHTTPFirewallPolicyIdRequest) (*pb.FindAllEnabledServersWithHTTPFirewallPolicyIdResponse, error) { + // 校验请求 + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + webIds, err := models.SharedHTTPWebDAO.FindAllWebIdsWithHTTPFirewallPolicyId(req.FirewallPolicyId) + if err != nil { + return nil, err + } + + if len(webIds) == 0 { + return &pb.FindAllEnabledServersWithHTTPFirewallPolicyIdResponse{Servers: nil}, nil + } + + servers, err := models.SharedServerDAO.FindAllEnabledServersWithWebIds(webIds) + result := []*pb.Server{} + for _, server := range servers { + result = append(result, &pb.Server{ + Id: int64(server.Id), + Name: server.Name, + IsOn: server.IsOn == 1, + Type: server.Type, + Cluster: &pb.NodeCluster{ + Id: int64(server.ClusterId), + }, + }) + } + + return &pb.FindAllEnabledServersWithHTTPFirewallPolicyIdResponse{Servers: result}, nil +} + // 计算运行在某个集群上的所有服务数量 func (this *ServerService) CountAllEnabledServersWithNodeClusterId(ctx context.Context, req *pb.CountAllEnabledServersWithNodeClusterIdRequest) (*pb.CountAllEnabledServersWithNodeClusterIdResponse, error) { // 校验请求