fix
This commit is contained in:
@@ -48,7 +48,7 @@ func (s *SystemService) SystemConfig() map[string]any {
|
||||
}
|
||||
admin["routerPrefix"] = config.RouterPrefix
|
||||
if config.System != nil {
|
||||
admin["system"] = map[string]any{"useRedis": config.System.UseRedis, "useMultipoint": config.System.UseMultipoint, "useStrictAuth": config.System.UseStrictAuth, "disableAutoMigrate": config.System.DisableAutoMigrate}
|
||||
admin["system"] = map[string]any{"useRedis": config.System.UseRedis, "useMultipoint": config.System.UseMultipoint, "useStrictAuth": config.System.UseStrictAuth, "disableAutoMigrate": config.System.DisableAutoMigrate, "useMongo": config.System.UseMongo}
|
||||
}
|
||||
if config.Jwt != nil {
|
||||
admin["jwt"] = map[string]any{"signingKey": "******", "expiresTime": config.Jwt.ExpiresTime.AsDuration().String(), "bufferTime": config.Jwt.BufferTime.AsDuration().String(), "issuer": config.Jwt.Issuer}
|
||||
@@ -70,16 +70,36 @@ func (s *SystemService) SystemConfig() map[string]any {
|
||||
maskStorageSecrets(storage)
|
||||
admin["storage"] = storage
|
||||
}
|
||||
if config.Zap != nil {
|
||||
admin["zap"] = config.Zap
|
||||
}
|
||||
if config.Cors != nil {
|
||||
admin["cors"] = config.Cors
|
||||
}
|
||||
if config.App != nil {
|
||||
admin["app"] = config.App
|
||||
}
|
||||
data := s.runtime.Data()
|
||||
if data != nil {
|
||||
if data.Database != nil {
|
||||
data.Database.Password = "******"
|
||||
}
|
||||
if data.Redis != nil {
|
||||
data.Redis.Password = "******"
|
||||
}
|
||||
if data.Mongo != nil {
|
||||
data.Mongo.Password = "******"
|
||||
}
|
||||
for _, database := range data.DatabaseList {
|
||||
if database != nil {
|
||||
database.Password = "******"
|
||||
}
|
||||
}
|
||||
for _, redis := range data.RedisList {
|
||||
if redis != nil {
|
||||
redis.Password = "******"
|
||||
}
|
||||
}
|
||||
}
|
||||
dataMap := map[string]any{}
|
||||
if raw, err := (protojson.MarshalOptions{UseProtoNames: true}).Marshal(data); err == nil {
|
||||
@@ -103,6 +123,16 @@ func (s *SystemService) SaveSystemConfig(ctx context.Context, req *dto.SetSystem
|
||||
next.System.UseMultipoint = req.Config.Admin.System.UseMultipoint
|
||||
next.System.UseStrictAuth = req.Config.Admin.System.UseStrictAuth
|
||||
next.System.DisableAutoMigrate = req.Config.Admin.System.DisableAutoMigrate
|
||||
next.System.UseMongo = req.Config.Admin.System.UseMongo
|
||||
if req.Config.Admin.Zap != nil {
|
||||
next.Zap = req.Config.Admin.Zap
|
||||
}
|
||||
if req.Config.Admin.Cors != nil {
|
||||
next.Cors = req.Config.Admin.Cors
|
||||
}
|
||||
if req.Config.Admin.App != nil {
|
||||
next.App = req.Config.Admin.App
|
||||
}
|
||||
if next.Jwt != nil {
|
||||
if req.Config.Admin.JWT.SigningKey != "" && req.Config.Admin.JWT.SigningKey != "******" {
|
||||
next.Jwt.SigningKey = req.Config.Admin.JWT.SigningKey
|
||||
@@ -163,10 +193,14 @@ func (s *SystemService) SaveSystemConfig(ctx context.Context, req *dto.SetSystem
|
||||
if data.Database != nil && (password == "" || password == "******") {
|
||||
password = data.Database.Password
|
||||
}
|
||||
data.Database = &conf.Data_Database{Driver: value.Driver, Source: value.Source, Host: value.Host, Port: value.Port, User: value.User, Password: password, Name: value.Name, Config: value.Config, Path: value.Path}
|
||||
data.Database = &conf.Data_Database{Driver: value.Driver, Source: value.Source, Host: value.Host, Port: value.Port, User: value.User, Password: password, Name: value.Name, Config: value.Config, Path: value.Path, Prefix: value.Prefix, Engine: value.Engine, LogMode: value.LogMode, MaxIdleConns: value.MaxIdleConns, MaxOpenConns: value.MaxOpenConns, ConnMaxLifetime: value.ConnMaxLifetime, Singular: value.Singular}
|
||||
}
|
||||
if value := req.Config.Data.Redis; value != nil {
|
||||
redis := &conf.Data_Redis{Network: value.Network, Addr: value.Addr}
|
||||
password := value.Password
|
||||
if data.Redis != nil && (password == "" || password == "******") {
|
||||
password = data.Redis.Password
|
||||
}
|
||||
redis := &conf.Data_Redis{Network: value.Network, Addr: value.Addr, Name: value.Name, Password: password, Db: value.DB, UseCluster: value.UseCluster, ClusterAddrs: value.ClusterAddrs}
|
||||
if duration, parseErr := time.ParseDuration(value.ReadTimeout); parseErr == nil && duration >= 0 {
|
||||
redis.ReadTimeout = durationpb.New(duration)
|
||||
}
|
||||
@@ -175,6 +209,28 @@ func (s *SystemService) SaveSystemConfig(ctx context.Context, req *dto.SetSystem
|
||||
}
|
||||
data.Redis = redis
|
||||
}
|
||||
if req.Config.Data.DatabaseList != nil {
|
||||
for i, item := range req.Config.Data.DatabaseList {
|
||||
if item != nil && (item.Password == "" || item.Password == "******") && i < len(data.DatabaseList) && data.DatabaseList[i] != nil {
|
||||
item.Password = data.DatabaseList[i].Password
|
||||
}
|
||||
}
|
||||
data.DatabaseList = req.Config.Data.DatabaseList
|
||||
}
|
||||
if req.Config.Data.RedisList != nil {
|
||||
for i, item := range req.Config.Data.RedisList {
|
||||
if item != nil && (item.Password == "" || item.Password == "******") && i < len(data.RedisList) && data.RedisList[i] != nil {
|
||||
item.Password = data.RedisList[i].Password
|
||||
}
|
||||
}
|
||||
data.RedisList = req.Config.Data.RedisList
|
||||
}
|
||||
if req.Config.Data.Mongo != nil {
|
||||
if data.Mongo != nil && (req.Config.Data.Mongo.Password == "" || req.Config.Data.Mongo.Password == "******") {
|
||||
req.Config.Data.Mongo.Password = data.Mongo.Password
|
||||
}
|
||||
data.Mongo = req.Config.Data.Mongo
|
||||
}
|
||||
}
|
||||
dataRaw, err := protojson.MarshalOptions{UseProtoNames: true}.Marshal(data)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user