自建DNS增加全局配置

This commit is contained in:
GoEdgeLab
2021-08-05 16:08:01 +08:00
parent 30769f4cd6
commit ec19842bf5
4 changed files with 79 additions and 5 deletions

View File

@@ -4,7 +4,9 @@ import (
"encoding/json"
teaconst "github.com/TeaOSLab/EdgeAPI/internal/const"
"github.com/TeaOSLab/EdgeAPI/internal/errors"
"github.com/TeaOSLab/EdgeCommon/pkg/dnsconfigs"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
"github.com/TeaOSLab/EdgeCommon/pkg/systemconfigs"
_ "github.com/go-sql-driver/mysql"
"github.com/go-yaml/yaml"
"github.com/iwind/TeaGo/Tea"
@@ -104,6 +106,12 @@ func (this *SQLExecutor) checkData(db *dbs.DB) error {
return err
}
// 检查自建DNS全局设置
err = this.checkNS(db)
if err != nil {
return err
}
// 更新版本号
err = this.updateVersion(db, teaconst.Version)
if err != nil {
@@ -396,6 +404,33 @@ func (this *SQLExecutor) checkMetricItems(db *dbs.DB) error {
return nil
}
// 检查自建DNS全局设置
func (this *SQLExecutor) checkNS(db *dbs.DB) error {
// 访问日志
{
one, err := db.FindOne("SELECT id FROM edgeSysSettings WHERE code=? LIMIT 1", systemconfigs.SettingCodeNSAccessLogSetting)
if err != nil {
return err
}
if len(one) == 0 {
ref := &dnsconfigs.NSAccessLogRef{
IsPrior: false,
IsOn: true,
LogMissingDomains: false,
}
refJSON, err := json.Marshal(ref)
if err != nil {
return err
}
_, err = db.Exec("INSERT edgeSysSettings (code, value) VALUES (?, ?)", systemconfigs.SettingCodeNSAccessLogSetting, refJSON)
if err != nil {
return err
}
}
}
return nil
}
// 更新版本号
func (this *SQLExecutor) updateVersion(db *dbs.DB, version string) error {
stmt, err := db.Prepare("SELECT COUNT(*) FROM edgeVersions")