mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-12-10 04:00:24 +08:00
优化集群列表性能
This commit is contained in:
@@ -262,19 +262,40 @@ func (this *NodeClusterDAO) CountAllEnabledClusters(tx *dbs.Tx, keyword string)
|
||||
|
||||
// ListEnabledClusters 列出单页集群
|
||||
func (this *NodeClusterDAO) ListEnabledClusters(tx *dbs.Tx, keyword string, offset, size int64) (result []*NodeCluster, err error) {
|
||||
query := this.Query(tx).
|
||||
var query = this.Query(tx).
|
||||
State(NodeClusterStateEnabled)
|
||||
if len(keyword) > 0 {
|
||||
query.Where("(name LIKE :keyword OR dnsName like :keyword OR (dnsDomainId > 0 AND dnsDomainId IN (SELECT id FROM "+dns.SharedDNSDomainDAO.Table+" WHERE name LIKE :keyword AND state=1)))").
|
||||
Param("keyword", dbutils.QuoteLike(keyword))
|
||||
}
|
||||
_, err = query.
|
||||
Result(
|
||||
NodeClusterFieldId,
|
||||
NodeClusterFieldName,
|
||||
NodeClusterFieldIsOn,
|
||||
NodeClusterFieldIsPinned,
|
||||
NodeClusterFieldInstallDir,
|
||||
NodeClusterFieldHttpFirewallPolicyId,
|
||||
NodeClusterFieldAdminId,
|
||||
NodeClusterFieldIsOn,
|
||||
NodeClusterFieldIsAD,
|
||||
NodeClusterFieldUserId,
|
||||
NodeClusterFieldDnsName,
|
||||
NodeClusterFieldDnsDomainId,
|
||||
NodeClusterFieldDns,
|
||||
NodeClusterFieldCreatedAt,
|
||||
NodeClusterFieldUniqueId,
|
||||
NodeClusterFieldSecret,
|
||||
NodeClusterFieldGrantId,
|
||||
NodeClusterFieldTimeZone,
|
||||
).
|
||||
Offset(offset).
|
||||
Limit(size).
|
||||
Slice(&result).
|
||||
Desc("isPinned").
|
||||
DescPk().
|
||||
FindAll()
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,49 @@ package models
|
||||
|
||||
import "github.com/iwind/TeaGo/dbs"
|
||||
|
||||
const (
|
||||
NodeClusterFieldId dbs.FieldName = "id" // ID
|
||||
NodeClusterFieldAdminId dbs.FieldName = "adminId" // 管理员ID
|
||||
NodeClusterFieldUserId dbs.FieldName = "userId" // 用户ID
|
||||
NodeClusterFieldIsOn dbs.FieldName = "isOn" // 是否启用
|
||||
NodeClusterFieldName dbs.FieldName = "name" // 名称
|
||||
NodeClusterFieldUseAllAPINodes dbs.FieldName = "useAllAPINodes" // 是否使用所有API节点
|
||||
NodeClusterFieldApiNodes dbs.FieldName = "apiNodes" // 使用的API节点
|
||||
NodeClusterFieldInstallDir dbs.FieldName = "installDir" // 安装目录
|
||||
NodeClusterFieldOrder dbs.FieldName = "order" // 排序
|
||||
NodeClusterFieldCreatedAt dbs.FieldName = "createdAt" // 创建时间
|
||||
NodeClusterFieldGrantId dbs.FieldName = "grantId" // 默认认证方式
|
||||
NodeClusterFieldSshParams dbs.FieldName = "sshParams" // SSH默认参数
|
||||
NodeClusterFieldState dbs.FieldName = "state" // 状态
|
||||
NodeClusterFieldAutoRegister dbs.FieldName = "autoRegister" // 是否开启自动注册
|
||||
NodeClusterFieldUniqueId dbs.FieldName = "uniqueId" // 唯一ID
|
||||
NodeClusterFieldSecret dbs.FieldName = "secret" // 密钥
|
||||
NodeClusterFieldHealthCheck dbs.FieldName = "healthCheck" // 健康检查
|
||||
NodeClusterFieldDnsName dbs.FieldName = "dnsName" // DNS名称
|
||||
NodeClusterFieldDnsDomainId dbs.FieldName = "dnsDomainId" // 域名ID
|
||||
NodeClusterFieldDns dbs.FieldName = "dns" // DNS配置
|
||||
NodeClusterFieldToa dbs.FieldName = "toa" // TOA配置
|
||||
NodeClusterFieldCachePolicyId dbs.FieldName = "cachePolicyId" // 缓存策略ID
|
||||
NodeClusterFieldHttpFirewallPolicyId dbs.FieldName = "httpFirewallPolicyId" // WAF策略ID
|
||||
NodeClusterFieldAccessLog dbs.FieldName = "accessLog" // 访问日志设置
|
||||
NodeClusterFieldSystemServices dbs.FieldName = "systemServices" // 系统服务设置
|
||||
NodeClusterFieldTimeZone dbs.FieldName = "timeZone" // 时区
|
||||
NodeClusterFieldNodeMaxThreads dbs.FieldName = "nodeMaxThreads" // 节点最大线程数
|
||||
NodeClusterFieldDdosProtection dbs.FieldName = "ddosProtection" // DDoS防护设置
|
||||
NodeClusterFieldAutoOpenPorts dbs.FieldName = "autoOpenPorts" // 是否自动尝试开放端口
|
||||
NodeClusterFieldIsPinned dbs.FieldName = "isPinned" // 是否置顶
|
||||
NodeClusterFieldWebp dbs.FieldName = "webp" // WebP设置
|
||||
NodeClusterFieldUam dbs.FieldName = "uam" // UAM设置
|
||||
NodeClusterFieldClock dbs.FieldName = "clock" // 时钟配置
|
||||
NodeClusterFieldGlobalServerConfig dbs.FieldName = "globalServerConfig" // 全局服务配置
|
||||
NodeClusterFieldAutoRemoteStart dbs.FieldName = "autoRemoteStart" // 自动远程启动
|
||||
NodeClusterFieldAutoInstallNftables dbs.FieldName = "autoInstallNftables" // 自动安装nftables
|
||||
NodeClusterFieldIsAD dbs.FieldName = "isAD" // 是否为高防集群
|
||||
NodeClusterFieldHttpPages dbs.FieldName = "httpPages" // 自定义页面设置
|
||||
NodeClusterFieldCc dbs.FieldName = "cc" // CC设置
|
||||
NodeClusterFieldHttp3 dbs.FieldName = "http3" // HTTP3设置
|
||||
)
|
||||
|
||||
// NodeCluster 节点集群
|
||||
type NodeCluster struct {
|
||||
Id uint32 `field:"id"` // ID
|
||||
|
||||
Reference in New Issue
Block a user