mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-12-03 07:00:26 +08:00
DNS服务商账号增加“最小TTL”选项
This commit is contained in:
@@ -266,7 +266,6 @@ func (this *ACMETaskDAO) FindACMETaskUserId(tx *dbs.Tx, taskId int64) (userId in
|
||||
FindInt64Col(0)
|
||||
}
|
||||
|
||||
|
||||
// UpdateACMETaskCert 设置任务关联的证书
|
||||
func (this *ACMETaskDAO) UpdateACMETaskCert(tx *dbs.Tx, taskId int64, certId int64) error {
|
||||
if taskId <= 0 {
|
||||
@@ -387,6 +386,7 @@ func (this *ACMETaskDAO) runTaskWithoutLog(tx *dbs.Tx, taskId int64) (isOk bool,
|
||||
errMsg = "暂不支持此类型的DNS服务商 '" + dnsProvider.Type + "'"
|
||||
return
|
||||
}
|
||||
providerInterface.SetMinTTL(int32(dnsProvider.MinTTL))
|
||||
apiParams, err := dnsProvider.DecodeAPIParams()
|
||||
if err != nil {
|
||||
errMsg = "解析DNS服务商API参数时出错:" + err.Error()
|
||||
|
||||
@@ -67,7 +67,7 @@ func (this *DNSProviderDAO) FindEnabledDNSProvider(tx *dbs.Tx, id int64) (*DNSPr
|
||||
}
|
||||
|
||||
// CreateDNSProvider 创建服务商
|
||||
func (this *DNSProviderDAO) CreateDNSProvider(tx *dbs.Tx, adminId int64, userId int64, providerType string, name string, apiParamsJSON []byte) (int64, error) {
|
||||
func (this *DNSProviderDAO) CreateDNSProvider(tx *dbs.Tx, adminId int64, userId int64, providerType string, name string, apiParamsJSON []byte, minTTL int32) (int64, error) {
|
||||
var op = NewDNSProviderOperator()
|
||||
op.AdminId = adminId
|
||||
op.UserId = userId
|
||||
@@ -76,6 +76,11 @@ func (this *DNSProviderDAO) CreateDNSProvider(tx *dbs.Tx, adminId int64, userId
|
||||
if len(apiParamsJSON) > 0 {
|
||||
op.ApiParams = apiParamsJSON
|
||||
}
|
||||
|
||||
if minTTL >= 0 {
|
||||
op.MinTTL = minTTL
|
||||
}
|
||||
|
||||
op.State = DNSProviderStateEnabled
|
||||
err := this.Save(tx, op)
|
||||
if err != nil {
|
||||
@@ -85,7 +90,7 @@ func (this *DNSProviderDAO) CreateDNSProvider(tx *dbs.Tx, adminId int64, userId
|
||||
}
|
||||
|
||||
// UpdateDNSProvider 修改服务商
|
||||
func (this *DNSProviderDAO) UpdateDNSProvider(tx *dbs.Tx, dnsProviderId int64, name string, apiParamsJSON []byte) error {
|
||||
func (this *DNSProviderDAO) UpdateDNSProvider(tx *dbs.Tx, dnsProviderId int64, name string, apiParamsJSON []byte, minTTL int32) error {
|
||||
if dnsProviderId <= 0 {
|
||||
return errors.New("invalid dnsProviderId")
|
||||
}
|
||||
@@ -99,6 +104,10 @@ func (this *DNSProviderDAO) UpdateDNSProvider(tx *dbs.Tx, dnsProviderId int64, n
|
||||
op.ApiParams = apiParamsJSON
|
||||
}
|
||||
|
||||
if minTTL >= 0 {
|
||||
op.MinTTL = minTTL
|
||||
}
|
||||
|
||||
err := this.Save(tx, op)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
@@ -2,6 +2,19 @@ package dns
|
||||
|
||||
import "github.com/iwind/TeaGo/dbs"
|
||||
|
||||
const (
|
||||
DNSProviderField_Id dbs.FieldName = "id" // ID
|
||||
DNSProviderField_Name dbs.FieldName = "name" // 名称
|
||||
DNSProviderField_AdminId dbs.FieldName = "adminId" // 管理员ID
|
||||
DNSProviderField_UserId dbs.FieldName = "userId" // 用户ID
|
||||
DNSProviderField_Type dbs.FieldName = "type" // 供应商类型
|
||||
DNSProviderField_ApiParams dbs.FieldName = "apiParams" // API参数
|
||||
DNSProviderField_CreatedAt dbs.FieldName = "createdAt" // 创建时间
|
||||
DNSProviderField_State dbs.FieldName = "state" // 状态
|
||||
DNSProviderField_DataUpdatedAt dbs.FieldName = "dataUpdatedAt" // 数据同步时间
|
||||
DNSProviderField_MinTTL dbs.FieldName = "minTTL" // 最小TTL
|
||||
)
|
||||
|
||||
// DNSProvider DNS服务商
|
||||
type DNSProvider struct {
|
||||
Id uint32 `field:"id"` // ID
|
||||
@@ -13,18 +26,20 @@ type DNSProvider struct {
|
||||
CreatedAt uint64 `field:"createdAt"` // 创建时间
|
||||
State uint8 `field:"state"` // 状态
|
||||
DataUpdatedAt uint64 `field:"dataUpdatedAt"` // 数据同步时间
|
||||
MinTTL uint32 `field:"minTTL"` // 最小TTL
|
||||
}
|
||||
|
||||
type DNSProviderOperator struct {
|
||||
Id interface{} // ID
|
||||
Name interface{} // 名称
|
||||
AdminId interface{} // 管理员ID
|
||||
UserId interface{} // 用户ID
|
||||
Type interface{} // 供应商类型
|
||||
ApiParams interface{} // API参数
|
||||
CreatedAt interface{} // 创建时间
|
||||
State interface{} // 状态
|
||||
DataUpdatedAt interface{} // 数据同步时间
|
||||
Id any // ID
|
||||
Name any // 名称
|
||||
AdminId any // 管理员ID
|
||||
UserId any // 用户ID
|
||||
Type any // 供应商类型
|
||||
ApiParams any // API参数
|
||||
CreatedAt any // 创建时间
|
||||
State any // 状态
|
||||
DataUpdatedAt any // 数据同步时间
|
||||
MinTTL any // 最小TTL
|
||||
}
|
||||
|
||||
func NewDNSProviderOperator() *DNSProviderOperator {
|
||||
|
||||
Reference in New Issue
Block a user