mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-06 01:50:25 +08:00
将全局的通用设置--域名审核设置移到“集群设置--网站设置”中
This commit is contained in:
@@ -118,12 +118,12 @@ func (this *ServerService) CreateServer(ctx context.Context, req *pb.CreateServe
|
|||||||
var auditingServerNamesJSON = []byte("[]")
|
var auditingServerNamesJSON = []byte("[]")
|
||||||
if userId > 0 {
|
if userId > 0 {
|
||||||
// 如果域名不为空的时候需要审核
|
// 如果域名不为空的时候需要审核
|
||||||
if len(serverNamesJSON) > 0 && string(serverNamesJSON) != "[]" {
|
if len(serverNamesJSON) > 0 && string(serverNamesJSON) != "[]" && req.NodeClusterId > 0 {
|
||||||
globalConfig, err := models.SharedSysSettingDAO.ReadGlobalConfig(tx)
|
globalServerConfig, err := models.SharedNodeClusterDAO.FindClusterGlobalServerConfig(tx, req.NodeClusterId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if globalConfig != nil && globalConfig.HTTPAll.DomainAuditingIsOn {
|
if globalServerConfig != nil && globalServerConfig.HTTPAll.DomainAuditingIsOn {
|
||||||
isAuditing = true
|
isAuditing = true
|
||||||
serverNamesJSON = []byte("[]")
|
serverNamesJSON = []byte("[]")
|
||||||
auditingServerNamesJSON = req.ServerNamesJSON
|
auditingServerNamesJSON = req.ServerNamesJSON
|
||||||
@@ -259,11 +259,12 @@ func (this *ServerService) CreateBasicHTTPServer(ctx context.Context, req *pb.Cr
|
|||||||
if userId > 0 {
|
if userId > 0 {
|
||||||
// 如果域名不为空的时候需要审核
|
// 如果域名不为空的时候需要审核
|
||||||
if len(serverNamesJSON) > 0 && string(serverNamesJSON) != "[]" {
|
if len(serverNamesJSON) > 0 && string(serverNamesJSON) != "[]" {
|
||||||
globalConfig, err := models.SharedSysSettingDAO.ReadGlobalConfig(tx)
|
globalServerConfig, err := models.SharedNodeClusterDAO.FindClusterGlobalServerConfig(tx, req.NodeClusterId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if globalConfig != nil && globalConfig.HTTPAll.DomainAuditingIsOn {
|
|
||||||
|
if globalServerConfig != nil && globalServerConfig.HTTPAll.DomainAuditingIsOn {
|
||||||
isAuditing = true
|
isAuditing = true
|
||||||
serverNamesJSON = []byte("[]")
|
serverNamesJSON = []byte("[]")
|
||||||
auditingServerNamesJSON = serverNamesJSON
|
auditingServerNamesJSON = serverNamesJSON
|
||||||
@@ -1091,22 +1092,31 @@ func (this *ServerService) UpdateServerNames(ctx context.Context, req *pb.Update
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 是否需要审核
|
// 是否需要审核
|
||||||
globalConfig, err := models.SharedSysSettingDAO.ReadGlobalConfig(tx)
|
clusterId, err := models.SharedServerDAO.FindServerClusterId(tx, req.ServerId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if globalConfig != nil && globalConfig.HTTPAll.DomainAuditingIsOn {
|
if clusterId > 0 {
|
||||||
err = models.SharedServerDAO.UpdateAuditingServerNames(tx, req.ServerId, true, req.ServerNamesJSON)
|
globalServerConfig, err := models.SharedNodeClusterDAO.FindClusterGlobalServerConfig(tx, clusterId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
if globalServerConfig != nil && globalServerConfig.HTTPAll.DomainAuditingIsOn {
|
||||||
|
err = models.SharedServerDAO.UpdateAuditingServerNames(tx, req.ServerId, true, req.ServerNamesJSON)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
// 发送审核通知
|
// 发送审核通知
|
||||||
err = models.SharedMessageDAO.CreateMessage(tx, 0, 0, models.MessageTypeServerNamesRequireAuditing, models.MessageLevelWarning, "有新的网站域名需要审核", "有新的网站域名需要审核", maps.Map{
|
err = models.SharedMessageDAO.CreateMessage(tx, 0, 0, models.MessageTypeServerNamesRequireAuditing, models.MessageLevelWarning, "有新的网站域名需要审核", "有新的网站域名需要审核", maps.Map{
|
||||||
"serverId": req.ServerId,
|
"serverId": req.ServerId,
|
||||||
}.AsJSON())
|
}.AsJSON())
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
return this.Success()
|
return this.Success()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3043,3 +3053,43 @@ func (this *ServerService) CopyServerConfig(ctx context.Context, req *pb.CopySer
|
|||||||
|
|
||||||
return this.Success()
|
return this.Success()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FindServerAuditingPrompt 获取域名审核时的提示文字
|
||||||
|
func (this *ServerService) FindServerAuditingPrompt(ctx context.Context, req *pb.FindServerAuditingPromptRequest) (*pb.FindServerAuditingPromptResponse, error) {
|
||||||
|
_, userId, err := this.ValidateAdminAndUser(ctx, true)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var tx = this.NullTx()
|
||||||
|
if userId > 0 {
|
||||||
|
err = models.SharedServerDAO.CheckUserServer(tx, userId, req.ServerId)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
clusterId, err := models.SharedServerDAO.FindServerClusterId(tx, req.ServerId)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if clusterId <= 0 {
|
||||||
|
return &pb.FindServerAuditingPromptResponse{
|
||||||
|
PromptText: "",
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
globalServerConfig, err := models.SharedNodeClusterDAO.FindClusterGlobalServerConfig(tx, clusterId)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if globalServerConfig != nil {
|
||||||
|
return &pb.FindServerAuditingPromptResponse{
|
||||||
|
PromptText: globalServerConfig.HTTPAll.DomainAuditingPrompt,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return &pb.FindServerAuditingPromptResponse{
|
||||||
|
PromptText: "",
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|||||||
@@ -98,6 +98,9 @@ var upgradeFuncs = []*upgradeVersion{
|
|||||||
{
|
{
|
||||||
"1.2.9", upgradeV1_2_9,
|
"1.2.9", upgradeV1_2_9,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"1.2.10", upgradeV1_2_10,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
// UpgradeSQLData 升级SQL数据
|
// UpgradeSQLData 升级SQL数据
|
||||||
@@ -749,3 +752,61 @@ func upgradeV1_2_1(db *dbs.DB) error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 1.2.10
|
||||||
|
func upgradeV1_2_10(db *dbs.DB) error {
|
||||||
|
{
|
||||||
|
type OldGlobalConfig struct {
|
||||||
|
// HTTP & HTTPS相关配置
|
||||||
|
HTTPAll struct {
|
||||||
|
DomainAuditingIsOn bool `yaml:"domainAuditingIsOn" json:"domainAuditingIsOn"` // 域名是否需要审核
|
||||||
|
DomainAuditingPrompt string `yaml:"domainAuditingPrompt" json:"domainAuditingPrompt"` // 域名审核的提示
|
||||||
|
} `yaml:"httpAll" json:"httpAll"`
|
||||||
|
|
||||||
|
TCPAll struct {
|
||||||
|
PortRangeMin int `yaml:"portRangeMin" json:"portRangeMin"` // 最小端口
|
||||||
|
PortRangeMax int `yaml:"portRangeMax" json:"portRangeMax"` // 最大端口
|
||||||
|
DenyPorts []int `yaml:"denyPorts" json:"denyPorts"` // 禁止使用的端口
|
||||||
|
} `yaml:"tcpAll" json:"tcpAll"`
|
||||||
|
}
|
||||||
|
|
||||||
|
globalConfigValue, err := db.FindCol(0, "SELECT value FROM edgeSysSettings WHERE code='serverGlobalConfig'")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
var globalConfigString = types.String(globalConfigValue)
|
||||||
|
if len(globalConfigString) > 0 {
|
||||||
|
var oldGlobalConfig = &OldGlobalConfig{}
|
||||||
|
err = json.Unmarshal([]byte(globalConfigString), oldGlobalConfig)
|
||||||
|
if err == nil { // we ignore error
|
||||||
|
ones, _, err := db.FindOnes("SELECT id,globalServerConfig FROM edgeNodeClusters")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
for _, one := range ones {
|
||||||
|
var id = one.GetInt64("id")
|
||||||
|
var globalServerConfigData = []byte(one.GetString("globalServerConfig"))
|
||||||
|
if len(globalServerConfigData) > 32 {
|
||||||
|
var globalServerConfig = &serverconfigs.GlobalServerConfig{}
|
||||||
|
err = json.Unmarshal(globalServerConfigData, globalServerConfig)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
globalServerConfig.HTTPAll.DomainAuditingIsOn = oldGlobalConfig.HTTPAll.DomainAuditingIsOn
|
||||||
|
globalServerConfig.HTTPAll.DomainAuditingPrompt = oldGlobalConfig.HTTPAll.DomainAuditingPrompt
|
||||||
|
globalServerConfigJSON, err := json.Marshal(globalServerConfig)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
_, err = db.Exec("UPDATE edgeNodeClusters SET globalServerConfig=? WHERE id=?", globalServerConfigJSON, id)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|||||||
@@ -270,3 +270,22 @@ func TestUpgradeSQLData_v1_2_1(t *testing.T) {
|
|||||||
}
|
}
|
||||||
t.Log("ok")
|
t.Log("ok")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestUpgradeSQLData_v1_2_10(t *testing.T) {
|
||||||
|
db, err := dbs.NewInstanceFromConfig(&dbs.DBConfig{
|
||||||
|
Driver: "mysql",
|
||||||
|
Dsn: "root:123456@tcp(127.0.0.1:3306)/db_edge?charset=utf8mb4&timeout=30s",
|
||||||
|
Prefix: "edge",
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
defer func() {
|
||||||
|
_ = db.Close()
|
||||||
|
}()
|
||||||
|
err = upgradeV1_2_10(db)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
t.Log("ok")
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user