增加一些表设计

This commit is contained in:
GoEdgeLab
2020-09-23 10:12:57 +08:00
parent 9c51ec5885
commit dd4e696ed9
50 changed files with 529 additions and 34 deletions

2
go.mod
View File

@@ -9,7 +9,7 @@ require (
github.com/go-sql-driver/mysql v1.5.0 github.com/go-sql-driver/mysql v1.5.0
github.com/go-yaml/yaml v2.1.0+incompatible github.com/go-yaml/yaml v2.1.0+incompatible
github.com/golang/protobuf v1.4.2 github.com/golang/protobuf v1.4.2
github.com/iwind/TeaGo v0.0.0-20200916035436-dbdbf25f8524 github.com/iwind/TeaGo v0.0.0-20200923021120-f5d76441fe9e
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.1 // indirect github.com/modern-go/reflect2 v1.0.1 // indirect
github.com/pkg/sftp v1.12.0 github.com/pkg/sftp v1.12.0

2
go.sum
View File

@@ -58,6 +58,8 @@ github.com/iwind/TeaGo v0.0.0-20200910072805-729cffe36729 h1:/v0WhSFVeNay/dA5zU9
github.com/iwind/TeaGo v0.0.0-20200910072805-729cffe36729/go.mod h1:KU4mS7QNiZ7QWEuDBk1zw0/Q2LrAPZv3tycEFBsuUwc= github.com/iwind/TeaGo v0.0.0-20200910072805-729cffe36729/go.mod h1:KU4mS7QNiZ7QWEuDBk1zw0/Q2LrAPZv3tycEFBsuUwc=
github.com/iwind/TeaGo v0.0.0-20200916035436-dbdbf25f8524 h1:WnARCxusBjX5vJ8E71AjhuxSeAMGfEiYvi42XVK/Yf8= github.com/iwind/TeaGo v0.0.0-20200916035436-dbdbf25f8524 h1:WnARCxusBjX5vJ8E71AjhuxSeAMGfEiYvi42XVK/Yf8=
github.com/iwind/TeaGo v0.0.0-20200916035436-dbdbf25f8524/go.mod h1:KU4mS7QNiZ7QWEuDBk1zw0/Q2LrAPZv3tycEFBsuUwc= github.com/iwind/TeaGo v0.0.0-20200916035436-dbdbf25f8524/go.mod h1:KU4mS7QNiZ7QWEuDBk1zw0/Q2LrAPZv3tycEFBsuUwc=
github.com/iwind/TeaGo v0.0.0-20200923021120-f5d76441fe9e h1:/xn7wUvlwaoA5IkdBUctv2OQbJSZ0/Dw8qRJmn55sJk=
github.com/iwind/TeaGo v0.0.0-20200923021120-f5d76441fe9e/go.mod h1:KU4mS7QNiZ7QWEuDBk1zw0/Q2LrAPZv3tycEFBsuUwc=
github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68= github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68=
github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8= github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8=

View File

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

View File

@@ -20,7 +20,7 @@ func NewAPINodeDAO() *APINodeDAO {
return dbs.NewDAO(&APINodeDAO{ return dbs.NewDAO(&APINodeDAO{
DAOObject: dbs.DAOObject{ DAOObject: dbs.DAOObject{
DB: Tea.Env, DB: Tea.Env,
Table: "edgeApiNodes", Table: "edgeAPINodes",
Model: new(APINode), Model: new(APINode),
PkName: "id", PkName: "id",
}, },

View File

@@ -1,6 +1,6 @@
package models package models
// // API节点
type APINode struct { type APINode struct {
Id uint32 `field:"id"` // ID Id uint32 `field:"id"` // ID
IsOn uint8 `field:"isOn"` // 是否启用 IsOn uint8 `field:"isOn"` // 是否启用
@@ -9,10 +9,13 @@ type APINode struct {
Secret string `field:"secret"` // 密钥 Secret string `field:"secret"` // 密钥
Name string `field:"name"` // 名称 Name string `field:"name"` // 名称
Description string `field:"description"` // 描述 Description string `field:"description"` // 描述
Host string `field:"host"` // 地址 Host string `field:"host"` // 主机
Port uint32 `field:"port"` // 端口 Port uint32 `field:"port"` // 端口
Order uint32 `field:"order"` // 排序 Order uint32 `field:"order"` // 排序
State uint8 `field:"state"` // 状态 State uint8 `field:"state"` // 状态
CreatedAt uint64 `field:"createdAt"` // 创建时间
AdminId uint32 `field:"adminId"` // 管理员ID
Weight uint32 `field:"weight"` // 权重
} }
type APINodeOperator struct { type APINodeOperator struct {
@@ -23,10 +26,13 @@ type APINodeOperator struct {
Secret interface{} // 密钥 Secret interface{} // 密钥
Name interface{} // 名称 Name interface{} // 名称
Description interface{} // 描述 Description interface{} // 描述
Host interface{} // 地址 Host interface{} // 主机
Port interface{} // 端口 Port interface{} // 端口
Order interface{} // 排序 Order interface{} // 排序
State interface{} // 状态 State interface{} // 状态
CreatedAt interface{} // 创建时间
AdminId interface{} // 管理员ID
Weight interface{} // 权重
} }
func NewAPINodeOperator() *APINodeOperator { func NewAPINodeOperator() *APINodeOperator {

View File

@@ -17,7 +17,7 @@ func NewApiTokenDAO() *ApiTokenDAO {
return dbs.NewDAO(&ApiTokenDAO{ return dbs.NewDAO(&ApiTokenDAO{
DAOObject: dbs.DAOObject{ DAOObject: dbs.DAOObject{
DB: Tea.Env, DB: Tea.Env,
Table: "edgeApiTokens", Table: "edgeAPITokens",
Model: new(ApiToken), Model: new(ApiToken),
PkName: "id", PkName: "id",
}, },

View File

@@ -0,0 +1,65 @@
package models
import (
_ "github.com/go-sql-driver/mysql"
"github.com/iwind/TeaGo/Tea"
"github.com/iwind/TeaGo/dbs"
)
const (
DBNodeStateEnabled = 1 // 已启用
DBNodeStateDisabled = 0 // 已禁用
)
type DBNodeDAO dbs.DAO
func NewDBNodeDAO() *DBNodeDAO {
return dbs.NewDAO(&DBNodeDAO{
DAOObject: dbs.DAOObject{
DB: Tea.Env,
Table: "edgeDBNodes",
Model: new(DBNode),
PkName: "id",
},
}).(*DBNodeDAO)
}
var SharedDBNodeDAO = NewDBNodeDAO()
// 启用条目
func (this *DBNodeDAO) EnableDBNode(id uint32) error {
_, err := this.Query().
Pk(id).
Set("state", DBNodeStateEnabled).
Update()
return err
}
// 禁用条目
func (this *DBNodeDAO) DisableDBNode(id uint32) error {
_, err := this.Query().
Pk(id).
Set("state", DBNodeStateDisabled).
Update()
return err
}
// 查找启用中的条目
func (this *DBNodeDAO) FindEnabledDBNode(id uint32) (*DBNode, error) {
result, err := this.Query().
Pk(id).
Attr("state", DBNodeStateEnabled).
Find()
if result == nil {
return nil, err
}
return result.(*DBNode), err
}
// 根据主键查找名称
func (this *DBNodeDAO) FindDBNodeName(id uint32) (string, error) {
return this.Query().
Pk(id).
Result("name").
FindStringCol("")
}

View File

@@ -0,0 +1,5 @@
package models
import (
_ "github.com/go-sql-driver/mysql"
)

View File

@@ -0,0 +1,44 @@
package models
// 数据库节点
type DBNode struct {
Id uint32 `field:"id"` // ID
IsOn uint8 `field:"isOn"` // 是否启用
Role string `field:"role"` // 数据库角色
Name string `field:"name"` // 名称
Description string `field:"description"` // 描述
Host string `field:"host"` // 主机
Port uint32 `field:"port"` // 端口
Username string `field:"username"` // 用户名
Password string `field:"password"` // 密码
Charset string `field:"charset"` // 通讯字符集
ConnTimeout uint32 `field:"connTimeout"` // 连接超时时间(秒)
State uint8 `field:"state"` // 状态
CreatedAt uint64 `field:"createdAt"` // 创建时间
Weight uint32 `field:"weight"` // 权重
Order uint32 `field:"order"` // 排序
AdminId uint32 `field:"adminId"` // 管理员ID
}
type DBNodeOperator struct {
Id interface{} // ID
IsOn interface{} // 是否启用
Role interface{} // 数据库角色
Name interface{} // 名称
Description interface{} // 描述
Host interface{} // 主机
Port interface{} // 端口
Username interface{} // 用户名
Password interface{} // 密码
Charset interface{} // 通讯字符集
ConnTimeout interface{} // 连接超时时间(秒)
State interface{} // 状态
CreatedAt interface{} // 创建时间
Weight interface{} // 权重
Order interface{} // 排序
AdminId interface{} // 管理员ID
}
func NewDBNodeOperator() *DBNodeOperator {
return &DBNodeOperator{}
}

View File

@@ -0,0 +1 @@
package models

View File

@@ -1,12 +1,14 @@
package models package models
// // 文件管理
type File struct { type File struct {
Id uint32 `field:"id"` // ID Id uint32 `field:"id"` // ID
AdminId uint32 `field:"adminId"` // 管理员ID
UserId uint32 `field:"userId"` // 用户ID
Description string `field:"description"` // 文件描述 Description string `field:"description"` // 文件描述
Filename string `field:"filename"` // 文件名 Filename string `field:"filename"` // 文件名
Size uint32 `field:"size"` // 文件尺寸 Size uint32 `field:"size"` // 文件尺寸
CreatedAt uint32 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
Order uint32 `field:"order"` // 排序 Order uint32 `field:"order"` // 排序
Type string `field:"type"` // 类型 Type string `field:"type"` // 类型
State uint8 `field:"state"` // 状态 State uint8 `field:"state"` // 状态
@@ -14,6 +16,8 @@ type File struct {
type FileOperator struct { type FileOperator struct {
Id interface{} // ID Id interface{} // ID
AdminId interface{} // 管理员ID
UserId interface{} // 用户ID
Description interface{} // 文件描述 Description interface{} // 文件描述
Filename interface{} // 文件名 Filename interface{} // 文件名
Size interface{} // 文件尺寸 Size interface{} // 文件尺寸

View File

@@ -1,6 +1,6 @@
package models package models
// // HTTP缓存策略
type HTTPCachePolicy struct { type HTTPCachePolicy struct {
Id uint32 `field:"id"` // ID Id uint32 `field:"id"` // ID
AdminId uint32 `field:"adminId"` // 管理员ID AdminId uint32 `field:"adminId"` // 管理员ID
@@ -16,8 +16,8 @@ type HTTPCachePolicy struct {
SkipCacheControlValues string `field:"skipCacheControlValues"` // 忽略的cache-control SkipCacheControlValues string `field:"skipCacheControlValues"` // 忽略的cache-control
SkipSetCookie uint8 `field:"skipSetCookie"` // 是否忽略Set-Cookie Header SkipSetCookie uint8 `field:"skipSetCookie"` // 是否忽略Set-Cookie Header
EnableRequestCachePragma uint8 `field:"enableRequestCachePragma"` // 是否支持客户端的Pragma: no-cache EnableRequestCachePragma uint8 `field:"enableRequestCachePragma"` // 是否支持客户端的Pragma: no-cache
Cond string `field:"cond"` // 请求条件 Conds string `field:"conds"` // 请求条件
CreatedAt uint32 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
State uint8 `field:"state"` // 状态 State uint8 `field:"state"` // 状态
} }
@@ -36,7 +36,7 @@ type HTTPCachePolicyOperator struct {
SkipCacheControlValues interface{} // 忽略的cache-control SkipCacheControlValues interface{} // 忽略的cache-control
SkipSetCookie interface{} // 是否忽略Set-Cookie Header SkipSetCookie interface{} // 是否忽略Set-Cookie Header
EnableRequestCachePragma interface{} // 是否支持客户端的Pragma: no-cache EnableRequestCachePragma interface{} // 是否支持客户端的Pragma: no-cache
Cond interface{} // 请求条件 Conds interface{} // 请求条件
CreatedAt interface{} // 创建时间 CreatedAt interface{} // 创建时间
State interface{} // 状态 State interface{} // 状态
} }

View File

@@ -10,6 +10,9 @@ type HTTPFirewallPolicy struct {
CreatedAt uint64 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
IsOn uint8 `field:"isOn"` // 是否启用 IsOn uint8 `field:"isOn"` // 是否启用
Name string `field:"name"` // 名称 Name string `field:"name"` // 名称
Inbound string `field:"inbound"` // 入站规则
Outbound string `field:"outbound"` // 出站规则
Conds string `field:"conds"` // 条件
} }
type HTTPFirewallPolicyOperator struct { type HTTPFirewallPolicyOperator struct {
@@ -21,6 +24,9 @@ type HTTPFirewallPolicyOperator struct {
CreatedAt interface{} // 创建时间 CreatedAt interface{} // 创建时间
IsOn interface{} // 是否启用 IsOn interface{} // 是否启用
Name interface{} // 名称 Name interface{} // 名称
Inbound interface{} // 入站规则
Outbound interface{} // 出站规则
Conds interface{} // 条件
} }
func NewHTTPFirewallPolicyOperator() *HTTPFirewallPolicyOperator { func NewHTTPFirewallPolicyOperator() *HTTPFirewallPolicyOperator {

View File

@@ -0,0 +1,57 @@
package models
import (
_ "github.com/go-sql-driver/mysql"
"github.com/iwind/TeaGo/Tea"
"github.com/iwind/TeaGo/dbs"
)
const (
HTTPFirewallRuleStateEnabled = 1 // 已启用
HTTPFirewallRuleStateDisabled = 0 // 已禁用
)
type HTTPFirewallRuleDAO dbs.DAO
func NewHTTPFirewallRuleDAO() *HTTPFirewallRuleDAO {
return dbs.NewDAO(&HTTPFirewallRuleDAO{
DAOObject: dbs.DAOObject{
DB: Tea.Env,
Table: "edgeHTTPFirewallRules",
Model: new(HTTPFirewallRule),
PkName: "id",
},
}).(*HTTPFirewallRuleDAO)
}
var SharedHTTPFirewallRuleDAO = NewHTTPFirewallRuleDAO()
// 启用条目
func (this *HTTPFirewallRuleDAO) EnableHTTPFirewallRule(id uint32) error {
_, err := this.Query().
Pk(id).
Set("state", HTTPFirewallRuleStateEnabled).
Update()
return err
}
// 禁用条目
func (this *HTTPFirewallRuleDAO) DisableHTTPFirewallRule(id uint32) error {
_, err := this.Query().
Pk(id).
Set("state", HTTPFirewallRuleStateDisabled).
Update()
return err
}
// 查找启用中的条目
func (this *HTTPFirewallRuleDAO) FindEnabledHTTPFirewallRule(id uint32) (*HTTPFirewallRule, error) {
result, err := this.Query().
Pk(id).
Attr("state", HTTPFirewallRuleStateEnabled).
Find()
if result == nil {
return nil, err
}
return result.(*HTTPFirewallRule), err
}

View File

@@ -0,0 +1,5 @@
package models
import (
_ "github.com/go-sql-driver/mysql"
)

View File

@@ -0,0 +1,65 @@
package models
import (
_ "github.com/go-sql-driver/mysql"
"github.com/iwind/TeaGo/Tea"
"github.com/iwind/TeaGo/dbs"
)
const (
HTTPFirewallRuleGroupStateEnabled = 1 // 已启用
HTTPFirewallRuleGroupStateDisabled = 0 // 已禁用
)
type HTTPFirewallRuleGroupDAO dbs.DAO
func NewHTTPFirewallRuleGroupDAO() *HTTPFirewallRuleGroupDAO {
return dbs.NewDAO(&HTTPFirewallRuleGroupDAO{
DAOObject: dbs.DAOObject{
DB: Tea.Env,
Table: "edgeHTTPFirewallRuleGroups",
Model: new(HTTPFirewallRuleGroup),
PkName: "id",
},
}).(*HTTPFirewallRuleGroupDAO)
}
var SharedHTTPFirewallRuleGroupDAO = NewHTTPFirewallRuleGroupDAO()
// 启用条目
func (this *HTTPFirewallRuleGroupDAO) EnableHTTPFirewallRuleGroup(id uint32) error {
_, err := this.Query().
Pk(id).
Set("state", HTTPFirewallRuleGroupStateEnabled).
Update()
return err
}
// 禁用条目
func (this *HTTPFirewallRuleGroupDAO) DisableHTTPFirewallRuleGroup(id uint32) error {
_, err := this.Query().
Pk(id).
Set("state", HTTPFirewallRuleGroupStateDisabled).
Update()
return err
}
// 查找启用中的条目
func (this *HTTPFirewallRuleGroupDAO) FindEnabledHTTPFirewallRuleGroup(id uint32) (*HTTPFirewallRuleGroup, error) {
result, err := this.Query().
Pk(id).
Attr("state", HTTPFirewallRuleGroupStateEnabled).
Find()
if result == nil {
return nil, err
}
return result.(*HTTPFirewallRuleGroup), err
}
// 根据主键查找名称
func (this *HTTPFirewallRuleGroupDAO) FindHTTPFirewallRuleGroupName(id uint32) (string, error) {
return this.Query().
Pk(id).
Result("name").
FindStringCol("")
}

View File

@@ -0,0 +1,5 @@
package models
import (
_ "github.com/go-sql-driver/mysql"
)

View File

@@ -0,0 +1,32 @@
package models
// 防火墙规则分组
type HTTPFirewallRuleGroup struct {
Id uint32 `field:"id"` // ID
IsOn uint8 `field:"isOn"` // 是否启用
Name string `field:"name"` // 名称
Description string `field:"description"` // 描述
Code string `field:"code"` // 代号
AdminId uint32 `field:"adminId"` // 管理员ID
UserId uint32 `field:"userId"` // 用户ID
State uint8 `field:"state"` // 状态
Sets string `field:"sets"` // 规则集列表
CreatedAt uint64 `field:"createdAt"` // 创建时间
}
type HTTPFirewallRuleGroupOperator struct {
Id interface{} // ID
IsOn interface{} // 是否启用
Name interface{} // 名称
Description interface{} // 描述
Code interface{} // 代号
AdminId interface{} // 管理员ID
UserId interface{} // 用户ID
State interface{} // 状态
Sets interface{} // 规则集列表
CreatedAt interface{} // 创建时间
}
func NewHTTPFirewallRuleGroupOperator() *HTTPFirewallRuleGroupOperator {
return &HTTPFirewallRuleGroupOperator{}
}

View File

@@ -0,0 +1 @@
package models

View File

@@ -0,0 +1,34 @@
package models
// 防火墙规则
type HTTPFirewallRule struct {
Id uint32 `field:"id"` // ID
IsOn uint8 `field:"isOn"` // 是否启用
Param string `field:"param"` // 参数
Operator string `field:"operator"` // 操作符
Value string `field:"value"` // 对比值
IsCaseInsensitive uint8 `field:"isCaseInsensitive"` // 是否大小写不敏感
CheckpointOptions string `field:"checkpointOptions"` // 检查点参数
State uint8 `field:"state"` // 状态
CreatedAt uint64 `field:"createdAt"` // 创建时间
AdminId uint32 `field:"adminId"` // 管理员ID
UserId uint32 `field:"userId"` // 用户ID
}
type HTTPFirewallRuleOperator struct {
Id interface{} // ID
IsOn interface{} // 是否启用
Param interface{} // 参数
Operator interface{} // 操作符
Value interface{} // 对比值
IsCaseInsensitive interface{} // 是否大小写不敏感
CheckpointOptions interface{} // 检查点参数
State interface{} // 状态
CreatedAt interface{} // 创建时间
AdminId interface{} // 管理员ID
UserId interface{} // 用户ID
}
func NewHTTPFirewallRuleOperator() *HTTPFirewallRuleOperator {
return &HTTPFirewallRuleOperator{}
}

View File

@@ -0,0 +1 @@
package models

View File

@@ -0,0 +1,65 @@
package models
import (
_ "github.com/go-sql-driver/mysql"
"github.com/iwind/TeaGo/Tea"
"github.com/iwind/TeaGo/dbs"
)
const (
HTTPFirewallRuleSetStateEnabled = 1 // 已启用
HTTPFirewallRuleSetStateDisabled = 0 // 已禁用
)
type HTTPFirewallRuleSetDAO dbs.DAO
func NewHTTPFirewallRuleSetDAO() *HTTPFirewallRuleSetDAO {
return dbs.NewDAO(&HTTPFirewallRuleSetDAO{
DAOObject: dbs.DAOObject{
DB: Tea.Env,
Table: "edgeHTTPFirewallRuleSets",
Model: new(HTTPFirewallRuleSet),
PkName: "id",
},
}).(*HTTPFirewallRuleSetDAO)
}
var SharedHTTPFirewallRuleSetDAO = NewHTTPFirewallRuleSetDAO()
// 启用条目
func (this *HTTPFirewallRuleSetDAO) EnableHTTPFirewallRuleSet(id uint32) error {
_, err := this.Query().
Pk(id).
Set("state", HTTPFirewallRuleSetStateEnabled).
Update()
return err
}
// 禁用条目
func (this *HTTPFirewallRuleSetDAO) DisableHTTPFirewallRuleSet(id uint32) error {
_, err := this.Query().
Pk(id).
Set("state", HTTPFirewallRuleSetStateDisabled).
Update()
return err
}
// 查找启用中的条目
func (this *HTTPFirewallRuleSetDAO) FindEnabledHTTPFirewallRuleSet(id uint32) (*HTTPFirewallRuleSet, error) {
result, err := this.Query().
Pk(id).
Attr("state", HTTPFirewallRuleSetStateEnabled).
Find()
if result == nil {
return nil, err
}
return result.(*HTTPFirewallRuleSet), err
}
// 根据主键查找名称
func (this *HTTPFirewallRuleSetDAO) FindHTTPFirewallRuleSetName(id uint32) (string, error) {
return this.Query().
Pk(id).
Result("name").
FindStringCol("")
}

View File

@@ -0,0 +1,5 @@
package models
import (
_ "github.com/go-sql-driver/mysql"
)

View File

@@ -0,0 +1,34 @@
package models
// 防火墙规则集
type HTTPFirewallRuleSet struct {
Id uint32 `field:"id"` // ID
IsOn uint8 `field:"isOn"` // 是否启用
Code string `field:"code"` // 代号
Name string `field:"name"` // 名称
Description string `field:"description"` // 描述
CreatedAt uint64 `field:"createdAt"` // 创建时间
Rules string `field:"rules"` // 规则列表
Connector string `field:"connector"` // 规则之间的关系
State uint8 `field:"state"` // 状态
AdminId uint32 `field:"adminId"` // 管理员ID
UserId uint32 `field:"userId"` // 用户ID
}
type HTTPFirewallRuleSetOperator struct {
Id interface{} // ID
IsOn interface{} // 是否启用
Code interface{} // 代号
Name interface{} // 名称
Description interface{} // 描述
CreatedAt interface{} // 创建时间
Rules interface{} // 规则列表
Connector interface{} // 规则之间的关系
State interface{} // 状态
AdminId interface{} // 管理员ID
UserId interface{} // 用户ID
}
func NewHTTPFirewallRuleSetOperator() *HTTPFirewallRuleSetOperator {
return &HTTPFirewallRuleSetOperator{}
}

View File

@@ -0,0 +1 @@
package models

View File

@@ -10,7 +10,8 @@ type HTTPGzip struct {
MinLength string `field:"minLength"` // 可压缩最小值 MinLength string `field:"minLength"` // 可压缩最小值
MaxLength string `field:"maxLength"` // 可压缩最大值 MaxLength string `field:"maxLength"` // 可压缩最大值
State uint8 `field:"state"` // 状态 State uint8 `field:"state"` // 状态
CreatedAt uint32 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
Conds string `field:"conds"` // 条件
} }
type HTTPGzipOperator struct { type HTTPGzipOperator struct {
@@ -23,6 +24,7 @@ type HTTPGzipOperator struct {
MaxLength interface{} // 可压缩最大值 MaxLength interface{} // 可压缩最大值
State interface{} // 状态 State interface{} // 状态
CreatedAt interface{} // 创建时间 CreatedAt interface{} // 创建时间
Conds interface{} // 条件
} }
func NewHTTPGzipOperator() *HTTPGzipOperator { func NewHTTPGzipOperator() *HTTPGzipOperator {

View File

@@ -1,6 +1,6 @@
package models package models
// // HTTP Header
type HTTPHeader struct { type HTTPHeader struct {
Id uint32 `field:"id"` // ID Id uint32 `field:"id"` // ID
AdminId uint32 `field:"adminId"` // 管理员ID AdminId uint32 `field:"adminId"` // 管理员ID
@@ -12,7 +12,7 @@ type HTTPHeader struct {
Order uint32 `field:"order"` // 排序 Order uint32 `field:"order"` // 排序
Status string `field:"status"` // 状态码设置 Status string `field:"status"` // 状态码设置
State uint8 `field:"state"` // 状态 State uint8 `field:"state"` // 状态
CreatedAt uint32 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
} }
type HTTPHeaderOperator struct { type HTTPHeaderOperator struct {

View File

@@ -7,7 +7,7 @@ type HTTPHeaderPolicy struct {
State uint8 `field:"state"` // 状态 State uint8 `field:"state"` // 状态
AdminId uint32 `field:"adminId"` // 管理员ID AdminId uint32 `field:"adminId"` // 管理员ID
UserId uint32 `field:"userId"` // 用户ID UserId uint32 `field:"userId"` // 用户ID
CreatedAt uint32 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
AddHeaders string `field:"addHeaders"` // 添加的Header AddHeaders string `field:"addHeaders"` // 添加的Header
AddTrailers string `field:"addTrailers"` // 添加的Trailers AddTrailers string `field:"addTrailers"` // 添加的Trailers
SetHeaders string `field:"setHeaders"` // 设置Header SetHeaders string `field:"setHeaders"` // 设置Header

View File

@@ -10,7 +10,7 @@ type HTTPPage struct {
Url string `field:"url"` // 页面URL Url string `field:"url"` // 页面URL
NewStatus int32 `field:"newStatus"` // 新状态码 NewStatus int32 `field:"newStatus"` // 新状态码
State uint8 `field:"state"` // 状态 State uint8 `field:"state"` // 状态
CreatedAt uint32 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
} }
type HTTPPageOperator struct { type HTTPPageOperator struct {

View File

@@ -8,7 +8,7 @@ type HTTPWeb struct {
AdminId uint32 `field:"adminId"` // 管理员ID AdminId uint32 `field:"adminId"` // 管理员ID
UserId uint32 `field:"userId"` // 用户ID UserId uint32 `field:"userId"` // 用户ID
State uint8 `field:"state"` // 状态 State uint8 `field:"state"` // 状态
CreatedAt uint32 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
Root string `field:"root"` // 资源根目录 Root string `field:"root"` // 资源根目录
Charset string `field:"charset"` // 字符集 Charset string `field:"charset"` // 字符集
Shutdown string `field:"shutdown"` // 临时关闭页面配置 Shutdown string `field:"shutdown"` // 临时关闭页面配置

View File

@@ -5,7 +5,7 @@ type Log struct {
Id uint32 `field:"id"` // ID Id uint32 `field:"id"` // ID
Level string `field:"level"` // 级别 Level string `field:"level"` // 级别
Description string `field:"description"` // 描述 Description string `field:"description"` // 描述
CreatedAt uint32 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
Action string `field:"action"` // 动作 Action string `field:"action"` // 动作
UserId uint32 `field:"userId"` // 用户ID UserId uint32 `field:"userId"` // 用户ID
AdminId uint32 `field:"adminId"` // 管理员ID AdminId uint32 `field:"adminId"` // 管理员ID

View File

@@ -0,0 +1 @@
package models

View File

@@ -10,7 +10,7 @@ type NodeCluster struct {
ApiNodes string `field:"apiNodes"` // 使用的API节点 ApiNodes string `field:"apiNodes"` // 使用的API节点
InstallDir string `field:"installDir"` // 安装目录 InstallDir string `field:"installDir"` // 安装目录
Order uint32 `field:"order"` // 排序 Order uint32 `field:"order"` // 排序
CreatedAt uint32 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
GrantId uint32 `field:"grantId"` // 默认认证方式 GrantId uint32 `field:"grantId"` // 默认认证方式
State uint8 `field:"state"` // 状态 State uint8 `field:"state"` // 状态
} }

View File

@@ -1,6 +1,6 @@
package models package models
// // 节点授权
type NodeGrant struct { type NodeGrant struct {
Id uint32 `field:"id"` // ID Id uint32 `field:"id"` // ID
Name string `field:"name"` // 名称 Name string `field:"name"` // 名称
@@ -12,6 +12,7 @@ type NodeGrant struct {
Description string `field:"description"` // 备注 Description string `field:"description"` // 备注
NodeId uint32 `field:"nodeId"` // 专有节点 NodeId uint32 `field:"nodeId"` // 专有节点
State uint8 `field:"state"` // 状态 State uint8 `field:"state"` // 状态
CreatedAt uint64 `field:"createdAt"` // 创建时间
} }
type NodeGrantOperator struct { type NodeGrantOperator struct {
@@ -25,6 +26,7 @@ type NodeGrantOperator struct {
Description interface{} // 备注 Description interface{} // 备注
NodeId interface{} // 专有节点 NodeId interface{} // 专有节点
State interface{} // 状态 State interface{} // 状态
CreatedAt interface{} // 创建时间
} }
func NewNodeGrantOperator() *NodeGrantOperator { func NewNodeGrantOperator() *NodeGrantOperator {

View File

@@ -5,7 +5,7 @@ type NodeGroup struct {
Id uint32 `field:"id"` // ID Id uint32 `field:"id"` // ID
Name string `field:"name"` // 名称 Name string `field:"name"` // 名称
Order uint32 `field:"order"` // 排序 Order uint32 `field:"order"` // 排序
CreatedAt uint32 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
State uint8 `field:"state"` // 状态 State uint8 `field:"state"` // 状态
} }

View File

@@ -0,0 +1 @@
package models

View File

@@ -13,7 +13,7 @@ type Node struct {
ClusterId uint32 `field:"clusterId"` // 集群ID ClusterId uint32 `field:"clusterId"` // 集群ID
RegionId uint32 `field:"regionId"` // 区域ID RegionId uint32 `field:"regionId"` // 区域ID
GroupId uint32 `field:"groupId"` // 分组ID GroupId uint32 `field:"groupId"` // 分组ID
CreatedAt uint32 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
Status string `field:"status"` // 最新的状态 Status string `field:"status"` // 最新的状态
Version uint32 `field:"version"` // 当前版本号 Version uint32 `field:"version"` // 当前版本号
LatestVersion uint32 `field:"latestVersion"` // 最后版本号 LatestVersion uint32 `field:"latestVersion"` // 最后版本号

View File

@@ -25,7 +25,7 @@ type Origin struct {
HealthCheck string `field:"healthCheck"` // 健康检查设置 HealthCheck string `field:"healthCheck"` // 健康检查设置
Cert string `field:"cert"` // 证书设置 Cert string `field:"cert"` // 证书设置
Ftp string `field:"ftp"` // FTP相关设置 Ftp string `field:"ftp"` // FTP相关设置
CreatedAt uint32 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
State uint8 `field:"state"` // 状态 State uint8 `field:"state"` // 状态
} }

View File

@@ -6,8 +6,8 @@ type Provider struct {
Username string `field:"username"` // 用户名 Username string `field:"username"` // 用户名
Password string `field:"password"` // 密码 Password string `field:"password"` // 密码
Fullname string `field:"fullname"` // 真实姓名 Fullname string `field:"fullname"` // 真实姓名
CreatedAt uint32 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
UpdatedAt uint32 `field:"updatedAt"` // 修改时间 UpdatedAt uint64 `field:"updatedAt"` // 修改时间
State uint8 `field:"state"` // 状态 State uint8 `field:"state"` // 状态
} }

View File

@@ -0,0 +1 @@
package models

View File

@@ -11,7 +11,7 @@ type ReverseProxy struct {
PrimaryOrigins string `field:"primaryOrigins"` // 主要源站 PrimaryOrigins string `field:"primaryOrigins"` // 主要源站
BackupOrigins string `field:"backupOrigins"` // 备用源站 BackupOrigins string `field:"backupOrigins"` // 备用源站
State uint8 `field:"state"` // 状态 State uint8 `field:"state"` // 状态
CreatedAt uint32 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
} }
type ReverseProxyOperator struct { type ReverseProxyOperator struct {

View File

@@ -7,7 +7,7 @@ type ServerGroup struct {
UserId uint32 `field:"userId"` // 用户ID UserId uint32 `field:"userId"` // 用户ID
Name string `field:"name"` // 名称 Name string `field:"name"` // 名称
Order uint32 `field:"order"` // 排序 Order uint32 `field:"order"` // 排序
CreatedAt uint32 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
State uint8 `field:"state"` // 状态 State uint8 `field:"state"` // 状态
} }

View File

@@ -0,0 +1 @@
package models

View File

@@ -25,7 +25,7 @@ type Server struct {
IncludeNodes string `field:"includeNodes"` // 部署条件 IncludeNodes string `field:"includeNodes"` // 部署条件
ExcludeNodes string `field:"excludeNodes"` // 节点排除条件 ExcludeNodes string `field:"excludeNodes"` // 节点排除条件
Version uint32 `field:"version"` // 版本号 Version uint32 `field:"version"` // 版本号
CreatedAt uint32 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
IsUpdating uint8 `field:"isUpdating"` // 是否正在更新 IsUpdating uint8 `field:"isUpdating"` // 是否正在更新
State uint8 `field:"state"` // 状态 State uint8 `field:"state"` // 状态
} }

View File

@@ -0,0 +1,22 @@
package models
import (
_ "github.com/go-sql-driver/mysql"
"github.com/iwind/TeaGo/Tea"
"github.com/iwind/TeaGo/dbs"
)
type TCPFirewallPolicyDAO dbs.DAO
func NewTCPFirewallPolicyDAO() *TCPFirewallPolicyDAO {
return dbs.NewDAO(&TCPFirewallPolicyDAO{
DAOObject: dbs.DAOObject{
DB: Tea.Env,
Table: "edgeTCPFirewallPolicies",
Model: new(TCPFirewallPolicy),
PkName: "id",
},
}).(*TCPFirewallPolicyDAO)
}
var SharedTCPFirewallPolicyDAO = NewTCPFirewallPolicyDAO()

View File

@@ -0,0 +1,5 @@
package models
import (
_ "github.com/go-sql-driver/mysql"
)

View File

@@ -0,0 +1,20 @@
package models
// TCP防火墙
type TCPFirewallPolicy struct {
Id uint32 `field:"id"` // ID
AdminId int32 `field:"adminId"` // 管理员ID
UserId uint32 `field:"userId"` // 用户ID
TemplateId uint32 `field:"templateId"` // 模版ID
}
type TCPFirewallPolicyOperator struct {
Id interface{} // ID
AdminId interface{} // 管理员ID
UserId interface{} // 用户ID
TemplateId interface{} // 模版ID
}
func NewTCPFirewallPolicyOperator() *TCPFirewallPolicyOperator {
return &TCPFirewallPolicyOperator{}
}

View File

@@ -0,0 +1 @@
package models

View File

@@ -1,13 +1,13 @@
package models package models
// // 用户
type User struct { type User struct {
Id uint32 `field:"id"` // ID Id uint32 `field:"id"` // ID
Username string `field:"username"` // 用户名 Username string `field:"username"` // 用户名
Password string `field:"password"` // 密码 Password string `field:"password"` // 密码
Fullname string `field:"fullname"` // 真实姓名 Fullname string `field:"fullname"` // 真实姓名
CreatedAt uint32 `field:"createdAt"` // 创建时间 CreatedAt uint64 `field:"createdAt"` // 创建时间
UpdatedAt uint32 `field:"updatedAt"` // 修改时间 UpdatedAt uint64 `field:"updatedAt"` // 修改时间
State uint8 `field:"state"` // 状态 State uint8 `field:"state"` // 状态
} }

View File

@@ -0,0 +1 @@
package models