优化代码

This commit is contained in:
GoEdgeLab
2022-03-22 22:11:32 +08:00
parent 1e4143bcbb
commit 3c3adf421a
68 changed files with 148 additions and 148 deletions

View File

@@ -453,7 +453,7 @@ func (this *ACMETaskDAO) runTaskWithoutLog(tx *dbs.Tx, taskId int64) (isOk bool,
return
}
err = models.SharedSSLCertDAO.UpdateCert(tx, resultCertId, cert.IsOn, cert.Name, cert.Description, cert.ServerName, cert.IsCA == 1, certData, keyData, sslConfig.TimeBeginAt, sslConfig.TimeEndAt, sslConfig.DNSNames, sslConfig.CommonNames)
err = models.SharedSSLCertDAO.UpdateCert(tx, resultCertId, cert.IsOn, cert.Name, cert.Description, cert.ServerName, cert.IsCA, certData, keyData, sslConfig.TimeBeginAt, sslConfig.TimeEndAt, sslConfig.DNSNames, sslConfig.CommonNames)
if err != nil {
errMsg = "证书生成成功,但是修改数据库中的证书信息时出错:" + err.Error()
return

View File

@@ -1,10 +1,10 @@
package acme
// ACME任务运行日志
// ACMETaskLog ACME任务运行日志
type ACMETaskLog struct {
Id uint64 `field:"id"` // ID
TaskId uint64 `field:"taskId"` // 任务ID
IsOk uint8 `field:"isOk"` // 是否成功
IsOk bool `field:"isOk"` // 是否成功
Error string `field:"error"` // 错误信息
CreatedAt uint64 `field:"createdAt"` // 运行时间
}

View File

@@ -9,7 +9,7 @@ type Admin struct {
Username string `field:"username"` // 用户名
Password string `field:"password"` // 密码
Fullname string `field:"fullname"` // 全名
IsSuper uint8 `field:"isSuper"` // 是否为超级管理员
IsSuper bool `field:"isSuper"` // 是否为超级管理员
CreatedAt uint64 `field:"createdAt"` // 创建时间
UpdatedAt uint64 `field:"updatedAt"` // 修改时间
State uint8 `field:"state"` // 状态

View File

@@ -16,9 +16,9 @@ type DNSDomain struct {
Data string `field:"data"` // 原始数据信息
Records dbs.JSON `field:"records"` // 所有解析记录
Routes dbs.JSON `field:"routes"` // 线路数据
IsUp uint8 `field:"isUp"` // 是否在线
IsUp bool `field:"isUp"` // 是否在线
State uint8 `field:"state"` // 状态
IsDeleted uint8 `field:"isDeleted"` // 是否已删除
IsDeleted bool `field:"isDeleted"` // 是否已删除
}
type DNSDomainOperator struct {

View File

@@ -9,8 +9,8 @@ type DNSTask struct {
DomainId uint32 `field:"domainId"` // 域名ID
Type string `field:"type"` // 任务类型
UpdatedAt uint64 `field:"updatedAt"` // 更新时间
IsDone uint8 `field:"isDone"` // 是否已完成
IsOk uint8 `field:"isOk"` // 是否成功
IsDone bool `field:"isDone"` // 是否已完成
IsOk bool `field:"isOk"` // 是否成功
Error string `field:"error"` // 错误信息
}

View File

@@ -12,8 +12,8 @@ type File struct {
Order uint32 `field:"order"` // 排序
Type string `field:"type"` // 类型
State uint8 `field:"state"` // 状态
IsFinished uint8 `field:"isFinished"` // 是否已完成上传
IsPublic uint8 `field:"isPublic"` // 是否可以公开访问
IsFinished bool `field:"isFinished"` // 是否已完成上传
IsPublic bool `field:"isPublic"` // 是否可以公开访问
}
type FileOperator struct {

View File

@@ -15,7 +15,7 @@ type HTTPAccessLogPolicy struct {
Type string `field:"type"` // 存储类型
Options dbs.JSON `field:"options"` // 存储选项
Conds dbs.JSON `field:"conds"` // 请求条件
IsPublic uint8 `field:"isPublic"` // 是否为公用
IsPublic bool `field:"isPublic"` // 是否为公用
Version uint32 `field:"version"` // 版本号
}

View File

@@ -98,7 +98,7 @@ func (this *HTTPFirewallRuleDAO) ComposeFirewallRule(tx *dbs.Tx, ruleId int64) (
config.Operator = rule.Operator
config.Value = rule.Value
config.IsCaseInsensitive = rule.IsCaseInsensitive == 1
config.IsCaseInsensitive = rule.IsCaseInsensitive
if IsNotNull(rule.CheckpointOptions) {
checkpointOptions := map[string]interface{}{}

View File

@@ -95,7 +95,7 @@ func (this *HTTPFirewallRuleGroupDAO) ComposeFirewallRuleGroup(tx *dbs.Tx, group
config.Name = group.Name
config.Description = group.Description
config.Code = group.Code
config.IsTemplate = group.IsTemplate == 1
config.IsTemplate = group.IsTemplate
if IsNotNull(group.Sets) {
setRefs := []*firewallconfigs.HTTPFirewallRuleSetRef{}

View File

@@ -9,7 +9,7 @@ type HTTPFirewallRuleGroup struct {
Name string `field:"name"` // 名称
Description string `field:"description"` // 描述
Code string `field:"code"` // 代号
IsTemplate uint8 `field:"isTemplate"` // 是否为预置模板
IsTemplate bool `field:"isTemplate"` // 是否为预置模板
AdminId uint32 `field:"adminId"` // 管理员ID
UserId uint32 `field:"userId"` // 用户ID
State uint8 `field:"state"` // 状态

View File

@@ -11,7 +11,7 @@ type HTTPFirewallRule struct {
ParamFilters dbs.JSON `field:"paramFilters"` // 处理器
Operator string `field:"operator"` // 操作符
Value string `field:"value"` // 对比值
IsCaseInsensitive uint8 `field:"isCaseInsensitive"` // 是否大小写不敏感
IsCaseInsensitive bool `field:"isCaseInsensitive"` // 是否大小写不敏感
CheckpointOptions dbs.JSON `field:"checkpointOptions"` // 检查点参数
State uint8 `field:"state"` // 状态
CreatedAt uint64 `field:"createdAt"` // 创建时间

View File

@@ -175,7 +175,7 @@ func (this *HTTPLocationDAO) ComposeLocationConfig(tx *dbs.Tx, locationId int64,
config.Name = location.Name
config.Pattern = location.Pattern
config.URLPrefix = location.UrlPrefix
config.IsBreak = location.IsBreak == 1
config.IsBreak = location.IsBreak
// web
if location.WebId > 0 {

View File

@@ -18,7 +18,7 @@ type HTTPLocation struct {
WebId uint32 `field:"webId"` // Web配置ID
ReverseProxy dbs.JSON `field:"reverseProxy"` // 反向代理
UrlPrefix string `field:"urlPrefix"` // URL前缀
IsBreak uint8 `field:"isBreak"` // 是否终止匹配
IsBreak bool `field:"isBreak"` // 是否终止匹配
Conds dbs.JSON `field:"conds"` // 匹配条件
Domains dbs.JSON `field:"domains"` // 专属域名
}

View File

@@ -103,7 +103,7 @@ func (this *HTTPRewriteRuleDAO) ComposeRewriteRule(tx *dbs.Tx, rewriteRuleId int
config.Mode = rule.Mode
config.RedirectStatus = types.Int(rule.RedirectStatus)
config.ProxyHost = rule.ProxyHost
config.IsBreak = rule.IsBreak == 1
config.IsBreak = rule.IsBreak
config.WithQuery = rule.WithQuery == 1
// conds

View File

@@ -16,7 +16,7 @@ type HTTPRewriteRule struct {
Mode string `field:"mode"` // 替换模式
RedirectStatus uint32 `field:"redirectStatus"` // 跳转的状态码
ProxyHost string `field:"proxyHost"` // 代理的主机名
IsBreak uint8 `field:"isBreak"` // 是否终止解析
IsBreak bool `field:"isBreak"` // 是否终止解析
WithQuery uint8 `field:"withQuery"` // 是否保留URI参数
Conds dbs.JSON `field:"conds"` // 匹配条件
}

View File

@@ -23,7 +23,7 @@ type IPItem struct {
SourceHTTPFirewallPolicyId uint32 `field:"sourceHTTPFirewallPolicyId"` // 来源策略ID
SourceHTTPFirewallRuleGroupId uint32 `field:"sourceHTTPFirewallRuleGroupId"` // 来源规则集分组ID
SourceHTTPFirewallRuleSetId uint32 `field:"sourceHTTPFirewallRuleSetId"` // 来源规则集ID
IsRead uint8 `field:"isRead"` // 是否已读
IsRead bool `field:"isRead"` // 是否已读
}
type IPItemOperator struct {

View File

@@ -22,8 +22,8 @@ var listTypeCacheMap = map[int64]*IPList{} // listId => *IPList
var DefaultGlobalIPList = &IPList{
Id: uint32(firewallconfigs.GlobalListId),
Name: "全局封锁名单",
IsPublic: 1,
IsGlobal: 1,
IsPublic: true,
IsGlobal: true,
Type: "black",
State: IPListStateEnabled,
IsOn: true,

View File

@@ -16,8 +16,8 @@ type IPList struct {
Timeout dbs.JSON `field:"timeout"` // 默认超时时间
Actions dbs.JSON `field:"actions"` // IP触发的动作
Description string `field:"description"` // 描述
IsPublic uint8 `field:"isPublic"` // 是否公用
IsGlobal uint8 `field:"isGlobal"` // 是否全局
IsPublic bool `field:"isPublic"` // 是否公用
IsGlobal bool `field:"isGlobal"` // 是否全局
}
type IPListOperator struct {

View File

@@ -15,7 +15,7 @@ type Message struct {
Body string `field:"body"` // 内容
Type string `field:"type"` // 消息类型
Params dbs.JSON `field:"params"` // 额外的参数
IsRead uint8 `field:"isRead"` // 是否已读
IsRead bool `field:"isRead"` // 是否已读
State uint8 `field:"state"` // 状态
CreatedAt uint64 `field:"createdAt"` // 创建时间
Day string `field:"day"` // 日期YYYYMMDD

View File

@@ -5,7 +5,7 @@ type MessageTaskLog struct {
Id uint64 `field:"id"` // ID
TaskId uint64 `field:"taskId"` // 任务ID
CreatedAt uint64 `field:"createdAt"` // 创建时间
IsOk uint8 `field:"isOk"` // 是否成功
IsOk bool `field:"isOk"` // 是否成功
Error string `field:"error"` // 错误信息
Response string `field:"response"` // 响应信息
Day string `field:"day"` // YYYYMMDD

View File

@@ -17,7 +17,7 @@ type MessageTask struct {
State uint8 `field:"state"` // 状态
Result dbs.JSON `field:"result"` // 结果
Day string `field:"day"` // YYYYMMDD
IsPrimary uint8 `field:"isPrimary"` // 是否优先
IsPrimary bool `field:"isPrimary"` // 是否优先
}
type MessageTaskOperator struct {

View File

@@ -161,7 +161,7 @@ func (this *MetricItemDAO) UpdateItem(tx *dbs.Tx, itemId int64, name string, key
if oldItem == nil {
return nil
}
oldIsPublic := oldItem.IsPublic == 1
oldIsPublic := oldItem.IsPublic
var versionChanged = false
if strings.Join(oldItem.DecodeKeys(), "&") != strings.Join(keys, "&") || types.Int32(oldItem.Period) != period || oldItem.PeriodUnit != periodUnit || oldItem.Value != value {
versionChanged = true

View File

@@ -17,7 +17,7 @@ type MetricItem struct {
Value string `field:"value"` // 值运算
State uint8 `field:"state"` // 状态
Version uint32 `field:"version"` // 版本号
IsPublic uint8 `field:"isPublic"` // 是否为公用
IsPublic bool `field:"isPublic"` // 是否为公用
}
type MetricItemOperator struct {

View File

@@ -32,7 +32,7 @@ type NodeCluster struct {
NodeMaxThreads uint32 `field:"nodeMaxThreads"` // 节点最大线程数
NodeTCPMaxConnections uint32 `field:"nodeTCPMaxConnections"` // TCP最大连接数
AutoOpenPorts uint8 `field:"autoOpenPorts"` // 是否自动尝试开放端口
IsPinned uint8 `field:"isPinned"` // 是否置顶
IsPinned bool `field:"isPinned"` // 是否置顶
}
type NodeClusterOperator struct {

View File

@@ -679,7 +679,7 @@ func (this *NodeDAO) FindNodeInstallStatus(tx *dbs.Tx, nodeId int64) (*NodeInsta
}
installStatus := node.(*Node).InstallStatus
isInstalled := node.(*Node).IsInstalled == 1
isInstalled := node.(*Node).IsInstalled
if len(installStatus) == 0 {
return NewNodeInstallStatus(), nil
}
@@ -1266,7 +1266,7 @@ func (this *NodeDAO) UpdateNodeUpCount(tx *dbs.Tx, nodeId int64, isUp bool, maxU
if one == nil {
return false, nil
}
oldIsUp := one.(*Node).IsUp == 1
oldIsUp := one.(*Node).IsUp
// 如果新老状态一致,则不做任何事情
if oldIsUp == isUp {

View File

@@ -115,7 +115,7 @@ func (this *NodeIPAddressDAO) FindAddressIsHealthy(tx *dbs.Tx, addressId int64)
return false, err
}
var addr = one.(*NodeIPAddress)
return addr.IsHealthy == 1, nil
return addr.IsHealthy, nil
}
// CreateAddress 创建IP地址
@@ -469,7 +469,7 @@ func (this *NodeIPAddressDAO) UpdateAddressHealthCount(tx *dbs.Tx, addrId int64,
if one == nil {
return false, nil
}
oldIsHealthy := one.(*NodeIPAddress).IsHealthy == 1
oldIsHealthy := one.(*NodeIPAddress).IsHealthy
// 如果新老状态一致,则不做任何事情
if oldIsHealthy == isUp {

View File

@@ -7,9 +7,9 @@ type NodeIPAddressLog struct {
AdminId uint32 `field:"adminId"` // 管理员ID
Description string `field:"description"` // 描述
CreatedAt uint64 `field:"createdAt"` // 操作时间
IsUp uint8 `field:"isUp"` // 是否在线
IsUp bool `field:"isUp"` // 是否在线
IsOn bool `field:"isOn"` // 是否启用
CanAccess uint8 `field:"canAccess"` // 是否可访问
CanAccess bool `field:"canAccess"` // 是否可访问
Day string `field:"day"` // YYYYMMDD用来清理
BackupIP string `field:"backupIP"` // 备用IP
}

View File

@@ -13,10 +13,10 @@ type NodeIPAddress struct {
Description string `field:"description"` // 描述
State uint8 `field:"state"` // 状态
Order uint32 `field:"order"` // 排序
CanAccess uint8 `field:"canAccess"` // 是否可以访问
CanAccess bool `field:"canAccess"` // 是否可以访问
IsOn bool `field:"isOn"` // 是否启用
IsUp uint8 `field:"isUp"` // 是否上线
IsHealthy uint8 `field:"isHealthy"` // 是否健康
IsUp bool `field:"isUp"` // 是否上线
IsHealthy bool `field:"isHealthy"` // 是否健康
Thresholds dbs.JSON `field:"thresholds"` // 上线阈值
Connectivity dbs.JSON `field:"connectivity"` // 连通性状态
BackupIP string `field:"backupIP"` // 备用IP

View File

@@ -9,7 +9,7 @@ type NodeIPAddressThreshold struct {
Items dbs.JSON `field:"items"` // 阈值条目
Actions dbs.JSON `field:"actions"` // 动作
NotifiedAt uint64 `field:"notifiedAt"` // 上次通知时间
IsMatched uint8 `field:"isMatched"` // 上次是否匹配
IsMatched bool `field:"isMatched"` // 上次是否匹配
State uint8 `field:"state"` // 状态
Order uint32 `field:"order"` // 排序
}

View File

@@ -17,8 +17,8 @@ type NodeLog struct {
OriginId uint32 `field:"originId"` // 源站ID
Hash string `field:"hash"` // 信息内容Hash
Count uint32 `field:"count"` // 重复次数
IsFixed uint8 `field:"isFixed"` // 是否已处理
IsRead uint8 `field:"isRead"` // 是否已读
IsFixed bool `field:"isFixed"` // 是否已处理
IsRead bool `field:"isRead"` // 是否已读
Params dbs.JSON `field:"params"` // 参数
}

View File

@@ -8,10 +8,10 @@ type Node struct {
AdminId uint32 `field:"adminId"` // 管理员ID
UserId uint32 `field:"userId"` // 用户ID
IsOn bool `field:"isOn"` // 是否启用
IsUp uint8 `field:"isUp"` // 是否在线
IsUp bool `field:"isUp"` // 是否在线
CountUp uint32 `field:"countUp"` // 连续在线次数
CountDown uint32 `field:"countDown"` // 连续下线次数
IsActive uint8 `field:"isActive"` // 是否活跃
IsActive bool `field:"isActive"` // 是否活跃
UniqueId string `field:"uniqueId"` // 节点ID
Secret string `field:"secret"` // 密钥
Name string `field:"name"` // 节点名
@@ -25,7 +25,7 @@ type Node struct {
Version uint32 `field:"version"` // 当前版本号
LatestVersion uint32 `field:"latestVersion"` // 最后版本号
InstallDir string `field:"installDir"` // 安装目录
IsInstalled uint8 `field:"isInstalled"` // 是否已安装
IsInstalled bool `field:"isInstalled"` // 是否已安装
InstallStatus dbs.JSON `field:"installStatus"` // 安装状态
State uint8 `field:"state"` // 状态
ConnectedAPINodes dbs.JSON `field:"connectedAPINodes"` // 当前连接的API节点

View File

@@ -10,10 +10,10 @@ type NodeTask struct {
Type string `field:"type"` // 任务类型
UniqueId string `field:"uniqueId"` // 唯一IDnodeId@type
UpdatedAt uint64 `field:"updatedAt"` // 修改时间
IsDone uint8 `field:"isDone"` // 是否已完成
IsOk uint8 `field:"isOk"` // 是否已完成
IsDone bool `field:"isDone"` // 是否已完成
IsOk bool `field:"isOk"` // 是否已完成
Error string `field:"error"` // 错误信息
IsNotified uint8 `field:"isNotified"` // 是否已通知更新
IsNotified bool `field:"isNotified"` // 是否已通知更新
Version uint64 `field:"version"` // 版本
}

View File

@@ -293,7 +293,7 @@ func (this *NSNodeDAO) FindNodeInstallStatus(tx *dbs.Tx, nodeId int64) (*NodeIns
}
installStatus := node.(*NSNode).InstallStatus
isInstalled := node.(*NSNode).IsInstalled == 1
isInstalled := node.(*NSNode).IsInstalled
if len(installStatus) == 0 {
return NewNodeInstallStatus(), nil
}

View File

@@ -12,12 +12,12 @@ type NSNode struct {
Status dbs.JSON `field:"status"` // 运行状态
UniqueId string `field:"uniqueId"` // 节点ID
Secret string `field:"secret"` // 密钥
IsUp uint8 `field:"isUp"` // 是否运行
IsInstalled uint8 `field:"isInstalled"` // 是否已安装
IsUp bool `field:"isUp"` // 是否运行
IsInstalled bool `field:"isInstalled"` // 是否已安装
InstallStatus dbs.JSON `field:"installStatus"` // 安装状态
InstallDir string `field:"installDir"` // 安装目录
State uint8 `field:"state"` // 状态
IsActive uint8 `field:"isActive"` // 是否活跃
IsActive bool `field:"isActive"` // 是否活跃
StatusIsNotified uint8 `field:"statusIsNotified"` // 活跃状态已经通知
ConnectedAPINodes dbs.JSON `field:"connectedAPINodes"` // 当前连接的API节点
}

View File

@@ -12,7 +12,7 @@ type ReportNode struct {
Location string `field:"location"` // 所在区域
Isp string `field:"isp"` // 网络服务商
AllowIPs dbs.JSON `field:"allowIPs"` // 允许的IP
IsActive uint8 `field:"isActive"` // 是否活跃
IsActive bool `field:"isActive"` // 是否活跃
Status dbs.JSON `field:"status"` // 状态
State uint8 `field:"state"` // 状态
CreatedAt uint64 `field:"createdAt"` // 创建时间

View File

@@ -8,7 +8,7 @@ type ReportResult struct {
TargetDesc string `field:"targetDesc"` // 对象描述
UpdatedAt uint64 `field:"updatedAt"` // 更新时间
ReportNodeId uint32 `field:"reportNodeId"` // 监控节点ID
IsOk uint8 `field:"isOk"` // 是否可连接
IsOk bool `field:"isOk"` // 是否可连接
Level string `field:"level"` // 级别
CostMs float64 `field:"costMs"` // 单次连接花费的时间
Error string `field:"error"` // 产生的错误信息

View File

@@ -16,7 +16,7 @@ type ServerDailyStat struct {
Hour string `field:"hour"` // YYYYMMDDHH
TimeFrom string `field:"timeFrom"` // 开始时间HHMMSS
TimeTo string `field:"timeTo"` // 结束时间
IsCharged uint8 `field:"isCharged"` // 是否已计算费用
IsCharged bool `field:"isCharged"` // 是否已计算费用
PlanId uint64 `field:"planId"` // 套餐ID
Fee float64 `field:"fee"` // 费用
}

View File

@@ -550,7 +550,7 @@ func (this *ServerDAO) FindServerServerNames(tx *dbs.Tx, serverId int64) (server
return
}
server := one.(*Server)
return server.ServerNames, server.IsAuditing == 1, int64(server.AuditingAt), server.AuditingServerNames, server.AuditingResult, nil
return server.ServerNames, server.IsAuditing, int64(server.AuditingAt), server.AuditingServerNames, server.AuditingResult, nil
}
// UpdateServerNames 修改ServerNames配置

View File

@@ -14,7 +14,7 @@ type Server struct {
ServerNames dbs.JSON `field:"serverNames"` // 域名列表
AuditingAt uint64 `field:"auditingAt"` // 审核提交时间
AuditingServerNames dbs.JSON `field:"auditingServerNames"` // 审核中的域名
IsAuditing uint8 `field:"isAuditing"` // 是否正在审核
IsAuditing bool `field:"isAuditing"` // 是否正在审核
AuditingResult dbs.JSON `field:"auditingResult"` // 审核结果
Http dbs.JSON `field:"http"` // HTTP配置
Https dbs.JSON `field:"https"` // HTTPS配置

View File

@@ -220,8 +220,8 @@ func (this *SSLCertDAO) ComposeCertConfig(tx *dbs.Tx, certId int64, cacheMap *ut
config := &sslconfigs.SSLCertConfig{}
config.Id = int64(cert.Id)
config.IsOn = cert.IsOn
config.IsCA = cert.IsCA == 1
config.IsACME = cert.IsACME == 1
config.IsCA = cert.IsCA
config.IsACME = cert.IsACME
config.Name = cert.Name
config.Description = cert.Description
config.CertData = cert.CertData

View File

@@ -16,13 +16,13 @@ type SSLCert struct {
CertData []byte `field:"certData"` // 证书内容
KeyData []byte `field:"keyData"` // 密钥内容
ServerName string `field:"serverName"` // 证书使用的主机名
IsCA uint8 `field:"isCA"` // 是否为CA证书
IsCA bool `field:"isCA"` // 是否为CA证书
GroupIds dbs.JSON `field:"groupIds"` // 证书分组
TimeBeginAt uint64 `field:"timeBeginAt"` // 开始时间
TimeEndAt uint64 `field:"timeEndAt"` // 结束时间
DnsNames dbs.JSON `field:"dnsNames"` // DNS名称列表
CommonNames dbs.JSON `field:"commonNames"` // 发行单位列表
IsACME uint8 `field:"isACME"` // 是否为ACME自动生成的
IsACME bool `field:"isACME"` // 是否为ACME自动生成的
AcmeTaskId uint64 `field:"acmeTaskId"` // ACME任务ID
NotifiedAt uint64 `field:"notifiedAt"` // 最后通知时间
Ocsp []byte `field:"ocsp"` // OCSP缓存

View File

@@ -10,8 +10,8 @@ type UserBill struct {
DayFrom string `field:"dayFrom"` // YYYYMMDD
DayTo string `field:"dayTo"` // YYYYMMDD
Month string `field:"month"` // 帐期YYYYMM
CanPay uint8 `field:"canPay"` // 是否可以支付
IsPaid uint8 `field:"isPaid"` // 是否已支付
CanPay bool `field:"canPay"` // 是否可以支付
IsPaid bool `field:"isPaid"` // 是否已支付
PaidAt uint64 `field:"paidAt"` // 支付时间
Code string `field:"code"` // 账单编号
CreatedAt uint64 `field:"createdAt"` // 创建时间

View File

@@ -23,9 +23,9 @@ type User struct {
ClusterId uint32 `field:"clusterId"` // 集群ID
Features dbs.JSON `field:"features"` // 允许操作的特征
RegisteredIP string `field:"registeredIP"` // 注册使用的IP
IsRejected uint8 `field:"isRejected"` // 是否已拒绝
IsRejected bool `field:"isRejected"` // 是否已拒绝
RejectReason string `field:"rejectReason"` // 拒绝理由
IsVerified uint8 `field:"isVerified"` // 是否验证通过
IsVerified bool `field:"isVerified"` // 是否验证通过
RequirePlans uint8 `field:"requirePlans"` // 是否需要购买套餐
}