mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Add Items in config in stordb
This commit is contained in:
@@ -39,7 +39,7 @@ type DataDbCfg struct {
|
||||
QueryTimeout time.Duration
|
||||
RmtConns []string // Remote DataDB connIDs
|
||||
RplConns []string // Replication connIDs
|
||||
Items map[string]*ItemRmtRplOpt
|
||||
Items map[string]*ItemOpt
|
||||
}
|
||||
|
||||
//loadFromJsonCfg loads Database config from JsonCfg
|
||||
@@ -100,9 +100,9 @@ func (dbcfg *DataDbCfg) loadFromJsonCfg(jsnDbCfg *DbJsonCfg) (err error) {
|
||||
}
|
||||
}
|
||||
if jsnDbCfg.Items != nil {
|
||||
dbcfg.Items = make(map[string]*ItemRmtRplOpt)
|
||||
dbcfg.Items = make(map[string]*ItemOpt)
|
||||
for kJsn, vJsn := range *jsnDbCfg.Items {
|
||||
val := new(ItemRmtRplOpt)
|
||||
val := new(ItemOpt)
|
||||
if err := val.loadFromJsonCfg(vJsn); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -123,15 +123,17 @@ func (dbcfg *DataDbCfg) Clone() *DataDbCfg {
|
||||
DataDbPass: dbcfg.DataDbPass,
|
||||
DataDbSentinelName: dbcfg.DataDbSentinelName,
|
||||
QueryTimeout: dbcfg.QueryTimeout,
|
||||
Items: dbcfg.Items,
|
||||
}
|
||||
}
|
||||
|
||||
type ItemRmtRplOpt struct {
|
||||
type ItemOpt struct {
|
||||
Remote bool
|
||||
Replicate bool
|
||||
TTL time.Duration
|
||||
}
|
||||
|
||||
func (itm *ItemRmtRplOpt) loadFromJsonCfg(jsonItm *ItemRmtRplOptJson) (err error) {
|
||||
func (itm *ItemOpt) loadFromJsonCfg(jsonItm *ItemOptJson) (err error) {
|
||||
if jsonItm == nil {
|
||||
return
|
||||
}
|
||||
@@ -141,5 +143,10 @@ func (itm *ItemRmtRplOpt) loadFromJsonCfg(jsonItm *ItemRmtRplOptJson) (err error
|
||||
if jsonItm.Replicate != nil {
|
||||
itm.Replicate = *jsonItm.Replicate
|
||||
}
|
||||
if jsonItm.Ttl != nil {
|
||||
if itm.TTL, err = utils.ParseDurationWithNanosecs(*jsonItm.Ttl); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -93,12 +93,13 @@ type DbJsonCfg struct {
|
||||
Sslmode *string // Used only in case of storDb
|
||||
Remote_conns *[]string
|
||||
Replication_conns *[]string
|
||||
Items *map[string]*ItemRmtRplOptJson
|
||||
Items *map[string]*ItemOptJson
|
||||
}
|
||||
|
||||
type ItemRmtRplOptJson struct {
|
||||
type ItemOptJson struct {
|
||||
Remote *bool
|
||||
Replicate *bool
|
||||
Ttl *string
|
||||
}
|
||||
|
||||
// Filters config
|
||||
|
||||
@@ -41,6 +41,7 @@ type StorDbCfg struct {
|
||||
PrefixIndexedFields []string
|
||||
QueryTimeout time.Duration
|
||||
SSLMode string // for PostgresDB used to change default sslmode
|
||||
Items map[string]*ItemOpt
|
||||
}
|
||||
|
||||
// loadFromJsonCfg loads StoreDb config from JsonCfg
|
||||
@@ -93,6 +94,16 @@ func (dbcfg *StorDbCfg) loadFromJsonCfg(jsnDbCfg *DbJsonCfg) (err error) {
|
||||
if jsnDbCfg.Sslmode != nil {
|
||||
dbcfg.SSLMode = *jsnDbCfg.Sslmode
|
||||
}
|
||||
if jsnDbCfg.Items != nil {
|
||||
dbcfg.Items = make(map[string]*ItemOpt)
|
||||
for kJsn, vJsn := range *jsnDbCfg.Items {
|
||||
val := new(ItemOpt)
|
||||
if err := val.loadFromJsonCfg(vJsn); err != nil {
|
||||
return err
|
||||
}
|
||||
dbcfg.Items[kJsn] = val
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -112,5 +123,6 @@ func (dbcfg *StorDbCfg) Clone() *StorDbCfg {
|
||||
PrefixIndexedFields: dbcfg.PrefixIndexedFields,
|
||||
QueryTimeout: dbcfg.QueryTimeout,
|
||||
SSLMode: dbcfg.SSLMode,
|
||||
Items: dbcfg.Items,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user