mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-08 03:00:26 +08:00
服务列表增加筛选
This commit is contained in:
@@ -436,21 +436,39 @@ func (this *ServerDAO) UpdateServerReverseProxy(serverId int64, config []byte) e
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 计算所有可用服务数量
|
// 计算所有可用服务数量
|
||||||
func (this *ServerDAO) CountAllEnabledServers() (int64, error) {
|
func (this *ServerDAO) CountAllEnabledServersMatch(groupId int64, keyword string) (int64, error) {
|
||||||
return this.Query().
|
query := this.Query().
|
||||||
State(ServerStateEnabled).
|
State(ServerStateEnabled)
|
||||||
Count()
|
if groupId > 0 {
|
||||||
|
query.Where("JSON_CONTAINS(groupIds, :groupId)").
|
||||||
|
Param("groupId", numberutils.FormatInt64(groupId))
|
||||||
|
}
|
||||||
|
if len(keyword) > 0 {
|
||||||
|
query.Where("(name LIKE :keyword OR serverNames LIKE :keyword)").
|
||||||
|
Param("keyword", "%"+keyword+"%")
|
||||||
|
}
|
||||||
|
return query.Count()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 列出单页的服务
|
// 列出单页的服务
|
||||||
func (this *ServerDAO) ListEnabledServers(offset int64, size int64) (result []*Server, err error) {
|
func (this *ServerDAO) ListEnabledServersMatch(offset int64, size int64, groupId int64, keyword string) (result []*Server, err error) {
|
||||||
_, err = this.Query().
|
query := this.Query().
|
||||||
State(ServerStateEnabled).
|
State(ServerStateEnabled).
|
||||||
Offset(offset).
|
Offset(offset).
|
||||||
Limit(size).
|
Limit(size).
|
||||||
DescPk().
|
DescPk().
|
||||||
Slice(&result).
|
Slice(&result)
|
||||||
FindAll()
|
|
||||||
|
if groupId > 0 {
|
||||||
|
query.Where("JSON_CONTAINS(groupIds, :groupId)").
|
||||||
|
Param("groupId", numberutils.FormatInt64(groupId))
|
||||||
|
}
|
||||||
|
if len(keyword) > 0 {
|
||||||
|
query.Where("(name LIKE :keyword OR serverNames LIKE :keyword)").
|
||||||
|
Param("keyword", "%"+keyword+"%")
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = query.FindAll()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -348,28 +348,28 @@ func (this *ServerService) UpdateServerNames(ctx context.Context, req *pb.Update
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 计算服务数量
|
// 计算服务数量
|
||||||
func (this *ServerService) CountAllEnabledServers(ctx context.Context, req *pb.CountAllEnabledServersRequest) (*pb.CountAllEnabledServersResponse, error) {
|
func (this *ServerService) CountAllEnabledServersMatch(ctx context.Context, req *pb.CountAllEnabledServersMatchRequest) (*pb.CountAllEnabledServersMatchResponse, error) {
|
||||||
// 校验请求
|
// 校验请求
|
||||||
_, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin)
|
_, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
count, err := models.SharedServerDAO.CountAllEnabledServers()
|
count, err := models.SharedServerDAO.CountAllEnabledServersMatch(req.GroupId, req.Keyword)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return &pb.CountAllEnabledServersResponse{Count: count}, nil
|
return &pb.CountAllEnabledServersMatchResponse{Count: count}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// 列出单页服务
|
// 列出单页服务
|
||||||
func (this *ServerService) ListEnabledServers(ctx context.Context, req *pb.ListEnabledServersRequest) (*pb.ListEnabledServersResponse, error) {
|
func (this *ServerService) ListEnabledServersMatch(ctx context.Context, req *pb.ListEnabledServersMatchRequest) (*pb.ListEnabledServersMatchResponse, error) {
|
||||||
// 校验请求
|
// 校验请求
|
||||||
_, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin)
|
_, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
servers, err := models.SharedServerDAO.ListEnabledServers(req.Offset, req.Size)
|
servers, err := models.SharedServerDAO.ListEnabledServersMatch(req.Offset, req.Size, req.GroupId, req.Keyword)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -404,21 +404,22 @@ func (this *ServerService) ListEnabledServers(ctx context.Context, req *pb.ListE
|
|||||||
}
|
}
|
||||||
|
|
||||||
result = append(result, &pb.Server{
|
result = append(result, &pb.Server{
|
||||||
Id: int64(server.Id),
|
Id: int64(server.Id),
|
||||||
IsOn: server.IsOn == 1,
|
IsOn: server.IsOn == 1,
|
||||||
Type: server.Type,
|
Type: server.Type,
|
||||||
Config: []byte(server.Config),
|
Config: []byte(server.Config),
|
||||||
Name: server.Name,
|
Name: server.Name,
|
||||||
Description: server.Description,
|
Description: server.Description,
|
||||||
HttpJSON: []byte(server.Http),
|
HttpJSON: []byte(server.Http),
|
||||||
HttpsJSON: []byte(server.Https),
|
HttpsJSON: []byte(server.Https),
|
||||||
TcpJSON: []byte(server.Tcp),
|
TcpJSON: []byte(server.Tcp),
|
||||||
TlsJSON: []byte(server.Tls),
|
TlsJSON: []byte(server.Tls),
|
||||||
UnixJSON: []byte(server.Unix),
|
UnixJSON: []byte(server.Unix),
|
||||||
UdpJSON: []byte(server.Udp),
|
UdpJSON: []byte(server.Udp),
|
||||||
IncludeNodes: []byte(server.IncludeNodes),
|
IncludeNodes: []byte(server.IncludeNodes),
|
||||||
ExcludeNodes: []byte(server.ExcludeNodes),
|
ExcludeNodes: []byte(server.ExcludeNodes),
|
||||||
CreatedAt: int64(server.CreatedAt),
|
ServerNamesJON: []byte(server.ServerNames),
|
||||||
|
CreatedAt: int64(server.CreatedAt),
|
||||||
Cluster: &pb.NodeCluster{
|
Cluster: &pb.NodeCluster{
|
||||||
Id: int64(server.ClusterId),
|
Id: int64(server.ClusterId),
|
||||||
Name: clusterName,
|
Name: clusterName,
|
||||||
@@ -427,7 +428,7 @@ func (this *ServerService) ListEnabledServers(ctx context.Context, req *pb.ListE
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
return &pb.ListEnabledServersResponse{Servers: result}, nil
|
return &pb.ListEnabledServersMatchResponse{Servers: result}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// 禁用某服务
|
// 禁用某服务
|
||||||
|
|||||||
Reference in New Issue
Block a user