准备0.0.2.1开发

This commit is contained in:
刘祥超
2020-11-23 09:38:09 +08:00
parent 6b8c42fce5
commit 8560d767d4
12 changed files with 615 additions and 38 deletions

View File

@@ -0,0 +1,63 @@
package models
import (
_ "github.com/go-sql-driver/mysql"
"github.com/iwind/TeaGo/Tea"
"github.com/iwind/TeaGo/dbs"
)
const (
ACMEUserStateEnabled = 1 // 已启用
ACMEUserStateDisabled = 0 // 已禁用
)
type ACMEUserDAO dbs.DAO
func NewACMEUserDAO() *ACMEUserDAO {
return dbs.NewDAO(&ACMEUserDAO{
DAOObject: dbs.DAOObject{
DB: Tea.Env,
Table: "edgeACMEUsers",
Model: new(ACMEUser),
PkName: "id",
},
}).(*ACMEUserDAO)
}
var SharedACMEUserDAO *ACMEUserDAO
func init() {
dbs.OnReady(func() {
SharedACMEUserDAO = NewACMEUserDAO()
})
}
// 启用条目
func (this *ACMEUserDAO) EnableACMEUser(id int64) error {
_, err := this.Query().
Pk(id).
Set("state", ACMEUserStateEnabled).
Update()
return err
}
// 禁用条目
func (this *ACMEUserDAO) DisableACMEUser(id int64) error {
_, err := this.Query().
Pk(id).
Set("state", ACMEUserStateDisabled).
Update()
return err
}
// 查找启用中的条目
func (this *ACMEUserDAO) FindEnabledACMEUser(id int64) (*ACMEUser, error) {
result, err := this.Query().
Pk(id).
Attr("state", ACMEUserStateEnabled).
Find()
if result == nil {
return nil, err
}
return result.(*ACMEUser), err
}

View File

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

View File

@@ -0,0 +1,28 @@
package models
//
type ACMEUser struct {
Id uint64 `field:"id"` // ID
AdminId uint32 `field:"adminId"` // 管理员ID
UserId uint32 `field:"userId"` // 用户ID
PrivateKey string `field:"privateKey"` // 私钥
Email string `field:"email"` // E-mail
CreatedAt uint64 `field:"createdAt"` // 创建时间
State uint8 `field:"state"` // 状态
Description string `field:"description"` // 备注介绍
}
type ACMEUserOperator struct {
Id interface{} // ID
AdminId interface{} // 管理员ID
UserId interface{} // 用户ID
PrivateKey interface{} // 私钥
Email interface{} // E-mail
CreatedAt interface{} // 创建时间
State interface{} // 状态
Description interface{} // 备注介绍
}
func NewACMEUserOperator() *ACMEUserOperator {
return &ACMEUserOperator{}
}

View File

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

View File

