优化结构
This commit is contained in:
@@ -322,12 +322,12 @@ func maskConfigSecrets(value *config.Config) {
|
||||
return
|
||||
}
|
||||
if value.Admin.JWT != nil && value.Admin.JWT.SigningKey != "" {
|
||||
value.Admin.JWT.SigningKey = "******"
|
||||
value.Admin.JWT.SigningKey = config.MaskedSecret
|
||||
}
|
||||
if value.Admin.Email != nil && value.Admin.Email.Secret != "" {
|
||||
value.Admin.Email.Secret = "******"
|
||||
value.Admin.Email.Secret = config.MaskedSecret
|
||||
}
|
||||
maskStorageSecrets(value.Admin.Storage)
|
||||
config.MaskStorageSecrets(value.Admin.Storage)
|
||||
}
|
||||
|
||||
func maskDataSecrets(value *config.Data) {
|
||||
@@ -335,24 +335,24 @@ func maskDataSecrets(value *config.Data) {
|
||||
return
|
||||
}
|
||||
if value.Database != nil {
|
||||
value.Database.Password = "******"
|
||||
value.Database.Password = config.MaskedSecret
|
||||
value.Database.Source = ""
|
||||
}
|
||||
if value.Redis != nil {
|
||||
value.Redis.Password = "******"
|
||||
value.Redis.Password = config.MaskedSecret
|
||||
}
|
||||
if value.Mongo != nil {
|
||||
value.Mongo.Password = "******"
|
||||
value.Mongo.Password = config.MaskedSecret
|
||||
}
|
||||
for _, item := range value.DatabaseList {
|
||||
if item != nil {
|
||||
item.Password = "******"
|
||||
item.Password = config.MaskedSecret
|
||||
item.Source = ""
|
||||
}
|
||||
}
|
||||
for _, item := range value.RedisList {
|
||||
if item != nil {
|
||||
item.Password = "******"
|
||||
item.Password = config.MaskedSecret
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -365,10 +365,10 @@ func preserveConfigSecrets(next, current *config.Config) {
|
||||
if next.Admin == nil || current.Admin == nil {
|
||||
return
|
||||
}
|
||||
if next.Admin.JWT != nil && current.Admin.JWT != nil && maskedSecret(next.Admin.JWT.SigningKey) {
|
||||
if next.Admin.JWT != nil && current.Admin.JWT != nil && config.IsMaskedSecret(next.Admin.JWT.SigningKey) {
|
||||
next.Admin.JWT.SigningKey = current.Admin.JWT.SigningKey
|
||||
}
|
||||
if next.Admin.Email != nil && current.Admin.Email != nil && maskedSecret(next.Admin.Email.Secret) {
|
||||
if next.Admin.Email != nil && current.Admin.Email != nil && config.IsMaskedSecret(next.Admin.Email.Secret) {
|
||||
next.Admin.Email.Secret = current.Admin.Email.Secret
|
||||
}
|
||||
preserveStorageSecrets(next.Admin.Storage, current.Admin.Storage)
|
||||
@@ -379,17 +379,17 @@ func preserveDataSecrets(next, current *config.Data) {
|
||||
return
|
||||
}
|
||||
if next.Database != nil && current.Database != nil {
|
||||
if maskedSecret(next.Database.Password) {
|
||||
if config.IsMaskedSecret(next.Database.Password) {
|
||||
next.Database.Password = current.Database.Password
|
||||
}
|
||||
if next.Database.Source == "" {
|
||||
next.Database.Source = current.Database.Source
|
||||
}
|
||||
}
|
||||
if next.Redis != nil && current.Redis != nil && maskedSecret(next.Redis.Password) {
|
||||
if next.Redis != nil && current.Redis != nil && config.IsMaskedSecret(next.Redis.Password) {
|
||||
next.Redis.Password = current.Redis.Password
|
||||
}
|
||||
if next.Mongo != nil && current.Mongo != nil && maskedSecret(next.Mongo.Password) {
|
||||
if next.Mongo != nil && current.Mongo != nil && config.IsMaskedSecret(next.Mongo.Password) {
|
||||
next.Mongo.Password = current.Mongo.Password
|
||||
}
|
||||
preserveDatabaseListSecrets(next.DatabaseList, current.DatabaseList)
|
||||
@@ -414,7 +414,7 @@ func preserveDatabaseListSecrets(next, current []*config.Database) {
|
||||
if previous == nil {
|
||||
continue
|
||||
}
|
||||
if maskedSecret(item.Password) {
|
||||
if config.IsMaskedSecret(item.Password) {
|
||||
item.Password = previous.Password
|
||||
}
|
||||
if item.Source == "" {
|
||||
@@ -438,43 +438,22 @@ func preserveRedisListSecrets(next, current []*config.Redis) {
|
||||
if previous == nil && index < len(current) {
|
||||
previous = current[index]
|
||||
}
|
||||
if previous != nil && maskedSecret(item.Password) {
|
||||
if previous != nil && config.IsMaskedSecret(item.Password) {
|
||||
item.Password = previous.Password
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func maskedSecret(value string) bool { return value == "" || value == "******" }
|
||||
|
||||
func objectStores(value *config.Storage) []*config.ObjectStore {
|
||||
if value == nil {
|
||||
return nil
|
||||
}
|
||||
return []*config.ObjectStore{value.AliyunOSS, value.HuaweiOBS, value.TencentCOS, value.AWSS3, value.CloudflareR2, value.Minio}
|
||||
}
|
||||
func maskStorageSecrets(value *config.Storage) {
|
||||
if value == nil {
|
||||
return
|
||||
}
|
||||
if value.Qiniu != nil && value.Qiniu.SecretKey != "" {
|
||||
value.Qiniu.SecretKey = "******"
|
||||
}
|
||||
for _, item := range objectStores(value) {
|
||||
if item != nil && item.SecretKey != "" {
|
||||
item.SecretKey = "******"
|
||||
}
|
||||
}
|
||||
}
|
||||
func preserveStorageSecrets(next, current *config.Storage) {
|
||||
if next == nil || current == nil {
|
||||
return
|
||||
}
|
||||
if next.Qiniu != nil && current.Qiniu != nil && maskedSecret(next.Qiniu.SecretKey) {
|
||||
if next.Qiniu != nil && current.Qiniu != nil && config.IsMaskedSecret(next.Qiniu.SecretKey) {
|
||||
next.Qiniu.SecretKey = current.Qiniu.SecretKey
|
||||
}
|
||||
nextItems, currentItems := objectStores(next), objectStores(current)
|
||||
nextItems, currentItems := config.ObjectStores(next), config.ObjectStores(current)
|
||||
for index := range nextItems {
|
||||
if nextItems[index] != nil && currentItems[index] != nil && maskedSecret(nextItems[index].SecretKey) {
|
||||
if nextItems[index] != nil && currentItems[index] != nil && config.IsMaskedSecret(nextItems[index].SecretKey) {
|
||||
nextItems[index].SecretKey = currentItems[index].SecretKey
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user