diff --git a/config/datadbcfg.go b/config/datadbcfg.go index e029ad49e..e945d8ddf 100644 --- a/config/datadbcfg.go +++ b/config/datadbcfg.go @@ -129,6 +129,27 @@ func (dbcfg *DataDbCfg) Clone() *DataDbCfg { } } +func (dbcfg *DataDbCfg) AsMapInterface() map[string]interface{} { + items := make(map[string]interface{}) + for key, item := range dbcfg.Items { + items[key] = item.AsMapInterface() + } + + return map[string]interface{}{ + utils.DataDbTypeCfg: dbcfg.DataDbType, + utils.DataDbHostCfg: dbcfg.DataDbHost, + utils.DataDbPortCfg: dbcfg.DataDbPort, + utils.DataDbNameCfg: dbcfg.DataDbName, + utils.DataDbUserCfg: dbcfg.DataDbUser, + utils.DataDbPassCfg: dbcfg.DataDbPass, + utils.DataDbSentinelNameCfg: dbcfg.DataDbSentinelName, + utils.QueryTimeoutCfg: dbcfg.QueryTimeout, + utils.RmtConnsCfg: dbcfg.RmtConns, + utils.RplConnsCfg: dbcfg.RplConns, + utils.ItemsCfg: items, + } +} + type ItemOpt struct { Remote bool Replicate bool @@ -140,6 +161,16 @@ type ItemOpt struct { APIKey string } +func (itm *ItemOpt) AsMapInterface() map[string]interface{} { + return map[string]interface{}{ + utils.RemoteCfg: itm.Remote, + utils.ReplicateCfg: itm.Replicate, + utils.LimitCfg: itm.Limit, + utils.TTLCfg: itm.TTL, + utils.StaticTTLCfg: itm.StaticTTL, + } +} + func (itm *ItemOpt) loadFromJsonCfg(jsonItm *ItemOptJson) (err error) { if jsonItm == nil { return diff --git a/config/generalcfg.go b/config/generalcfg.go index 55a7363da..9a5ea9674 100644 --- a/config/generalcfg.go +++ b/config/generalcfg.go @@ -142,3 +142,32 @@ func (gencfg *GeneralCfg) loadFromJsonCfg(jsnGeneralCfg *GeneralJsonCfg) (err er return nil } + +func (gencfg *GeneralCfg) AsMapInterface() map[string]interface{} { + return map[string]interface{}{ + utils.NodeIDCfg: gencfg.NodeID, + utils.LoggerCfg: gencfg.Logger, + utils.LogLevelCfg: gencfg.LogLevel, + utils.HttpSkipTlsVerifyCfg: gencfg.HttpSkipTlsVerify, + utils.RoundingDecimalsCfg: gencfg.RoundingDecimals, + utils.DBDataEncodingCfg: gencfg.DBDataEncoding, + utils.TpExportPathCfg: gencfg.TpExportPath, + utils.PosterAttemptsCfg: gencfg.PosterAttempts, + utils.FailedPostsDirCfg: gencfg.FailedPostsDir, + utils.FailedPostsTTLCfg: gencfg.FailedPostsTTL, + utils.DefaultReqTypeCfg: gencfg.DefaultReqType, + utils.DefaultCategoryCfg: gencfg.DefaultCategory, + utils.DefaultTenantCfg: gencfg.DefaultTenant, + utils.DefaultTimezoneCfg: gencfg.DefaultTimezone, + utils.DefaultCachingCfg: gencfg.DefaultCaching, + utils.ConnectAttemptsCfg: gencfg.ConnectAttempts, + utils.ReconnectsCfg: gencfg.Reconnects, + utils.ConnectTimeoutCfg: gencfg.ConnectTimeout, + utils.ReplyTimeoutCfg: gencfg.ReplyTimeout, + utils.LockingTimeoutCfg: gencfg.LockingTimeout, + utils.DigestSeparatorCfg: gencfg.DigestSeparator, + utils.DigestEqualCfg: gencfg.DigestEqual, + utils.RSRSepCfg: gencfg.RSRSep, + utils.MaxParralelConnsCfg: gencfg.MaxParralelConns, + } +} diff --git a/config/stordbcfg.go b/config/stordbcfg.go index 50a44e543..fd7f3cd94 100644 --- a/config/stordbcfg.go +++ b/config/stordbcfg.go @@ -125,3 +125,27 @@ func (dbcfg *StorDbCfg) Clone() *StorDbCfg { Items: dbcfg.Items, } } + +func (dbcfg *StorDbCfg) AsMapInterface() map[string]interface{} { + items := make(map[string]interface{}) + for key, item := range dbcfg.Items { + items[key] = item.AsMapInterface() + } + + return map[string]interface{}{ + utils.TypeCfg: dbcfg.Type, + utils.HostCfg: dbcfg.Host, + utils.PortCfg: dbcfg.Port, + utils.NameCfg: dbcfg.Name, + utils.UserCfg: dbcfg.User, + utils.PasswordCfg: dbcfg.Password, + utils.MaxOpenConnsCfg: dbcfg.MaxOpenConns, + utils.MaxIdleConnsCfg: dbcfg.MaxIdleConns, + utils.ConnMaxLifetimeCfg: dbcfg.ConnMaxLifetime, + utils.StringIndexedFieldsCfg: dbcfg.StringIndexedFields, + utils.PrefixIndexedFieldsCfg: dbcfg.PrefixIndexedFields, + utils.QueryTimeoutCfg: dbcfg.QueryTimeout, + utils.SSLModeCfg: dbcfg.SSLMode, + utils.ItemsCfg: items, + } +} diff --git a/utils/consts.go b/utils/consts.go index 1ff8f3313..8692757fe 100755 --- a/utils/consts.go +++ b/utils/consts.go @@ -1623,6 +1623,74 @@ var ( PostgressSSLModeVerifyFull = "verify-full" ) +// GeneralCfg +const ( + NodeIDCfg = "node_id" + LoggerCfg = "logger" + LogLevelCfg = "log_level" + HttpSkipTlsVerifyCfg = "http_skip_tls_verify" + RoundingDecimalsCfg = "rounding_decimals" + DBDataEncodingCfg = "dbdata_encoding" + TpExportPathCfg = "tpexport_dir" + PosterAttemptsCfg = "poster_attempts" + FailedPostsDirCfg = "failed_posts_dir" + FailedPostsTTLCfg = "failed_posts_ttl" + DefaultReqTypeCfg = "default_request_type" + DefaultCategoryCfg = "default_category" + DefaultTenantCfg = "default_tenant" + DefaultTimezoneCfg = "default_timezone" + DefaultCachingCfg = "default_caching" + ConnectAttemptsCfg = "connect_attempts" + ReconnectsCfg = "reconnects" + ConnectTimeoutCfg = "connect_timeout" + ReplyTimeoutCfg = "reply_timeout" + LockingTimeoutCfg = "locking_timeout" + DigestSeparatorCfg = "digest_separator" + DigestEqualCfg = "digest_equal" + RSRSepCfg = "rsr_separator" + MaxParralelConnsCfg = "max_parralel_conns" +) + +// StorDbCfg +const ( + TypeCfg = "db_type" + HostCfg = "db_host" + PortCfg = "db_port" + NameCfg = "db_name" + UserCfg = "db_user" + PasswordCfg = "db_password" + MaxOpenConnsCfg = "max_open_conns" + MaxIdleConnsCfg = "max_idle_conns" + ConnMaxLifetimeCfg = "conn_max_lifetime" + StringIndexedFieldsCfg = "string_indexed_fields" + PrefixIndexedFieldsCfg = "prefix_indexed_fields" + QueryTimeoutCfg = "query_timeout" + SSLModeCfg = "sslmode" + ItemsCfg = "items" +) + +// DataDbCfg +const ( + DataDbTypeCfg = "db_type" + DataDbHostCfg = "db_host" + DataDbPortCfg = "db_port" + DataDbNameCfg = "db_name" + DataDbUserCfg = "db_user" + DataDbPassCfg = "db_password" + DataDbSentinelNameCfg = "redis_sentinel" + RmtConnsCfg = "remote_conns" + RplConnsCfg = "replication_conns" +) + +// ItemOpt +const ( + RemoteCfg = "remote" + ReplicateCfg = "replicate" + TTLCfg = "ttl" + LimitCfg = "limit" + StaticTTLCfg = "static_ttl" +) + // Strip/Padding strategy var ( // common