@@ -4,6 +4,7 @@ package models
type DNSDomain struct {
Id uint32 `field:"id"` // ID
AdminId uint32 `field:"adminId"` // 管理员ID
UserId uint32 `field:"userId"` // 用户ID
ProviderId uint32 `field:"providerId"` // 服务商ID
IsOn uint8 `field:"isOn"` // 是否可用
Name string `field:"name"` // 域名
@@ -19,6 +20,7 @@ type DNSDomain struct {
type DNSDomainOperator struct {
Id interface{} // ID
AdminId interface{} // 管理员ID
UserId interface{} // 用户ID
ProviderId interface{} // 服务商ID
IsOn interface{} // 是否可用
Name interface{} // 域名

View File

@@ -5,6 +5,7 @@ type DNSProvider struct {
Id uint32 `field:"id"` // ID
Name string `field:"name"` // 名称
AdminId uint32 `field:"adminId"` // 管理员ID
UserId uint32 `field:"userId"` // 用户ID
Type string `field:"type"` // 供应商类型
ApiParams string `field:"apiParams"` // API参数
CreatedAt uint64 `field:"createdAt"` // 创建时间
@@ -16,6 +17,7 @@ type DNSProviderOperator struct {
Id interface{} // ID
Name interface{} // 名称
AdminId interface{} // 管理员ID
UserId interface{} // 用户ID
Type interface{} // 供应商类型
ApiParams interface{} // API参数
CreatedAt interface{} // 创建时间

View File

@@ -2,45 +2,51 @@ package models
// SSL证书
type SSLCert struct {
Id uint32 `field:"id"` // ID
AdminId uint32 `field:"adminId"` // 管理员ID
UserId uint32 `field:"userId"` // 用户ID
State uint8 `field:"state"` // 状态
CreatedAt uint64 `field:"createdAt"` // 创建时间
UpdatedAt uint64 `field:"updatedAt"` // 修改时间
IsOn uint8 `field:"isOn"` // 是否启用
Name string `field:"name"` // 证书名
Description string `field:"description"` // 描述
CertData string `field:"certData"` // 证书内容
KeyData string `field:"keyData"` // 密钥内容
ServerName string `field:"serverName"` // 证书使用的主机名
IsCA uint8 `field:"isCA"` // 是否为CA证书
GroupIds string `field:"groupIds"` // 证书分组
TimeBeginAt uint64 `field:"timeBeginAt"` // 开始时间
TimeEndAt uint64 `field:"timeEndAt"` // 结束时间
DnsNames string `field:"dnsNames"` // DNS名称列表
CommonNames string `field:"commonNames"` // 发行单位列表
Id uint32 `field:"id"` // ID
AdminId uint32 `field:"adminId"` // 管理员ID
UserId uint32 `field:"userId"` // 用户ID
State uint8 `field:"state"` // 状态
CreatedAt uint64 `field:"createdAt"` // 创建时间
UpdatedAt uint64 `field:"updatedAt"` // 修改时间
IsOn uint8 `field:"isOn"` // 是否启用
Name string `field:"name"` // 证书名
Description string `field:"description"` // 描述
CertData string `field:"certData"` // 证书内容
KeyData string `field:"keyData"` // 密钥内容
ServerName string `field:"serverName"` // 证书使用的主机名
IsCA uint8 `field:"isCA"` // 是否为CA证书
GroupIds string `field:"groupIds"` // 证书分组
TimeBeginAt uint64 `field:"timeBeginAt"` // 开始时间
TimeEndAt uint64 `field:"timeEndAt"` // 结束时间
DnsNames string `field:"dnsNames"` // DNS名称列表
CommonNames string `field:"commonNames"` // 发行单位列表
IsACME uint8 `field:"isACME"` // 是否为ACME自动生成的
AcmeUserId uint64 `field:"acmeUserId"` // ACME用户ID
AcmeAutoRenew uint8 `field:"acmeAutoRenew"` // ACME生成后是否自动更新
}
type SSLCertOperator struct {
Id interface{} // ID
AdminId interface{} // 管理员ID
UserId interface{} // 用户ID
State interface{} // 状态
CreatedAt interface{} // 创建时间
UpdatedAt interface{} // 修改时间
IsOn interface{} // 是否启用
Name interface{} // 证书名
Description interface{} // 描述
CertData interface{} // 证书内容
KeyData interface{} // 密钥内容
ServerName interface{} // 证书使用的主机名
IsCA interface{} // 是否为CA证书
GroupIds interface{} // 证书分组
TimeBeginAt interface{} // 开始时间
TimeEndAt interface{} // 结束时间
DnsNames interface{} // DNS名称列表
CommonNames interface{} // 发行单位列表
Id interface{} // ID
AdminId interface{} // 管理员ID
UserId interface{} // 用户ID
State interface{} // 状态
CreatedAt interface{} // 创建时间
UpdatedAt interface{} // 修改时间
IsOn interface{} // 是否启用
Name interface{} // 证书名
Description interface{} // 描述
CertData interface{} // 证书内容
KeyData interface{} // 密钥内容
ServerName interface{} // 证书使用的主机名
IsCA interface{} // 是否为CA证书
GroupIds interface{} // 证书分组
TimeBeginAt interface{} // 开始时间
TimeEndAt interface{} // 结束时间
DnsNames interface{} // DNS名称列表
CommonNames interface{} // 发行单位列表
IsACME interface{} // 是否为ACME自动生成的
AcmeUserId interface{} // ACME用户ID
AcmeAutoRenew interface{} // ACME生成后是否自动更新
}
func NewSSLCertOperator() *SSLCertOperator {