mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-07 10:40:25 +08:00
增加一些表设计
This commit is contained in:
2
go.mod
2
go.mod
@@ -9,7 +9,7 @@ require (
|
||||
github.com/go-sql-driver/mysql v1.5.0
|
||||
github.com/go-yaml/yaml v2.1.0+incompatible
|
||||
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/reflect2 v1.0.1 // indirect
|
||||
github.com/pkg/sftp v1.12.0
|
||||
|
||||
2
go.sum
2
go.sum
@@ -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-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-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/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||
github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8=
|
||||
|
||||
@@ -7,8 +7,8 @@ type Admin struct {
|
||||
Password string `field:"password"` // 密码
|
||||
Fullname string `field:"fullname"` // 全名
|
||||
IsSuper uint8 `field:"isSuper"` // 是否为超级管理员
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
UpdatedAt uint32 `field:"updatedAt"` // 修改时间
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
UpdatedAt uint64 `field:"updatedAt"` // 修改时间
|
||||
State uint8 `field:"state"` // 状态
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ func NewAPINodeDAO() *APINodeDAO {
|
||||
return dbs.NewDAO(&APINodeDAO{
|
||||
DAOObject: dbs.DAOObject{
|
||||
DB: Tea.Env,
|
||||
Table: "edgeApiNodes",
|
||||
Table: "edgeAPINodes",
|
||||
Model: new(APINode),
|
||||
PkName: "id",
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package models
|
||||
|
||||
//
|
||||
// API节点
|
||||
type APINode struct {
|
||||
Id uint32 `field:"id"` // ID
|
||||
IsOn uint8 `field:"isOn"` // 是否启用
|
||||
@@ -9,10 +9,13 @@ type APINode struct {
|
||||
Secret string `field:"secret"` // 密钥
|
||||
Name string `field:"name"` // 名称
|
||||
Description string `field:"description"` // 描述
|
||||
Host string `field:"host"` // 地址
|
||||
Host string `field:"host"` // 主机
|
||||
Port uint32 `field:"port"` // 端口
|
||||
Order uint32 `field:"order"` // 排序
|
||||
State uint8 `field:"state"` // 状态
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
AdminId uint32 `field:"adminId"` // 管理员ID
|
||||
Weight uint32 `field:"weight"` // 权重
|
||||
}
|
||||
|
||||
type APINodeOperator struct {
|
||||
@@ -23,10 +26,13 @@ type APINodeOperator struct {
|
||||
Secret interface{} // 密钥
|
||||
Name interface{} // 名称
|
||||
Description interface{} // 描述
|
||||
Host interface{} // 地址
|
||||
Host interface{} // 主机
|
||||
Port interface{} // 端口
|
||||
Order interface{} // 排序
|
||||
State interface{} // 状态
|
||||
CreatedAt interface{} // 创建时间
|
||||
AdminId interface{} // 管理员ID
|
||||
Weight interface{} // 权重
|
||||
}
|
||||
|
||||
func NewAPINodeOperator() *APINodeOperator {
|
||||
|
||||
@@ -17,7 +17,7 @@ func NewApiTokenDAO() *ApiTokenDAO {
|
||||
return dbs.NewDAO(&ApiTokenDAO{
|
||||
DAOObject: dbs.DAOObject{
|
||||
DB: Tea.Env,
|
||||
Table: "edgeApiTokens",
|
||||
Table: "edgeAPITokens",
|
||||
Model: new(ApiToken),
|
||||
PkName: "id",
|
||||
},
|
||||
|
||||
65
internal/db/models/db_node_dao.go
Normal file
65
internal/db/models/db_node_dao.go
Normal 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("")
|
||||
}
|
||||
5
internal/db/models/db_node_dao_test.go
Normal file
5
internal/db/models/db_node_dao_test.go
Normal file
@@ -0,0 +1,5 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
)
|
||||
44
internal/db/models/db_node_model.go
Normal file
44
internal/db/models/db_node_model.go
Normal 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{}
|
||||
}
|
||||
1
internal/db/models/db_node_model_ext.go
Normal file
1
internal/db/models/db_node_model_ext.go
Normal file
@@ -0,0 +1 @@
|
||||
package models
|
||||
@@ -1,12 +1,14 @@
|
||||
package models
|
||||
|
||||
//
|
||||
// 文件管理
|
||||
type File struct {
|
||||
Id uint32 `field:"id"` // ID
|
||||
AdminId uint32 `field:"adminId"` // 管理员ID
|
||||
UserId uint32 `field:"userId"` // 用户ID
|
||||
Description string `field:"description"` // 文件描述
|
||||
Filename string `field:"filename"` // 文件名
|
||||
Size uint32 `field:"size"` // 文件尺寸
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
Order uint32 `field:"order"` // 排序
|
||||
Type string `field:"type"` // 类型
|
||||
State uint8 `field:"state"` // 状态
|
||||
@@ -14,6 +16,8 @@ type File struct {
|
||||
|
||||
type FileOperator struct {
|
||||
Id interface{} // ID
|
||||
AdminId interface{} // 管理员ID
|
||||
UserId interface{} // 用户ID
|
||||
Description interface{} // 文件描述
|
||||
Filename interface{} // 文件名
|
||||
Size interface{} // 文件尺寸
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package models
|
||||
|
||||
//
|
||||
// HTTP缓存策略
|
||||
type HTTPCachePolicy struct {
|
||||
Id uint32 `field:"id"` // ID
|
||||
AdminId uint32 `field:"adminId"` // 管理员ID
|
||||
@@ -16,8 +16,8 @@ type HTTPCachePolicy struct {
|
||||
SkipCacheControlValues string `field:"skipCacheControlValues"` // 忽略的cache-control
|
||||
SkipSetCookie uint8 `field:"skipSetCookie"` // 是否忽略Set-Cookie Header
|
||||
EnableRequestCachePragma uint8 `field:"enableRequestCachePragma"` // 是否支持客户端的Pragma: no-cache
|
||||
Cond string `field:"cond"` // 请求条件
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
Conds string `field:"conds"` // 请求条件
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
State uint8 `field:"state"` // 状态
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ type HTTPCachePolicyOperator struct {
|
||||
SkipCacheControlValues interface{} // 忽略的cache-control
|
||||
SkipSetCookie interface{} // 是否忽略Set-Cookie Header
|
||||
EnableRequestCachePragma interface{} // 是否支持客户端的Pragma: no-cache
|
||||
Cond interface{} // 请求条件
|
||||
Conds interface{} // 请求条件
|
||||
CreatedAt interface{} // 创建时间
|
||||
State interface{} // 状态
|
||||
}
|
||||
|
||||
@@ -10,6 +10,9 @@ type HTTPFirewallPolicy struct {
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
IsOn uint8 `field:"isOn"` // 是否启用
|
||||
Name string `field:"name"` // 名称
|
||||
Inbound string `field:"inbound"` // 入站规则
|
||||
Outbound string `field:"outbound"` // 出站规则
|
||||
Conds string `field:"conds"` // 条件
|
||||
}
|
||||
|
||||
type HTTPFirewallPolicyOperator struct {
|
||||
@@ -21,6 +24,9 @@ type HTTPFirewallPolicyOperator struct {
|
||||
CreatedAt interface{} // 创建时间
|
||||
IsOn interface{} // 是否启用
|
||||
Name interface{} // 名称
|
||||
Inbound interface{} // 入站规则
|
||||
Outbound interface{} // 出站规则
|
||||
Conds interface{} // 条件
|
||||
}
|
||||
|
||||
func NewHTTPFirewallPolicyOperator() *HTTPFirewallPolicyOperator {
|
||||
|
||||
57
internal/db/models/http_firewall_rule_dao.go
Normal file
57
internal/db/models/http_firewall_rule_dao.go
Normal 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
|
||||
}
|
||||
5
internal/db/models/http_firewall_rule_dao_test.go
Normal file
5
internal/db/models/http_firewall_rule_dao_test.go
Normal file
@@ -0,0 +1,5 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
)
|
||||
65
internal/db/models/http_firewall_rule_group_dao.go
Normal file
65
internal/db/models/http_firewall_rule_group_dao.go
Normal 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("")
|
||||
}
|
||||
5
internal/db/models/http_firewall_rule_group_dao_test.go
Normal file
5
internal/db/models/http_firewall_rule_group_dao_test.go
Normal file
@@ -0,0 +1,5 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
)
|
||||
32
internal/db/models/http_firewall_rule_group_model.go
Normal file
32
internal/db/models/http_firewall_rule_group_model.go
Normal 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{}
|
||||
}
|
||||
1
internal/db/models/http_firewall_rule_group_model_ext.go
Normal file
1
internal/db/models/http_firewall_rule_group_model_ext.go
Normal file
@@ -0,0 +1 @@
|
||||
package models
|
||||
34
internal/db/models/http_firewall_rule_model.go
Normal file
34
internal/db/models/http_firewall_rule_model.go
Normal 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{}
|
||||
}
|
||||
1
internal/db/models/http_firewall_rule_model_ext.go
Normal file
1
internal/db/models/http_firewall_rule_model_ext.go
Normal file
@@ -0,0 +1 @@
|
||||
package models
|
||||
65
internal/db/models/http_firewall_rule_set_dao.go
Normal file
65
internal/db/models/http_firewall_rule_set_dao.go
Normal 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("")
|
||||
}
|
||||
5
internal/db/models/http_firewall_rule_set_dao_test.go
Normal file
5
internal/db/models/http_firewall_rule_set_dao_test.go
Normal file
@@ -0,0 +1,5 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
)
|
||||
34
internal/db/models/http_firewall_rule_set_model.go
Normal file
34
internal/db/models/http_firewall_rule_set_model.go
Normal 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{}
|
||||
}
|
||||
1
internal/db/models/http_firewall_rule_set_model_ext.go
Normal file
1
internal/db/models/http_firewall_rule_set_model_ext.go
Normal file
@@ -0,0 +1 @@
|
||||
package models
|
||||
@@ -10,7 +10,8 @@ type HTTPGzip struct {
|
||||
MinLength string `field:"minLength"` // 可压缩最小值
|
||||
MaxLength string `field:"maxLength"` // 可压缩最大值
|
||||
State uint8 `field:"state"` // 状态
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
Conds string `field:"conds"` // 条件
|
||||
}
|
||||
|
||||
type HTTPGzipOperator struct {
|
||||
@@ -23,6 +24,7 @@ type HTTPGzipOperator struct {
|
||||
MaxLength interface{} // 可压缩最大值
|
||||
State interface{} // 状态
|
||||
CreatedAt interface{} // 创建时间
|
||||
Conds interface{} // 条件
|
||||
}
|
||||
|
||||
func NewHTTPGzipOperator() *HTTPGzipOperator {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package models
|
||||
|
||||
//
|
||||
// HTTP Header
|
||||
type HTTPHeader struct {
|
||||
Id uint32 `field:"id"` // ID
|
||||
AdminId uint32 `field:"adminId"` // 管理员ID
|
||||
@@ -12,7 +12,7 @@ type HTTPHeader struct {
|
||||
Order uint32 `field:"order"` // 排序
|
||||
Status string `field:"status"` // 状态码设置
|
||||
State uint8 `field:"state"` // 状态
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
}
|
||||
|
||||
type HTTPHeaderOperator struct {
|
||||
|
||||
@@ -7,7 +7,7 @@ type HTTPHeaderPolicy struct {
|
||||
State uint8 `field:"state"` // 状态
|
||||
AdminId uint32 `field:"adminId"` // 管理员ID
|
||||
UserId uint32 `field:"userId"` // 用户ID
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
AddHeaders string `field:"addHeaders"` // 添加的Header
|
||||
AddTrailers string `field:"addTrailers"` // 添加的Trailers
|
||||
SetHeaders string `field:"setHeaders"` // 设置Header
|
||||
|
||||
@@ -10,7 +10,7 @@ type HTTPPage struct {
|
||||
Url string `field:"url"` // 页面URL
|
||||
NewStatus int32 `field:"newStatus"` // 新状态码
|
||||
State uint8 `field:"state"` // 状态
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
}
|
||||
|
||||
type HTTPPageOperator struct {
|
||||
|
||||
@@ -8,7 +8,7 @@ type HTTPWeb struct {
|
||||
AdminId uint32 `field:"adminId"` // 管理员ID
|
||||
UserId uint32 `field:"userId"` // 用户ID
|
||||
State uint8 `field:"state"` // 状态
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
Root string `field:"root"` // 资源根目录
|
||||
Charset string `field:"charset"` // 字符集
|
||||
Shutdown string `field:"shutdown"` // 临时关闭页面配置
|
||||
|
||||
@@ -5,7 +5,7 @@ type Log struct {
|
||||
Id uint32 `field:"id"` // ID
|
||||
Level string `field:"level"` // 级别
|
||||
Description string `field:"description"` // 描述
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
Action string `field:"action"` // 动作
|
||||
UserId uint32 `field:"userId"` // 用户ID
|
||||
AdminId uint32 `field:"adminId"` // 管理员ID
|
||||
|
||||
1
internal/db/models/log_model_ext.go
Normal file
1
internal/db/models/log_model_ext.go
Normal file
@@ -0,0 +1 @@
|
||||
package models
|
||||
@@ -10,7 +10,7 @@ type NodeCluster struct {
|
||||
ApiNodes string `field:"apiNodes"` // 使用的API节点
|
||||
InstallDir string `field:"installDir"` // 安装目录
|
||||
Order uint32 `field:"order"` // 排序
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
GrantId uint32 `field:"grantId"` // 默认认证方式
|
||||
State uint8 `field:"state"` // 状态
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package models
|
||||
|
||||
//
|
||||
// 节点授权
|
||||
type NodeGrant struct {
|
||||
Id uint32 `field:"id"` // ID
|
||||
Name string `field:"name"` // 名称
|
||||
@@ -12,6 +12,7 @@ type NodeGrant struct {
|
||||
Description string `field:"description"` // 备注
|
||||
NodeId uint32 `field:"nodeId"` // 专有节点
|
||||
State uint8 `field:"state"` // 状态
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
}
|
||||
|
||||
type NodeGrantOperator struct {
|
||||
@@ -25,6 +26,7 @@ type NodeGrantOperator struct {
|
||||
Description interface{} // 备注
|
||||
NodeId interface{} // 专有节点
|
||||
State interface{} // 状态
|
||||
CreatedAt interface{} // 创建时间
|
||||
}
|
||||
|
||||
func NewNodeGrantOperator() *NodeGrantOperator {
|
||||
|
||||
@@ -5,7 +5,7 @@ type NodeGroup struct {
|
||||
Id uint32 `field:"id"` // ID
|
||||
Name string `field:"name"` // 名称
|
||||
Order uint32 `field:"order"` // 排序
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
State uint8 `field:"state"` // 状态
|
||||
}
|
||||
|
||||
|
||||
1
internal/db/models/node_group_model_ext.go
Normal file
1
internal/db/models/node_group_model_ext.go
Normal file
@@ -0,0 +1 @@
|
||||
package models
|
||||
@@ -13,7 +13,7 @@ type Node struct {
|
||||
ClusterId uint32 `field:"clusterId"` // 集群ID
|
||||
RegionId uint32 `field:"regionId"` // 区域ID
|
||||
GroupId uint32 `field:"groupId"` // 分组ID
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
Status string `field:"status"` // 最新的状态
|
||||
Version uint32 `field:"version"` // 当前版本号
|
||||
LatestVersion uint32 `field:"latestVersion"` // 最后版本号
|
||||
|
||||
@@ -25,7 +25,7 @@ type Origin struct {
|
||||
HealthCheck string `field:"healthCheck"` // 健康检查设置
|
||||
Cert string `field:"cert"` // 证书设置
|
||||
Ftp string `field:"ftp"` // FTP相关设置
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
State uint8 `field:"state"` // 状态
|
||||
}
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ type Provider struct {
|
||||
Username string `field:"username"` // 用户名
|
||||
Password string `field:"password"` // 密码
|
||||
Fullname string `field:"fullname"` // 真实姓名
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
UpdatedAt uint32 `field:"updatedAt"` // 修改时间
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
UpdatedAt uint64 `field:"updatedAt"` // 修改时间
|
||||
State uint8 `field:"state"` // 状态
|
||||
}
|
||||
|
||||
|
||||
1
internal/db/models/provider_model_ext.go
Normal file
1
internal/db/models/provider_model_ext.go
Normal file
@@ -0,0 +1 @@
|
||||
package models
|
||||
@@ -11,7 +11,7 @@ type ReverseProxy struct {
|
||||
PrimaryOrigins string `field:"primaryOrigins"` // 主要源站
|
||||
BackupOrigins string `field:"backupOrigins"` // 备用源站
|
||||
State uint8 `field:"state"` // 状态
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
}
|
||||
|
||||
type ReverseProxyOperator struct {
|
||||
|
||||
@@ -7,7 +7,7 @@ type ServerGroup struct {
|
||||
UserId uint32 `field:"userId"` // 用户ID
|
||||
Name string `field:"name"` // 名称
|
||||
Order uint32 `field:"order"` // 排序
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
State uint8 `field:"state"` // 状态
|
||||
}
|
||||
|
||||
|
||||
1
internal/db/models/server_group_model_ext.go
Normal file
1
internal/db/models/server_group_model_ext.go
Normal file
@@ -0,0 +1 @@
|
||||
package models
|
||||
@@ -25,7 +25,7 @@ type Server struct {
|
||||
IncludeNodes string `field:"includeNodes"` // 部署条件
|
||||
ExcludeNodes string `field:"excludeNodes"` // 节点排除条件
|
||||
Version uint32 `field:"version"` // 版本号
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
IsUpdating uint8 `field:"isUpdating"` // 是否正在更新
|
||||
State uint8 `field:"state"` // 状态
|
||||
}
|
||||
|
||||
22
internal/db/models/tcp_firewall_policy_dao.go
Normal file
22
internal/db/models/tcp_firewall_policy_dao.go
Normal 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()
|
||||
5
internal/db/models/tcp_firewall_policy_dao_test.go
Normal file
5
internal/db/models/tcp_firewall_policy_dao_test.go
Normal file
@@ -0,0 +1,5 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
)
|
||||
20
internal/db/models/tcp_firewall_policy_model.go
Normal file
20
internal/db/models/tcp_firewall_policy_model.go
Normal 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{}
|
||||
}
|
||||
1
internal/db/models/tcp_firewall_policy_model_ext.go
Normal file
1
internal/db/models/tcp_firewall_policy_model_ext.go
Normal file
@@ -0,0 +1 @@
|
||||
package models
|
||||
@@ -1,13 +1,13 @@
|
||||
package models
|
||||
|
||||
//
|
||||
// 用户
|
||||
type User struct {
|
||||
Id uint32 `field:"id"` // ID
|
||||
Username string `field:"username"` // 用户名
|
||||
Password string `field:"password"` // 密码
|
||||
Fullname string `field:"fullname"` // 真实姓名
|
||||
CreatedAt uint32 `field:"createdAt"` // 创建时间
|
||||
UpdatedAt uint32 `field:"updatedAt"` // 修改时间
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
UpdatedAt uint64 `field:"updatedAt"` // 修改时间
|
||||
State uint8 `field:"state"` // 状态
|
||||
}
|
||||
|
||||
|
||||
1
internal/db/models/user_model_ext.go
Normal file
1
internal/db/models/user_model_ext.go
Normal file
@@ -0,0 +1 @@
|
||||
package models
|
||||
Reference in New Issue
Block a user