Make opts in ConfigDBCfg be of type DataDBOpts

This commit is contained in:
ionutboangiu
2021-10-07 18:23:20 +03:00
committed by Dan Christian Bogos
parent a69d3c5724
commit bff3e1d143
2 changed files with 16 additions and 14 deletions

View File

@@ -192,7 +192,7 @@ func newCGRConfig(config []byte) (cfg *CGRConfig, err error) {
Usage: []*utils.DynamicDecimalBigOpt{},
}},
configDBCfg: &ConfigDBCfg{
Opts: make(map[string]interface{}),
Opts: &DataDBOpts{},
},
rldCh: make(chan string, 1),

View File

@@ -34,7 +34,7 @@ type ConfigDBCfg struct {
Name string // The name of the database to connect to.
User string // The user to sign in as.
Password string // The user's password.
Opts map[string]interface{}
Opts *DataDBOpts
}
// loadConfigDBCfg loads the DataDB section of the configuration
@@ -76,11 +76,8 @@ func (dbcfg *ConfigDBCfg) loadFromJSONCfg(jsnDbCfg *DbJsonCfg) (err error) {
if jsnDbCfg.Db_password != nil {
dbcfg.Password = *jsnDbCfg.Db_password
}
if jsnDbCfg.Opts != nil {
for k, v := range jsnDbCfg.Opts {
dbcfg.Opts[k] = v
}
err = dbcfg.Opts.loadFromJSONCfg(jsnDbCfg.Opts)
}
return
}
@@ -97,26 +94,31 @@ func (dbcfg ConfigDBCfg) Clone() (cln *ConfigDBCfg) {
Name: dbcfg.Name,
User: dbcfg.User,
Password: dbcfg.Password,
Opts: make(map[string]interface{}),
}
for k, v := range dbcfg.Opts {
cln.Opts[k] = v
Opts: dbcfg.Opts.Clone(),
}
return
}
// AsMapInterface returns the config as a map[string]interface{}
func (dbcfg ConfigDBCfg) AsMapInterface(string) interface{} {
opts := map[string]interface{}{
utils.RedisSentinelNameCfg: dbcfg.Opts.RedisSentinel,
utils.RedisClusterCfg: dbcfg.Opts.RedisCluster,
utils.RedisClusterSyncCfg: dbcfg.Opts.RedisClusterSync.String(),
utils.RedisClusterOnDownDelayCfg: dbcfg.Opts.RedisClusterOndownDelay.String(),
utils.MongoQueryTimeoutCfg: dbcfg.Opts.MongoQueryTimeout.String(),
utils.RedisTLS: dbcfg.Opts.RedisTLS,
utils.RedisClientCertificate: dbcfg.Opts.RedisClientCertificate,
utils.RedisClientKey: dbcfg.Opts.RedisClientKey,
utils.RedisCACertificate: dbcfg.Opts.RedisCACertificate,
}
mp := map[string]interface{}{
utils.DataDbTypeCfg: utils.Meta + dbcfg.Type,
utils.DataDbHostCfg: dbcfg.Host,
utils.DataDbNameCfg: dbcfg.Name,
utils.DataDbUserCfg: dbcfg.User,
utils.DataDbPassCfg: dbcfg.Password,
}
opts := make(map[string]interface{})
for k, v := range dbcfg.Opts {
opts[k] = v
utils.OptsCfg: opts,
}
mp[utils.OptsCfg] = opts
if dbcfg.Port != "" {