mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-03 23:20:26 +08:00
增加若干功能代号
This commit is contained in:
@@ -11,12 +11,14 @@ import (
|
||||
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs"
|
||||
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
|
||||
"github.com/TeaOSLab/EdgeCommon/pkg/systemconfigs"
|
||||
"github.com/TeaOSLab/EdgeCommon/pkg/userconfigs"
|
||||
"github.com/iwind/TeaGo/dbs"
|
||||
"github.com/iwind/TeaGo/lists"
|
||||
"github.com/iwind/TeaGo/maps"
|
||||
"github.com/iwind/TeaGo/rands"
|
||||
"github.com/iwind/TeaGo/types"
|
||||
stringutil "github.com/iwind/TeaGo/utils/string"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@@ -102,7 +104,7 @@ var upgradeFuncs = []*upgradeVersion{
|
||||
"1.2.10", upgradeV1_2_10,
|
||||
},
|
||||
{
|
||||
"1.3.1.1", upgradeV1_3_2, // 1.3.2
|
||||
"1.3.1.3", upgradeV1_3_2, // 1.3.2
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1152,5 +1154,79 @@ func upgradeV1_3_2(db *dbs.DB) error {
|
||||
}
|
||||
}
|
||||
|
||||
// user register config
|
||||
|
||||
var newAddedFeatureCodes = []string{
|
||||
userconfigs.UserFeatureCodeServerOptimization,
|
||||
userconfigs.UserFeatureCodeServerAuth,
|
||||
userconfigs.UserFeatureCodeServerWebsocket,
|
||||
userconfigs.UserFeatureCodeServerHTTP3,
|
||||
userconfigs.UserFeatureCodeServerCC,
|
||||
userconfigs.UserFeatureCodeServerReferers,
|
||||
userconfigs.UserFeatureCodeServerUserAgent,
|
||||
userconfigs.UserFeatureCodeServerRequestLimit,
|
||||
userconfigs.UserFeatureCodeServerCompression,
|
||||
userconfigs.UserFeatureCodeServerRewriteRules,
|
||||
userconfigs.UserFeatureCodeServerHostRedirects,
|
||||
userconfigs.UserFeatureCodeServerHTTPHeaders,
|
||||
userconfigs.UserFeatureCodeServerPages,
|
||||
}
|
||||
|
||||
{
|
||||
value, err := db.FindCol(0, "SELECT value FROM edgeSysSettings WHERE code=?", systemconfigs.SettingCodeUserRegisterConfig)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if value != nil {
|
||||
var valueString = types.String(value)
|
||||
if valueString != "null" && len(valueString) > 0 {
|
||||
var registerConfig = &userconfigs.UserRegisterConfig{}
|
||||
err = json.Unmarshal([]byte(valueString), registerConfig)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if len(registerConfig.Features) > 0 {
|
||||
var newFeatureCodes = registerConfig.Features
|
||||
var changed = false
|
||||
for _, featureCode := range newAddedFeatureCodes {
|
||||
if !lists.ContainsString(newFeatureCodes, featureCode) {
|
||||
newFeatureCodes = append(newFeatureCodes, featureCode)
|
||||
changed = true
|
||||
}
|
||||
}
|
||||
|
||||
if changed {
|
||||
registerConfig.Features = newFeatureCodes
|
||||
registerConfigJSON, err := json.Marshal(registerConfig)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = db.Exec("UPDATE edgeSysSettings SET value=? WHERE code=?", registerConfigJSON, systemconfigs.SettingCodeUserRegisterConfig)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// user features
|
||||
{
|
||||
var sqlPieces []string
|
||||
for _, featureCode := range newAddedFeatureCodes {
|
||||
if strings.Contains(featureCode, "'") {
|
||||
continue
|
||||
}
|
||||
sqlPieces = append(sqlPieces, "'$', '"+featureCode+"'")
|
||||
}
|
||||
|
||||
_, err := db.Exec("UPDATE edgeUsers SET features=JSON_ARRAY_APPEND(features," + strings.Join(sqlPieces, ",") + ") WHERE features IS NOT NULL AND JSON_LENGTH(features)>0 AND NOT JSON_CONTAINS(features, '" + strconv.Quote(newAddedFeatureCodes[0]) + "')")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user