mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Added AsMapInterface method for some config fields
This commit is contained in:
committed by
Dan Christian Bogos
parent
1cbe443ab5
commit
a12dd79b9b
@@ -18,6 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
|
||||
package config
|
||||
|
||||
import "github.com/cgrates/cgrates/utils"
|
||||
|
||||
// AttributeSCfg is the configuration of attribute service
|
||||
type AnalyzerSCfg struct {
|
||||
Enabled bool
|
||||
@@ -32,3 +34,9 @@ func (alS *AnalyzerSCfg) loadFromJsonCfg(jsnCfg *AnalyzerSJsonCfg) (err error) {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (alS *AnalyzerSCfg) AsMapInterface() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: alS.Enabled,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,3 +71,13 @@ func (aCfg *ApierCfg) loadFromJsonCfg(jsnCfg *ApierJsonCfg) (err error) {
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (aCfg *ApierCfg) AsMapInterface() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: aCfg.Enabled,
|
||||
utils.CachesConnsCfg: aCfg.CachesConns,
|
||||
utils.SchedulerConnsCfg: aCfg.SchedulerConns,
|
||||
utils.AttributeSConnsCfg: aCfg.AttributeSConns,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -18,6 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
|
||||
package config
|
||||
|
||||
import "github.com/cgrates/cgrates/utils"
|
||||
|
||||
// AttributeSCfg is the configuration of attribute service
|
||||
type AttributeSCfg struct {
|
||||
Enabled bool
|
||||
@@ -60,3 +62,16 @@ func (alS *AttributeSCfg) loadFromJsonCfg(jsnCfg *AttributeSJsonCfg) (err error)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (alS *AttributeSCfg) AsMapInterface() map[string]interface{} {
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: alS.Enabled,
|
||||
utils.IndexedSelectsCfg: alS.IndexedSelects,
|
||||
utils.StringIndexedFieldsCfg: alS.StringIndexedFields,
|
||||
utils.PrefixIndexedFieldsCfg: alS.PrefixIndexedFields,
|
||||
utils.ProcessRunsCfg: alS.ProcessRuns,
|
||||
utils.NestedFieldsCfg: alS.NestedFields,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -55,6 +55,15 @@ func (cParam *CacheParamCfg) loadFromJsonCfg(jsnCfg *CacheParamJsonCfg) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cParam *CacheParamCfg) AsMapInterface() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
utils.Limit: cParam.Limit,
|
||||
utils.TTL: cParam.TTL,
|
||||
utils.StaticTTL: cParam.StaticTTL,
|
||||
utils.Precache: cParam.Precache,
|
||||
}
|
||||
}
|
||||
|
||||
// CacheCfg used to store the cache config
|
||||
type CacheCfg map[string]*CacheParamCfg
|
||||
|
||||
@@ -92,3 +101,16 @@ func (cCfg CacheCfg) AddTmpCaches() {
|
||||
TTL: time.Minute,
|
||||
}
|
||||
}
|
||||
|
||||
func (cCfg *CacheCfg) AsMapInterface() map[string]interface{} {
|
||||
partitions := make(map[string]interface{}, len(cCfg.Partitions))
|
||||
for key, value := range cCfg.Partitions {
|
||||
partitions[key] = value.AsMapInterface()
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.PartitionsCfg: partitions,
|
||||
utils.RplConnsCfg: cCfg.ReplicationConns,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -18,6 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
|
||||
package config
|
||||
|
||||
import "github.com/cgrates/cgrates/utils"
|
||||
|
||||
// One instance of CdrExporter
|
||||
type CdreCfg struct {
|
||||
ExportFormat string
|
||||
@@ -90,3 +92,22 @@ func (self *CdreCfg) Clone() *CdreCfg {
|
||||
}
|
||||
return clnCdre
|
||||
}
|
||||
|
||||
func (cdre *CdreCfg) AsMapInterface() map[string]interface{} {
|
||||
fields := make([]map[string]interface{}, len(cdre.Fields))
|
||||
for i, item := range cdre.Fields {
|
||||
fields[i] = item.AsMapInterface()
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.ExportFormatCfg: cdre.ExportFormat,
|
||||
utils.ExportPathCfg: cdre.ExportPath,
|
||||
utils.FiltersCfg: cdre.Filters,
|
||||
utils.TenantCfg: cdre.Tenant,
|
||||
utils.AttributeSContextCfg: cdre.AttributeSContext,
|
||||
utils.SynchronousCfg: cdre.Synchronous,
|
||||
utils.AttemptsCfg: cdre.Attempts,
|
||||
utils.FieldSeparatorCfg: cdre.FieldSeparator,
|
||||
utils.FieldsCfg: fields,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,3 +117,23 @@ func (cdrscfg *CdrsCfg) loadFromJsonCfg(jsnCdrsCfg *CdrsJsonCfg) (err error) {
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cdrscfg *CdrsCfg) AsMapInterface() map[string]interface{} {
|
||||
extraFields := make([]string, len(cdrscfg.ExtraFields))
|
||||
for i, item := range cdrscfg.ExtraFields {
|
||||
extraFields[i] = item.Rules
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: cdrscfg.Enabled,
|
||||
utils.ExtraFieldsCfg: extraFields,
|
||||
utils.StoreCdrsCfg: cdrscfg.StoreCdrs,
|
||||
utils.SMCostRetriesCfg: cdrscfg.SMCostRetries,
|
||||
utils.ChargerSConnsCfg: cdrscfg.ChargerSConns,
|
||||
utils.RALsConnsCfg: cdrscfg.RaterConns,
|
||||
utils.AttributeSConnsCfg: cdrscfg.AttributeSConns,
|
||||
utils.ThresholdSConnsCfg: cdrscfg.ThresholdSConns,
|
||||
utils.StatSConnsCfg: cdrscfg.StatSConns,
|
||||
utils.OnlineCDRExportsCfg: cdrscfg.OnlineCDRExports,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,3 +70,14 @@ func (cS *ChargerSCfg) loadFromJsonCfg(jsnCfg *ChargerSJsonCfg) (err error) {
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (cS *ChargerSCfg) AsMapInterface() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: cS.Enabled,
|
||||
utils.IndexedSelectsCfg: cS.IndexedSelects,
|
||||
utils.AttributeSConnsCfg: cS.AttributeSConns,
|
||||
utils.StringIndexedFieldsCfg: cS.StringIndexedFields,
|
||||
utils.PrefixIndexedFieldsCfg: cS.PrefixIndexedFields,
|
||||
utils.NestedFieldsCfg: cS.NestedFields,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1465,3 +1465,65 @@ func (cfg *CGRConfig) reloadSections(sections ...string) (err error) {
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (cfg *CGRConfig) AsMapInterface() map[string]interface{} {
|
||||
rpcConns := make(map[string]map[string]interface{}, len(cfg.rpcConns))
|
||||
for key, val := range cfg.rpcConns {
|
||||
rpcConns[key] = val.AsMapInterface()
|
||||
}
|
||||
|
||||
cdreProfiles := make(map[string]map[string]interface{})
|
||||
for key, val := range cfg.CdreProfiles {
|
||||
cdreProfiles[key] = val.AsMapInterface()
|
||||
}
|
||||
|
||||
loaderCfg := make([]map[string]interface{}, len(cfg.loaderCfg))
|
||||
for i, item := range cfg.loaderCfg {
|
||||
loaderCfg[i] = item.AsMapInterface()
|
||||
}
|
||||
|
||||
httpAgentCfg := make([]map[string]interface{}, len(cfg.httpAgentCfg))
|
||||
for i, item := range cfg.httpAgentCfg {
|
||||
httpAgentCfg[i] = item.AsMapInterface()
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
|
||||
utils.CdreProfiles: cdreProfiles,
|
||||
utils.LoaderCfg: loaderCfg,
|
||||
utils.HttpAgentCfg: httpAgentCfg,
|
||||
utils.RpcConns: rpcConns,
|
||||
utils.GeneralCfg: cfg.generalCfg.AsMapInterface(),
|
||||
utils.DataDbCfg: cfg.dataDbCfg.AsMapInterface(),
|
||||
utils.StorDbCfg: cfg.storDbCfg.AsMapInterface(),
|
||||
utils.TlsCfg: cfg.tlsCfg.AsMapInterface(),
|
||||
utils.CacheCfg: cfg.cacheCfg.AsMapInterface(),
|
||||
utils.ListenCfg: cfg.listenCfg.AsMapInterface(),
|
||||
utils.HttpCfg: cfg.httpCfg.AsMapInterface(),
|
||||
utils.FilterSCfg: cfg.filterSCfg.AsMapInterface(),
|
||||
utils.RalsCfg: cfg.ralsCfg.AsMapInterface(),
|
||||
utils.SchedulerCfg: cfg.schedulerCfg.AsMapInterface(),
|
||||
utils.CdrsCfg: cfg.cdrsCfg.AsMapInterface(),
|
||||
utils.SessionSCfg: cfg.sessionSCfg.AsMapInterface(),
|
||||
utils.FsAgentCfg: cfg.fsAgentCfg.AsMapInterface(),
|
||||
utils.KamAgentCfg: cfg.kamAgentCfg.AsMapInterface(),
|
||||
utils.AsteriskAgentCfg: cfg.asteriskAgentCfg.AsMapInterface(),
|
||||
utils.DiameterAgentCfg: cfg.diameterAgentCfg.AsMapInterface(),
|
||||
utils.RadiusAgentCfg: cfg.radiusAgentCfg.AsMapInterface(),
|
||||
utils.DnsAgentCfg: cfg.dnsAgentCfg.AsMapInterface(),
|
||||
utils.AttributeSCfg: cfg.attributeSCfg.AsMapInterface(),
|
||||
utils.ChargerSCfg: cfg.chargerSCfg.AsMapInterface(),
|
||||
utils.ResourceSCfg: cfg.resourceSCfg.AsMapInterface(),
|
||||
utils.StatsCfg: cfg.statsCfg.AsMapInterface(),
|
||||
utils.ThresholdSCfg: cfg.thresholdSCfg.AsMapInterface(),
|
||||
utils.SupplierSCfg: cfg.supplierSCfg.AsMapInterface(),
|
||||
utils.SureTaxCfg: cfg.sureTaxCfg.AsMapInterface(),
|
||||
utils.DispatcherSCfg: cfg.dispatcherSCfg.AsMapInterface(),
|
||||
utils.LoaderCgrCfg: cfg.loaderCgrCfg.AsMapInterface(),
|
||||
utils.MigratorCgrCfg: cfg.migratorCgrCfg.AsMapInterface(),
|
||||
utils.MailerCfg: cfg.mailerCfg.AsMapInterface(),
|
||||
utils.AnalyzerSCfg: cfg.analyzerSCfg.AsMapInterface(),
|
||||
utils.Apier: cfg.apier.AsMapInterface(),
|
||||
utils.ErsCfg: cfg.ersCfg.AsMapInterface(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -116,3 +116,39 @@ func (da *DiameterAgentCfg) loadFromJsonCfg(jsnCfg *DiameterAgentJsonCfg, separa
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ds *DiameterAgentCfg) AsMapInterface() map[string]interface{} {
|
||||
templates := make(map[string][]map[string]interface{})
|
||||
for key, value := range ds.Templates {
|
||||
fcTemplate := make([]map[string]interface{}, len(value))
|
||||
for i, val := range value {
|
||||
fcTemplate[i] = val.AsMapInterface()
|
||||
|
||||
}
|
||||
templates[key] = fcTemplate
|
||||
}
|
||||
|
||||
requestProcessors := make([]map[string]interface{}, len(ds.RequestProcessors))
|
||||
for i, item := range ds.RequestProcessors {
|
||||
requestProcessors[i] = item.AsMapInterface()
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: ds.Enabled,
|
||||
utils.ListenNetCfg: ds.ListenNet,
|
||||
utils.ListenCfg: ds.Listen,
|
||||
utils.DictionariesPathCfg: ds.DictionariesPath,
|
||||
utils.SessionSConnsCfg: ds.SessionSConns,
|
||||
utils.OriginHostCfg: ds.OriginHost,
|
||||
utils.OriginRealmCfg: ds.OriginRealm,
|
||||
utils.VendorIdCfg: ds.VendorId,
|
||||
utils.ProductNameCfg: ds.ProductName,
|
||||
utils.ConcurrentReqsCfg: ds.ConcurrentReqs,
|
||||
utils.SyncedConnReqsCfg: ds.SyncedConnReqs,
|
||||
utils.ASRTemplateCfg: ds.ASRTemplate,
|
||||
utils.RARTemplateCfg: ds.RARTemplate,
|
||||
utils.ForcedDisconnectCfg: ds.ForcedDisconnect,
|
||||
utils.TemplatesCfg: templates,
|
||||
utils.RequestProcessorsCfg: requestProcessors,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,3 +70,15 @@ func (dps *DispatcherSCfg) loadFromJsonCfg(jsnCfg *DispatcherSJsonCfg) (err erro
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (dps *DispatcherSCfg) AsMapInterface() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: dps.Enabled,
|
||||
utils.IndexedSelectsCfg: dps.IndexedSelects,
|
||||
utils.StringIndexedFieldsCfg: dps.StringIndexedFields,
|
||||
utils.PrefixIndexedFieldsCfg: dps.PrefixIndexedFields,
|
||||
utils.AttributeSConnsCfg: dps.AttributeSConns,
|
||||
utils.NestedFieldsCfg: dps.NestedFields,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -80,6 +80,23 @@ func (da *DNSAgentCfg) loadFromJsonCfg(jsnCfg *DNSAgentJsonCfg, sep string) (err
|
||||
return nil
|
||||
}
|
||||
|
||||
func (da *DNSAgentCfg) AsMapInterface() map[string]interface{} {
|
||||
requestProcessors := make([]map[string]interface{}, len(da.RequestProcessors))
|
||||
for i, item := range da.RequestProcessors {
|
||||
requestProcessors[i] = item.AsMapInterface()
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: da.Enabled,
|
||||
utils.ListenCfg: da.Listen,
|
||||
utils.ListenNetCfg: da.ListenNet,
|
||||
utils.SessionSConnsCfg: da.SessionSConns,
|
||||
utils.TimezoneCfg: da.Timezone,
|
||||
utils.RequestProcessorsCfg: requestProcessors,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// RequestProcessor is the request processor configuration
|
||||
type RequestProcessor struct {
|
||||
ID string
|
||||
@@ -129,3 +146,26 @@ func (rp *RequestProcessor) loadFromJsonCfg(jsnCfg *ReqProcessorJsnCfg, sep stri
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (rp *RequestProcessor) AsMapInterface() map[string]interface{} {
|
||||
replyFields := make([]map[string]interface{}, len(rp.ReplyFields))
|
||||
for i, item := range rp.ReplyFields {
|
||||
replyFields[i] = item.AsMapInterface()
|
||||
}
|
||||
|
||||
requestFields := make([]map[string]interface{}, len(rp.RequestFields))
|
||||
for i, item := range rp.RequestFields {
|
||||
requestFields[i] = item.AsMapInterface()
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.ID: rp.ID,
|
||||
utils.Tenant: rp.Tenant,
|
||||
utils.Filters: rp.Filters,
|
||||
utils.Flags: rp.Flags,
|
||||
utils.TimezoneCfg: rp.Timezone,
|
||||
utils.RequestFieldsCfg: requestFields,
|
||||
utils.ReplyFieldsCfg: replyFields,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -98,6 +98,20 @@ func (erS *ERsCfg) Clone() (cln *ERsCfg) {
|
||||
return
|
||||
}
|
||||
|
||||
func (erS *ERsCfg) AsMapInterface() map[string]interface{} {
|
||||
|
||||
readers := make([]map[string]interface{}, len(erS.Readers))
|
||||
for i, item := range erS.Readers {
|
||||
readers[i] = item.AsMapInterface()
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: erS.Enabled,
|
||||
utils.SessionSConnsCfg: erS.SessionSConns,
|
||||
utils.ReadersCfg: readers,
|
||||
}
|
||||
}
|
||||
|
||||
type EventReaderCfg struct {
|
||||
ID string
|
||||
Type string
|
||||
@@ -232,3 +246,47 @@ func (er *EventReaderCfg) Clone() (cln *EventReaderCfg) {
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (er *EventReaderCfg) AsMapInterface() map[string]interface{} {
|
||||
xmlRootPath := make([]string, len(er.XmlRootPath))
|
||||
for i, item := range er.XmlRootPath {
|
||||
xmlRootPath[i] = item
|
||||
}
|
||||
tenant := make([]string, len(er.Tenant))
|
||||
for i, item := range er.Tenant {
|
||||
tenant[i] = item.Rules
|
||||
}
|
||||
flags := make(map[string][]string, len(er.Flags))
|
||||
for key, val := range er.Flags {
|
||||
flags[key] = val
|
||||
}
|
||||
fields := make([]map[string]interface{}, len(er.Fields))
|
||||
for i, item := range er.Fields {
|
||||
fields[i] = item.AsMapInterface()
|
||||
}
|
||||
cacheDumpFields := make([]map[string]interface{}, len(er.CacheDumpFields))
|
||||
for i, item := range er.CacheDumpFields {
|
||||
cacheDumpFields[i] = item.AsMapInterface()
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.IDCfg: er.ID,
|
||||
utils.TypeCfg: er.Type,
|
||||
utils.RowLengthCfg: er.RowLength,
|
||||
utils.FieldSepCfg: er.FieldSep,
|
||||
utils.RunDelayCfg: er.RunDelay,
|
||||
utils.ConcurrentReqsCfg: er.ConcurrentReqs,
|
||||
utils.SourcePathCfg: er.SourcePath,
|
||||
utils.ProcessedPathCfg: er.ProcessedPath,
|
||||
utils.XmlRootPathCfg: xmlRootPath,
|
||||
utils.TenantCfg: tenant,
|
||||
utils.TimezoneCfg: er.Timezone,
|
||||
utils.FiltersCfg: er.Filters,
|
||||
utils.FlagsCfg: flags,
|
||||
utils.FailedCallsPrefixCfg: er.FailedCallsPrefix,
|
||||
utils.PartialRecordCacheCfg: er.PartialRecordCache,
|
||||
utils.PartialCacheExpiryActionCfg: er.PartialCacheExpiryAction,
|
||||
utils.FieldsCfg: fields,
|
||||
utils.CacheDumpFieldsCfg: cacheDumpFields,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -190,3 +190,33 @@ func (self *FCTemplate) Clone() *FCTemplate {
|
||||
cln.MaskLen = self.MaskLen
|
||||
return cln
|
||||
}
|
||||
|
||||
func (fc *FCTemplate) AsMapInterface() map[string]interface{} {
|
||||
values := make([]string, len(fc.Value))
|
||||
for i, item := range fc.Value {
|
||||
values[i] = item.Rules
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.TagCfg: fc.Tag,
|
||||
utils.TypeCf: fc.Type,
|
||||
utils.PathCfg: fc.Path,
|
||||
utils.FiltersCfg: fc.Filters,
|
||||
utils.ValueCfg: values,
|
||||
utils.WidthCfg: fc.Width,
|
||||
utils.StripCfg: fc.Strip,
|
||||
utils.PaddingCfg: fc.Padding,
|
||||
utils.MandatoryCfg: fc.Mandatory,
|
||||
utils.AttributeIDCfg: fc.AttributeID,
|
||||
utils.NewBranchCfg: fc.NewBranch,
|
||||
utils.TimezoneCfg: fc.Timezone,
|
||||
utils.BlockerCfg: fc.Blocker,
|
||||
utils.BreakOnSuccessCfg: fc.BreakOnSuccess,
|
||||
utils.LayoutCfg: fc.Layout,
|
||||
utils.CostShiftDigitsCfg: fc.CostShiftDigits,
|
||||
utils.RoundingDecimalsCfg: fc.RoundingDecimals,
|
||||
utils.MaskDestIDCfg: fc.MaskDestID,
|
||||
utils.MaskLenCfg: fc.MaskLen,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -53,3 +53,11 @@ func (fSCfg *FilterSCfg) loadFromJsonCfg(jsnCfg *FilterSJsonCfg) (err error) {
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (fSCfg *FilterSCfg) AsMapInterface() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
utils.StatSConnsCfg: fSCfg.StatSConns,
|
||||
utils.ResourceSConnsCfg: fSCfg.ResourceSConns,
|
||||
utils.ApierSConnsCfg: fSCfg.ApierSConns,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,3 +117,19 @@ func (ca *HttpAgentCfg) loadFromJsonCfg(jsnCfg *HttpAgentJsonCfg, separator stri
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ca *HttpAgentCfg) AsMapInterface() map[string]interface{} {
|
||||
requestProcessors := make([]map[string]interface{}, len(ca.RequestProcessors))
|
||||
for i, item := range ca.RequestProcessors {
|
||||
requestProcessors[i] = item.AsMapInterface()
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.IDCfg: ca.ID,
|
||||
utils.UrlCfg: ca.Url,
|
||||
utils.SessionSConnsCfg: ca.SessionSConns,
|
||||
utils.RequestPayloadCfg: ca.RequestPayload,
|
||||
utils.ReplyPayloadCfg: ca.ReplyPayload,
|
||||
utils.RequestProcessorsCfg: ca.RequestProcessors,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
|
||||
package config
|
||||
|
||||
import "github.com/cgrates/cgrates/utils"
|
||||
|
||||
// HTTP config section
|
||||
type HTTPCfg struct {
|
||||
HTTPJsonRPCURL string // JSON RPC relative URL ("" to disable)
|
||||
@@ -54,3 +56,14 @@ func (httpcfg *HTTPCfg) loadFromJsonCfg(jsnHttpCfg *HTTPJsonCfg) (err error) {
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (httpcfg *HTTPCfg) AsMapInterface() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
utils.HTTPJsonRPCURLCfg: httpcfg.HTTPJsonRPCURL,
|
||||
utils.HTTPWSURLCfg: httpcfg.HTTPWSURL,
|
||||
utils.HTTPFreeswitchCDRsURLCfg: httpcfg.HTTPFreeswitchCDRsURL,
|
||||
utils.HTTPCDRsURLCfg: httpcfg.HTTPCDRsURL,
|
||||
utils.HTTPUseBasicAuthCfg: httpcfg.HTTPUseBasicAuth,
|
||||
utils.HTTPAuthUsersCfg: httpcfg.HTTPAuthUsers,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,6 +43,14 @@ func (self *KamConnCfg) loadFromJsonCfg(jsnCfg *KamConnJsonCfg) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (kamCfg *KamConnCfg) AsMapInterface() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
utils.AliasCfg: kamCfg.Alias,
|
||||
utils.AddressCfg: kamCfg.Address,
|
||||
utils.ReconnectsCfg: kamCfg.Reconnects,
|
||||
}
|
||||
}
|
||||
|
||||
// SM-Kamailio config section
|
||||
type KamAgentCfg struct {
|
||||
Enabled bool
|
||||
@@ -82,3 +90,19 @@ func (ka *KamAgentCfg) loadFromJsonCfg(jsnCfg *KamAgentJsonCfg) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ka *KamAgentCfg) AsMapInterface() map[string]interface{} {
|
||||
evapiConns := make([]map[string]interface{}, len(ka.EvapiConns))
|
||||
for i, item := range ka.EvapiConns {
|
||||
evapiConns[i] = item.AsMapInterface()
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: ka.Enabled,
|
||||
utils.SessionSConnsCfg: ka.SessionSConns,
|
||||
utils.CreateCdrCfg: ka.CreateCdr,
|
||||
utils.EvapiConnsCfg: evapiConns,
|
||||
utils.TimezoneCfg: ka.Timezone,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -535,7 +535,6 @@ type FcTemplateJsonCfg struct {
|
||||
Timezone *string
|
||||
Blocker *bool
|
||||
Break_on_success *bool
|
||||
Handler_id *string
|
||||
Layout *string
|
||||
Cost_shift_digits *int
|
||||
Rounding_decimals *int
|
||||
|
||||
@@ -18,6 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
|
||||
package config
|
||||
|
||||
import "github.com/cgrates/cgrates/utils"
|
||||
|
||||
// Listen config section
|
||||
type ListenCfg struct {
|
||||
RPCJSONListen string // RPC JSON listening address
|
||||
@@ -53,3 +55,14 @@ func (lstcfg *ListenCfg) loadFromJsonCfg(jsnListenCfg *ListenJsonCfg) (err error
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (lstcfg *ListenCfg) AsMapInterface() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
utils.RPCJSONListenCfg: lstcfg.RPCJSONListen,
|
||||
utils.RPCGOBListenCfg: lstcfg.RPCGOBListen,
|
||||
utils.HTTPListenCfg: lstcfg.HTTPListen,
|
||||
utils.RPCJSONTLSListenCfg: lstcfg.RPCJSONTLSListen,
|
||||
utils.RPCGOBTLSListenCfg: lstcfg.RPCGOBTLSListen,
|
||||
utils.HTTPTLSListenCfg: lstcfg.HTTPTLSListen,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,3 +70,26 @@ func (ld *LoaderCgrCfg) loadFromJsonCfg(jsnCfg *LoaderCfgJson) (err error) {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ld *LoaderCgrCfg) AsMapInterface() map[string]interface{} {
|
||||
gapiCredentials := make([]byte, len(ld.GapiCredentials))
|
||||
for i, item := range ld.GapiCredentials {
|
||||
gapiCredentials[i] = item
|
||||
}
|
||||
|
||||
gapiToken := make([]byte, len(ld.GapiToken))
|
||||
for i, item := range ld.GapiToken {
|
||||
gapiToken[i] = item
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.TpIDCfg: ld.TpID,
|
||||
utils.DataPathCfg: ld.DataPath,
|
||||
utils.DisableReverseCfg: ld.DisableReverse,
|
||||
utils.FieldSeparatorCfg: ld.FieldSeparator,
|
||||
utils.CachesConnsCfg: ld.CachesConns,
|
||||
utils.SchedulerConnsCfg: ld.SchedulerConns,
|
||||
utils.GapiCredentialsCfg: gapiCredentials,
|
||||
utils.GapiTokenCfg: gapiToken,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -181,3 +181,42 @@ func (self *LoaderSCfg) Clone() *LoaderSCfg {
|
||||
}
|
||||
return clnLoader
|
||||
}
|
||||
|
||||
func (lData *LoaderDataType) AsMapInterface() map[string]interface{} {
|
||||
fields := make([]map[string]interface{}, len(lData.Fields))
|
||||
for i, item := range lData.Fields {
|
||||
fields[i] = item.AsMapInterface()
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.TypeCf: lData.Type,
|
||||
utils.FilenameCfg: lData.Filename,
|
||||
utils.FieldsCfg: fields,
|
||||
}
|
||||
}
|
||||
|
||||
func (l *LoaderSCfg) AsMapInterface() map[string]interface{} {
|
||||
tenant := make([]string, len(l.Tenant))
|
||||
for i, item := range l.Tenant {
|
||||
tenant[i] = item.Rules
|
||||
}
|
||||
|
||||
data := make([]map[string]interface{}, len(l.Data))
|
||||
for i, item := range l.Data {
|
||||
data[i] = item.AsMapInterface()
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.IdCfg: l.Id,
|
||||
utils.EnabledCfg: l.Enabled,
|
||||
utils.TenantCfg: tenant,
|
||||
utils.DryRunCfg: l.DryRun,
|
||||
utils.RunDelayCfg: l.RunDelay,
|
||||
utils.LockFileNameCfg: l.LockFileName,
|
||||
utils.CacheSConnsCfg: l.CacheSConns,
|
||||
utils.FieldSeparatorCfg: l.FieldSeparator,
|
||||
utils.TpInDirCfg: l.TpInDir,
|
||||
utils.TpOutDirCfg: l.TpOutDir,
|
||||
utils.DataCfg: data,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
|
||||
package config
|
||||
|
||||
import "github.com/cgrates/cgrates/utils"
|
||||
|
||||
// Mailer config section
|
||||
type MailerCfg struct {
|
||||
MailerServer string // The server to use when sending emails out
|
||||
@@ -46,3 +48,13 @@ func (mailcfg *MailerCfg) loadFromJsonCfg(jsnMailerCfg *MailerJsonCfg) (err erro
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (mailcfg *MailerCfg) AsMapInterface() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
utils.MailerServerCfg: mailcfg.MailerServer,
|
||||
utils.MailerAuthUserCfg: mailcfg.MailerAuthUser,
|
||||
utils.MailerAuthPassCfg: mailcfg.MailerAuthPass,
|
||||
utils.MailerFromAddrCfg: mailcfg.MailerFromAddr,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -20,6 +20,8 @@ package config
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
)
|
||||
|
||||
type MigratorCgrCfg struct {
|
||||
@@ -94,3 +96,24 @@ func (mg *MigratorCgrCfg) loadFromJsonCfg(jsnCfg *MigratorCfgJson) (err error) {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (mg *MigratorCgrCfg) AsMapInterface() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
utils.OutDataDBTypeCfg: mg.OutDataDBType,
|
||||
utils.OutDataDBHostCfg: mg.OutDataDBHost,
|
||||
utils.OutDataDBPortCfg: mg.OutDataDBPort,
|
||||
utils.OutDataDBNameCfg: mg.OutDataDBName,
|
||||
utils.OutDataDBUserCfg: mg.OutDataDBUser,
|
||||
utils.OutDataDBPasswordCfg: mg.OutDataDBPassword,
|
||||
utils.OutDataDBEncodingCfg: mg.OutDataDBEncoding,
|
||||
utils.OutDataDBRedisSentinelCfg: mg.OutDataDBRedisSentinel,
|
||||
utils.OutStorDBTypeCfg: mg.OutStorDBType,
|
||||
utils.OutStorDBHostCfg: mg.OutStorDBHost,
|
||||
utils.OutStorDBPortCfg: mg.OutStorDBPort,
|
||||
utils.OutStorDBNameCfg: mg.OutStorDBName,
|
||||
utils.OutStorDBUserCfg: mg.OutStorDBUser,
|
||||
utils.OutStorDBPasswordCfg: mg.OutStorDBPassword,
|
||||
utils.UsersFiltersCfg: mg.UsersFilters,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -95,3 +95,32 @@ func (self *RadiusAgentCfg) loadFromJsonCfg(jsnCfg *RadiusAgentJsonCfg, separato
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ra *RadiusAgentCfg) AsMapInterface() map[string]interface{} {
|
||||
clientSecrets := make(map[string]interface{}, len(ra.ClientSecrets))
|
||||
for key, val := range ra.ClientSecrets {
|
||||
clientSecrets[key] = val
|
||||
}
|
||||
|
||||
clientDictionaries := make(map[string]interface{}, len(ra.ClientDictionaries))
|
||||
for key, val := range ra.ClientDictionaries {
|
||||
clientDictionaries[key] = val
|
||||
}
|
||||
|
||||
requestProcessors := make([]map[string]interface{}, len(ra.RequestProcessors))
|
||||
for i, item := range ra.RequestProcessors {
|
||||
requestProcessors[i] = item.AsMapInterface()
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: ra.Enabled,
|
||||
utils.ListenNetCfg: ra.ListenNet,
|
||||
utils.ListenAuthCfg: ra.ListenAuth,
|
||||
utils.ListenAcctCfg: ra.ListenAcct,
|
||||
utils.ClientSecretsCfg: clientSecrets,
|
||||
utils.ClientDictionariesCfg: clientDictionaries,
|
||||
utils.SessionSConnsCfg: ra.SessionSConns,
|
||||
utils.RequestProcessorsCfg: requestProcessors,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -102,3 +102,27 @@ func (ralsCfg *RalsCfg) loadFromJsonCfg(jsnRALsCfg *RalsJsonCfg) (err error) {
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ralsCfg *RalsCfg) AsMapInterface() map[string]interface{} {
|
||||
maxComputed := make(map[string]interface{})
|
||||
for key, item := range ralsCfg.MaxComputedUsage {
|
||||
maxComputed[key] = item
|
||||
}
|
||||
|
||||
balanceRating := make(map[string]interface{})
|
||||
for key, item := range ralsCfg.BalanceRatingSubject {
|
||||
balanceRating[key] = item
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: ralsCfg.Enabled,
|
||||
utils.ThresholdSConnsCfg: ralsCfg.ThresholdSConns,
|
||||
utils.StatSConnsCfg: ralsCfg.StatSConns,
|
||||
utils.CacheSConnsCfg: ralsCfg.CacheSConns,
|
||||
utils.RpSubjectPrefixMatchingCfg: ralsCfg.RpSubjectPrefixMatching,
|
||||
utils.RemoveExpiredCfg: ralsCfg.RemoveExpired,
|
||||
utils.MaxComputedUsageCfg: maxComputed,
|
||||
utils.BalanceRatingSubjectCfg: balanceRating,
|
||||
utils.MaxIncrementsCfg: ralsCfg.MaxIncrements,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,3 +79,17 @@ func (rlcfg *ResourceSConfig) loadFromJsonCfg(jsnCfg *ResourceSJsonCfg) (err err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (rlcfg *ResourceSConfig) AsMapInterface() map[string]interface{} {
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: rlcfg.Enabled,
|
||||
utils.IndexedSelectsCfg: rlcfg.IndexedSelects,
|
||||
utils.ThresholdSConnsCfg: rlcfg.ThresholdSConns,
|
||||
utils.StoreIntervalCfg: rlcfg.StoreInterval,
|
||||
utils.StringIndexedFieldsCfg: rlcfg.StringIndexedFields,
|
||||
utils.PrefixIndexedFieldsCfg: rlcfg.PrefixIndexedFields,
|
||||
utils.NestedFieldsCfg: rlcfg.NestedFields,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -18,7 +18,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
|
||||
package config
|
||||
|
||||
import "github.com/cgrates/rpcclient"
|
||||
import (
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
"github.com/cgrates/rpcclient"
|
||||
)
|
||||
|
||||
// Returns the first cached default value for a RemoteHost connection
|
||||
func NewDfltRemoteHost() *RemoteHost {
|
||||
@@ -59,6 +62,19 @@ func (rC *RPCConn) loadFromJsonCfg(jsnCfg *RPCConnsJson) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func (rC *RPCConn) AsMapInterface() map[string]interface{} {
|
||||
conns := make([]map[string]interface{}, len(rC.Conns))
|
||||
for i, item := range rC.Conns {
|
||||
conns[i] = item.AsMapInterface()
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.Strategy: rC.Strategy,
|
||||
utils.PoolSize: rC.PoolSize,
|
||||
utils.Conns: conns,
|
||||
}
|
||||
}
|
||||
|
||||
// One connection to Rater
|
||||
type RemoteHost struct {
|
||||
Address string
|
||||
@@ -85,3 +101,12 @@ func (self *RemoteHost) loadFromJsonCfg(jsnCfg *RemoteHostJson) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (rh *RemoteHost) AsMapInterface() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
utils.Address: rh.Address,
|
||||
utils.Transport: rh.Transport,
|
||||
utils.Synchronous: rh.Synchronous,
|
||||
utils.TLS: rh.TLS,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,3 +52,11 @@ func (schdcfg *SchedulerCfg) loadFromJsonCfg(jsnCfg *SchedulerJsonCfg) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (schdcfg *SchedulerCfg) AsMapInterface() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: schdcfg.Enabled,
|
||||
utils.CDRsConnsCfg: schdcfg.CDRsConns,
|
||||
utils.FiltersCfg: schdcfg.Filters,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,6 +63,15 @@ func (self *FsConnCfg) loadFromJsonCfg(jsnCfg *FsConnJsonCfg) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (fs *FsConnCfg) AsMapInterface() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
utils.AddressCfg: fs.Address,
|
||||
utils.Password: fs.Password,
|
||||
utils.ReconnectsCfg: fs.Reconnects,
|
||||
utils.AliasCfg: fs.Alias,
|
||||
}
|
||||
}
|
||||
|
||||
type SessionSCfg struct {
|
||||
Enabled bool
|
||||
ListenBijson string
|
||||
@@ -263,6 +272,37 @@ func (scfg *SessionSCfg) loadFromJsonCfg(jsnCfg *SessionSJsonCfg) (err error) {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (scfg *SessionSCfg) AsMapInterface() map[string]interface{} {
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: scfg.Enabled,
|
||||
utils.ListenBijsonCfg: scfg.ListenBijson,
|
||||
utils.ChargerSConnsCfg: scfg.ChargerSConns,
|
||||
utils.RALsConnsCfg: scfg.RALsConns,
|
||||
utils.ResSConnsCfg: scfg.ResSConns,
|
||||
utils.ThreshSConnsCfg: scfg.ThreshSConns,
|
||||
utils.StatSConnsCfg: scfg.StatSConns,
|
||||
utils.SupplSConnsCfg: scfg.SupplSConns,
|
||||
utils.AttrSConnsCfg: scfg.AttrSConns,
|
||||
utils.CDRsConnsCfg: scfg.CDRsConns,
|
||||
utils.ReplicationConnsCfg: scfg.ReplicationConns,
|
||||
utils.DebitIntervalCfg: scfg.DebitInterval,
|
||||
utils.StoreSCostsCfg: scfg.StoreSCosts,
|
||||
utils.MinCallDurationCfg: scfg.MinCallDuration,
|
||||
utils.MaxCallDurationCfg: scfg.MaxCallDuration,
|
||||
utils.SessionTTLCfg: scfg.SessionTTL,
|
||||
utils.SessionTTLMaxDelayCfg: scfg.SessionTTLMaxDelay,
|
||||
utils.SessionTTLLastUsedCfg: scfg.SessionTTLLastUsed,
|
||||
utils.SessionTTLUsageCfg: scfg.SessionTTLUsage,
|
||||
utils.SessionIndexesCfg: scfg.SessionIndexes.GetSlice(),
|
||||
utils.ClientProtocolCfg: scfg.ClientProtocol,
|
||||
utils.ChannelSyncIntervalCfg: scfg.ChannelSyncInterval,
|
||||
utils.TerminateAttemptsCfg: scfg.TerminateAttempts,
|
||||
utils.AlterableFieldsCfg: scfg.AlterableFields.AsSlice(),
|
||||
utils.MinDurLowBalanceCfg: scfg.MinDurLowBalance,
|
||||
}
|
||||
}
|
||||
|
||||
type FsAgentCfg struct {
|
||||
Enabled bool
|
||||
SessionSConns []string
|
||||
@@ -329,6 +369,27 @@ func (self *FsAgentCfg) loadFromJsonCfg(jsnCfg *FreeswitchAgentJsonCfg) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (fscfg *FsAgentCfg) AsMapInterface() map[string]interface{} {
|
||||
var eventSocketConns []map[string]interface{}
|
||||
// eventSocketConns := make(map[string]interface{}, len(fscfg.EventSocketConns))
|
||||
for _, item := range fscfg.EventSocketConns {
|
||||
eventSocketConns = append(eventSocketConns, item.AsMapInterface())
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: fscfg.Enabled,
|
||||
utils.SessionSConnsCfg: fscfg.SessionSConns,
|
||||
utils.SubscribeParkCfg: fscfg.SubscribePark,
|
||||
utils.CreateCdrCfg: fscfg.CreateCdr,
|
||||
utils.ExtraFieldsCfg: fscfg.ExtraFields,
|
||||
utils.LowBalanceAnnFileCfg: fscfg.LowBalanceAnnFile,
|
||||
utils.EmptyBalanceContextCfg: fscfg.EmptyBalanceContext,
|
||||
utils.EmptyBalanceAnnFileCfg: fscfg.EmptyBalanceAnnFile,
|
||||
utils.MaxWaitConnectionCfg: fscfg.MaxWaitConnection,
|
||||
utils.EventSocketConnsCfg: eventSocketConns,
|
||||
}
|
||||
}
|
||||
|
||||
// Returns the first cached default value for a FreeSWITCHAgent connection
|
||||
func NewDfltKamConnConfig() *KamConnCfg {
|
||||
if dfltKamConnConfig == nil {
|
||||
@@ -381,6 +442,17 @@ func (aConnCfg *AsteriskConnCfg) loadFromJsonCfg(jsnCfg *AstConnJsonCfg) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (aConnCfg *AsteriskConnCfg) AsMapInterface() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
utils.AliasCfg: aConnCfg.Alias,
|
||||
utils.AddressCfg: aConnCfg.Address,
|
||||
utils.UserCf: aConnCfg.User,
|
||||
utils.Password: aConnCfg.Password,
|
||||
utils.ConnectAttemptsCfg: aConnCfg.ConnectAttempts,
|
||||
utils.ReconnectsCfg: aConnCfg.Reconnects,
|
||||
}
|
||||
}
|
||||
|
||||
type AsteriskAgentCfg struct {
|
||||
Enabled bool
|
||||
SessionSConns []string
|
||||
@@ -418,3 +490,17 @@ func (aCfg *AsteriskAgentCfg) loadFromJsonCfg(jsnCfg *AsteriskAgentJsonCfg) (err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (aCfg *AsteriskAgentCfg) AsMapInterface() map[string]interface{} {
|
||||
conns := make([]map[string]interface{}, len(aCfg.AsteriskConns))
|
||||
for i, item := range aCfg.AsteriskConns {
|
||||
conns[i] = item.AsMapInterface()
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: aCfg.Enabled,
|
||||
utils.SessionSConnsCfg: aCfg.SessionSConns,
|
||||
utils.CreateCDRCfg: aCfg.CreateCDR,
|
||||
utils.AsteriskConnsCfg: conns,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,3 +83,18 @@ func (st *StatSCfg) loadFromJsonCfg(jsnCfg *StatServJsonCfg) (err error) {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (st *StatSCfg) AsMapInterface() map[string]interface{} {
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: st.Enabled,
|
||||
utils.IndexedSelectsCfg: st.IndexedSelects,
|
||||
utils.StoreIntervalCfg: st.StoreInterval,
|
||||
utils.StoreUncompressedLimitCfg: st.StoreUncompressedLimit,
|
||||
utils.ThresholdSConnsCfg: st.ThresholdSConns,
|
||||
utils.StringIndexedFieldsCfg: st.StringIndexedFields,
|
||||
utils.PrefixIndexedFieldsCfg: st.PrefixIndexedFields,
|
||||
utils.NestedFieldsCfg: st.NestedFields,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,3 +98,20 @@ func (spl *SupplierSCfg) loadFromJsonCfg(jsnCfg *SupplierSJsonCfg) (err error) {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (spl *SupplierSCfg) AsMapInterface() map[string]interface{} {
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: spl.Enabled,
|
||||
utils.IndexedSelectsCfg: spl.IndexedSelects,
|
||||
utils.StringIndexedFieldsCfg: spl.StringIndexedFields,
|
||||
utils.PrefixIndexedFieldsCfg: spl.PrefixIndexedFields,
|
||||
utils.AttributeSConnsCfg: spl.AttributeSConns,
|
||||
utils.ResourceSConnsCfg: spl.ResourceSConns,
|
||||
utils.StatSConnsCfg: spl.StatSConns,
|
||||
utils.RALsConnsCfg: spl.ResponderSConns,
|
||||
utils.DefaultRatioCfg: spl.DefaultRatio,
|
||||
utils.NestedFieldsCfg: spl.NestedFields,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -173,3 +173,116 @@ func (self *SureTaxCfg) loadFromJsonCfg(jsnCfg *SureTaxJsonCfg) (err error) {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (st *SureTaxCfg) AsMapInterface() map[string]interface{} {
|
||||
|
||||
clientTracking := make([]string, len(st.ClientTracking))
|
||||
for i, item := range st.ClientTracking {
|
||||
clientTracking[i] = item.Rules
|
||||
}
|
||||
|
||||
customerNumber := make([]string, len(st.CustomerNumber))
|
||||
for i, item := range st.CustomerNumber {
|
||||
customerNumber[i] = item.Rules
|
||||
}
|
||||
|
||||
origNumber := make([]string, len(st.OrigNumber))
|
||||
for i, item := range st.OrigNumber {
|
||||
origNumber[i] = item.Rules
|
||||
}
|
||||
|
||||
termNumber := make([]string, len(st.TermNumber))
|
||||
for i, item := range st.TermNumber {
|
||||
termNumber[i] = item.Rules
|
||||
}
|
||||
|
||||
billToNumber := make([]string, len(st.BillToNumber))
|
||||
for i, item := range st.BillToNumber {
|
||||
billToNumber[i] = item.Rules
|
||||
}
|
||||
|
||||
zipcode := make([]string, len(st.Zipcode))
|
||||
for i, item := range st.Zipcode {
|
||||
zipcode[i] = item.Rules
|
||||
}
|
||||
|
||||
plus4 := make([]string, len(st.Plus4))
|
||||
for i, item := range st.Plus4 {
|
||||
plus4[i] = item.Rules
|
||||
}
|
||||
|
||||
p2PZipcode := make([]string, len(st.P2PZipcode))
|
||||
for i, item := range st.P2PZipcode {
|
||||
p2PZipcode[i] = item.Rules
|
||||
}
|
||||
|
||||
p2PPlus4 := make([]string, len(st.P2PPlus4))
|
||||
for i, item := range st.P2PPlus4 {
|
||||
p2PPlus4[i] = item.Rules
|
||||
}
|
||||
|
||||
units := make([]string, len(st.Units))
|
||||
for i, item := range st.Units {
|
||||
units[i] = item.Rules
|
||||
}
|
||||
|
||||
unitType := make([]string, len(st.UnitType))
|
||||
for i, item := range st.UnitType {
|
||||
unitType[i] = item.Rules
|
||||
}
|
||||
|
||||
taxIncluded := make([]string, len(st.TaxIncluded))
|
||||
for i, item := range st.TaxIncluded {
|
||||
taxIncluded[i] = item.Rules
|
||||
}
|
||||
|
||||
taxSitusRule := make([]string, len(st.TaxSitusRule))
|
||||
for i, item := range st.TaxSitusRule {
|
||||
taxSitusRule[i] = item.Rules
|
||||
}
|
||||
|
||||
transTypeCode := make([]string, len(st.TransTypeCode))
|
||||
for i, item := range st.TransTypeCode {
|
||||
transTypeCode[i] = item.Rules
|
||||
}
|
||||
|
||||
salesTypeCode := make([]string, len(st.SalesTypeCode))
|
||||
for i, item := range st.SalesTypeCode {
|
||||
salesTypeCode[i] = item.Rules
|
||||
}
|
||||
|
||||
taxExemptionCodeList := make([]string, len(st.TaxExemptionCodeList))
|
||||
for i, item := range st.TaxExemptionCodeList {
|
||||
taxExemptionCodeList[i] = item.Rules
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.UrlCfg: st.Url,
|
||||
utils.ClientNumberCfg: st.ClientNumber,
|
||||
utils.ValidationKeyCfg: st.ValidationKey,
|
||||
utils.BusinessUnitCfg: st.BusinessUnit,
|
||||
utils.TimezoneCfg: st.Timezone.String(),
|
||||
utils.IncludeLocalCostCfg: st.IncludeLocalCost,
|
||||
utils.ReturnFileCodeCfg: st.ReturnFileCode,
|
||||
utils.ResponseGroupCfg: st.ResponseGroup,
|
||||
utils.ResponseTypeCfg: st.ResponseType,
|
||||
utils.RegulatoryCodeCfg: st.RegulatoryCode,
|
||||
utils.ClientTrackingCfg: st.ClientTracking,
|
||||
utils.CustomerNumberCfg: st.CustomerNumber,
|
||||
utils.OrigNumberCfg: st.OrigNumber,
|
||||
utils.TermNumberCfg: st.TermNumber,
|
||||
utils.BillToNumberCfg: st.BillToNumber,
|
||||
utils.ZipcodeCfg: st.Zipcode,
|
||||
utils.Plus4Cfg: st.Plus4,
|
||||
utils.P2PZipcodeCfg: st.P2PZipcode,
|
||||
utils.P2PPlus4Cfg: st.P2PPlus4,
|
||||
utils.UnitsCfg: st.Units,
|
||||
utils.UnitTypeCfg: st.UnitType,
|
||||
utils.TaxIncludedCfg: st.TaxIncluded,
|
||||
utils.TaxSitusRuleCfg: st.TaxSitusRule,
|
||||
utils.TransTypeCodeCfg: st.TransTypeCode,
|
||||
utils.SalesTypeCodeCfg: st.SalesTypeCode,
|
||||
utils.TaxExemptionCodeListCfg: st.TaxExemptionCodeList,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -67,3 +67,14 @@ func (t *ThresholdSCfg) loadFromJsonCfg(jsnCfg *ThresholdSJsonCfg) (err error) {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (t *ThresholdSCfg) AsMapInterface() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
utils.EnabledCfg: t.Enabled,
|
||||
utils.IndexedSelectsCfg: t.IndexedSelects,
|
||||
utils.StoreIntervalCfg: t.StoreInterval,
|
||||
utils.StringIndexedFieldsCfg: t.StringIndexedFields,
|
||||
utils.PrefixIndexedFieldsCfg: t.PrefixIndexedFields,
|
||||
utils.NestedFieldsCfg: t.NestedFields,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
|
||||
package config
|
||||
|
||||
import "github.com/cgrates/cgrates/utils"
|
||||
|
||||
// AttributeSCfg is the configuration of attribute service
|
||||
type TlsCfg struct {
|
||||
ServerCerificate string
|
||||
@@ -56,3 +58,16 @@ func (tls *TlsCfg) loadFromJsonCfg(jsnCfg *TlsJsonCfg) (err error) {
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (tls *TlsCfg) AsMapInterface() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
utils.ServerCerificateCfg: tls.ServerCerificate,
|
||||
utils.ServerKeyCfg: tls.ServerKey,
|
||||
utils.ServerPolicyCfg: tls.ServerPolicy,
|
||||
utils.ServerNameCfg: tls.ServerName,
|
||||
utils.ClientCerificateCfg: tls.ClientCerificate,
|
||||
utils.ClientKeyCfg: tls.ClientKey,
|
||||
utils.CaCertificateCfg: tls.CaCertificate,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
402
utils/consts.go
402
utils/consts.go
@@ -1558,6 +1558,408 @@ 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"
|
||||
)
|
||||
|
||||
// Tls
|
||||
const (
|
||||
ServerCerificateCfg = "server_certificate"
|
||||
ServerKeyCfg = "server_key"
|
||||
ServerPolicyCfg = "server_policy"
|
||||
ServerNameCfg = "server_name"
|
||||
ClientCerificateCfg = "client_certificate"
|
||||
ClientKeyCfg = "client_key"
|
||||
CaCertificateCfg = "ca_certificate"
|
||||
)
|
||||
|
||||
// ListenCfg
|
||||
const (
|
||||
RPCJSONListenCfg = "rpc_json"
|
||||
RPCGOBListenCfg = "rpc_gob"
|
||||
HTTPListenCfg = "http"
|
||||
RPCJSONTLSListenCfg = "rpc_json_tls"
|
||||
RPCGOBTLSListenCfg = "rpc_gob_tls"
|
||||
HTTPTLSListenCfg = "http_tls"
|
||||
)
|
||||
|
||||
// HTTPCfg
|
||||
const (
|
||||
HTTPJsonRPCURLCfg = "json_rpc_url"
|
||||
HTTPWSURLCfg = "ws_url"
|
||||
HTTPFreeswitchCDRsURLCfg = "freeswitch_cdrs_url"
|
||||
HTTPCDRsURLCfg = "http_cdrs"
|
||||
HTTPUseBasicAuthCfg = "use_basic_auth"
|
||||
HTTPAuthUsersCfg = "auth_users"
|
||||
)
|
||||
|
||||
// FilterSCfg
|
||||
const (
|
||||
StatSConnsCfg = "stats_conns"
|
||||
ResourceSConnsCfg = "resources_conns"
|
||||
ApierSConnsCfg = "apiers_conns"
|
||||
)
|
||||
|
||||
// RalsCfg
|
||||
const (
|
||||
EnabledCfg = "enabled"
|
||||
ThresholdSConnsCfg = "thresholds_conns"
|
||||
CacheSConnsCfg = "caches_conns"
|
||||
RpSubjectPrefixMatchingCfg = "rp_subject_prefix_matching"
|
||||
RemoveExpiredCfg = "remove_expired"
|
||||
MaxComputedUsageCfg = "max_computed_usage"
|
||||
BalanceRatingSubjectCfg = "balance_rating_subject"
|
||||
MaxIncrementsCfg = "max_increments"
|
||||
)
|
||||
|
||||
// SchedulerCfg
|
||||
const (
|
||||
CDRsConnsCfg = "cdrs_conns"
|
||||
FiltersCfg = "filters"
|
||||
)
|
||||
|
||||
// CdrsCfg
|
||||
const (
|
||||
ExtraFieldsCfg = "extra_fields"
|
||||
StoreCdrsCfg = "store_cdrs"
|
||||
SMCostRetriesCfg = "session_cost_retries"
|
||||
ChargerSConnsCfg = "chargers_conns"
|
||||
AttributeSConnsCfg = "attributes_conns"
|
||||
OnlineCDRExportsCfg = "online_cdr_exports"
|
||||
)
|
||||
|
||||
// SessionSCfg
|
||||
const (
|
||||
ListenBijsonCfg = "listen_bijson"
|
||||
RALsConnsCfg = "rals_conns"
|
||||
ResSConnsCfg = "resources_conns"
|
||||
ThreshSConnsCfg = "thresholds_conns"
|
||||
SupplSConnsCfg = "suppliers_conns"
|
||||
AttrSConnsCfg = "attributes_conns"
|
||||
ReplicationConnsCfg = "replication_conns"
|
||||
DebitIntervalCfg = "debit_interval"
|
||||
StoreSCostsCfg = "store_session_costs"
|
||||
MinCallDurationCfg = "min_call_duration"
|
||||
MaxCallDurationCfg = "max_call_duration"
|
||||
SessionTTLCfg = "session_ttl"
|
||||
SessionTTLMaxDelayCfg = "session_ttl_max_delay"
|
||||
SessionTTLLastUsedCfg = "session_ttl_last_used"
|
||||
SessionTTLUsageCfg = "session_ttl_usage"
|
||||
SessionIndexesCfg = "session_indexes"
|
||||
ClientProtocolCfg = "client_protocol"
|
||||
ChannelSyncIntervalCfg = "channel_sync_interval"
|
||||
TerminateAttemptsCfg = "terminate_attempts"
|
||||
AlterableFieldsCfg = "alterable_fields"
|
||||
MinDurLowBalanceCfg = "min_dur_low_balance"
|
||||
)
|
||||
|
||||
// FsAgentCfg
|
||||
const (
|
||||
SessionSConnsCfg = "sessions_conns"
|
||||
SubscribeParkCfg = "subscribe_park"
|
||||
CreateCdrCfg = "create_cdr"
|
||||
LowBalanceAnnFileCfg = "low_balance_ann_file"
|
||||
EmptyBalanceContextCfg = "empty_balance_context"
|
||||
EmptyBalanceAnnFileCfg = "empty_balance_ann_file"
|
||||
MaxWaitConnectionCfg = "max_wait_connection"
|
||||
EventSocketConnsCfg = "event_socket_conns"
|
||||
)
|
||||
|
||||
// From Config
|
||||
const (
|
||||
AddressCfg = "address"
|
||||
Password = "password"
|
||||
AliasCfg = "alias"
|
||||
|
||||
// KamAgentCfg
|
||||
EvapiConnsCfg = "evapi_conns"
|
||||
TimezoneCfg = "timezone"
|
||||
|
||||
// AsteriskConnCfg
|
||||
UserCf = "user"
|
||||
|
||||
// AsteriskAgentCfg
|
||||
CreateCDRCfg = "create_cdr"
|
||||
AsteriskConnsCfg = "asterisk_conns"
|
||||
|
||||
// DiameterAgentCfg
|
||||
ListenNetCfg = "listen_net"
|
||||
ListenCfg = "listen"
|
||||
DictionariesPathCfg = "dictionaries_path"
|
||||
OriginHostCfg = "origin_host"
|
||||
OriginRealmCfg = "origin_realm"
|
||||
VendorIdCfg = "vendor_id"
|
||||
ProductNameCfg = "product_name"
|
||||
ConcurrentReqsCfg = "concurrent_requests"
|
||||
SyncedConnReqsCfg = "synced_conn_requests"
|
||||
ASRTemplateCfg = "asr_template"
|
||||
RARTemplateCfg = "rar_template"
|
||||
ForcedDisconnectCfg = "forced_disconnect"
|
||||
TemplatesCfg = "templates"
|
||||
RequestProcessorsCfg = "request_processors"
|
||||
|
||||
// RequestProcessor
|
||||
RequestFieldsCfg = "Request_fields"
|
||||
ReplyFieldsCfg = "Reply_fields"
|
||||
|
||||
// RadiusAgentCfg
|
||||
ListenAuthCfg = "listen_auth"
|
||||
ListenAcctCfg = "listen_acct"
|
||||
ClientSecretsCfg = "client_secrets"
|
||||
ClientDictionariesCfg = "client_dictionaries"
|
||||
|
||||
// AttributeSCfg
|
||||
IndexedSelectsCfg = "indexed_selects"
|
||||
ProcessRunsCfg = "process_runs"
|
||||
NestedFieldsCfg = "nested_fields"
|
||||
|
||||
// ChargerSCfg
|
||||
StoreIntervalCfg = "store_interval"
|
||||
|
||||
// StatSCfg
|
||||
StoreUncompressedLimitCfg = "store_uncompressed_limit"
|
||||
|
||||
// Cache
|
||||
PartitionsCfg = "partitions"
|
||||
StaticTTL = "StaticTTL"
|
||||
Precache = "Precache"
|
||||
|
||||
// CdreCfg
|
||||
ExportFormatCfg = "export_format"
|
||||
ExportPathCfg = "export_path"
|
||||
AttributeSContextCfg = "attributes_context"
|
||||
SynchronousCfg = "synchronous"
|
||||
AttemptsCfg = "attempts"
|
||||
|
||||
//LoaderSCfg
|
||||
IdCfg = "id"
|
||||
DryRunCfg = "dry_run"
|
||||
LockFileNameCfg = "lock_filename"
|
||||
TpInDirCfg = "tp_in_dir"
|
||||
TpOutDirCfg = "tp_out_dir"
|
||||
DataCfg = "data"
|
||||
|
||||
DefaultRatioCfg = "default_ratio"
|
||||
ReadersCfg = "readers"
|
||||
PoolSize = "PoolSize"
|
||||
Conns = "Conns"
|
||||
FilenameCfg = "file_name"
|
||||
RequestPayloadCfg = "Request_payload"
|
||||
ReplyPayloadCfg = "Reply_payload"
|
||||
)
|
||||
|
||||
// FC Template
|
||||
const (
|
||||
TagCfg = "tag"
|
||||
TypeCf = "type"
|
||||
PathCfg = "path"
|
||||
ValueCfg = "value"
|
||||
WidthCfg = "width"
|
||||
StripCfg = "strip"
|
||||
PaddingCfg = "padding"
|
||||
MandatoryCfg = "mandatory"
|
||||
AttributeIDCfg = "attribute_id"
|
||||
NewBranchCfg = "new_branch"
|
||||
BlockerCfg = "blocker"
|
||||
BreakOnSuccessCfg = "break_on_success"
|
||||
Handler_id = "handler_id"
|
||||
LayoutCfg = "layout"
|
||||
CostShiftDigitsCfg = "cost_shift_digits"
|
||||
MaskDestIDCfg = "mask_destinationd_id"
|
||||
MaskLenCfg = "mask_length"
|
||||
)
|
||||
|
||||
// SureTax
|
||||
const (
|
||||
UrlCfg = "url"
|
||||
ClientNumberCfg = "client_number"
|
||||
ValidationKeyCfg = "validation_key"
|
||||
BusinessUnitCfg = "business_unit"
|
||||
IncludeLocalCostCfg = "include_local_cost"
|
||||
ReturnFileCodeCfg = "return_file_code"
|
||||
ResponseGroupCfg = "response_group"
|
||||
ResponseTypeCfg = "response_type"
|
||||
RegulatoryCodeCfg = "regulatory_code"
|
||||
ClientTrackingCfg = "client_tracking"
|
||||
CustomerNumberCfg = "customer_number"
|
||||
OrigNumberCfg = "orig_number"
|
||||
TermNumberCfg = "term_number"
|
||||
BillToNumberCfg = "bill_to_number"
|
||||
ZipcodeCfg = "zipcode"
|
||||
Plus4Cfg = "plus4"
|
||||
P2PZipcodeCfg = "p2PZipcode"
|
||||
P2PPlus4Cfg = "p2PPlus4"
|
||||
UnitsCfg = "units"
|
||||
UnitTypeCfg = "unit_type"
|
||||
TaxIncludedCfg = "tax_included"
|
||||
TaxSitusRuleCfg = "tax_situs_rule"
|
||||
TransTypeCodeCfg = "trans_type_code"
|
||||
SalesTypeCodeCfg = "sales_type_code"
|
||||
TaxExemptionCodeListCfg = "tax_exemption_code_list"
|
||||
)
|
||||
|
||||
// LoaderCgrCfg
|
||||
const (
|
||||
TpIDCfg = "tpid"
|
||||
DataPathCfg = "data_path"
|
||||
DisableReverseCfg = "disable_reverse"
|
||||
FieldSeparatorCfg = "field_separator"
|
||||
CachesConnsCfg = "caches_conns"
|
||||
SchedulerConnsCfg = "scheduler_conns"
|
||||
GapiCredentialsCfg = "gapi_credentials"
|
||||
GapiTokenCfg = "gapi_token"
|
||||
)
|
||||
|
||||
// MigratorCgrCfg
|
||||
const (
|
||||
OutDataDBTypeCfg = "Out_dataDB_type"
|
||||
OutDataDBHostCfg = "Out_dataDB_host"
|
||||
OutDataDBPortCfg = "Out_dataDB_port"
|
||||
OutDataDBNameCfg = "Out_dataDB_name"
|
||||
OutDataDBUserCfg = "Out_dataDB_user"
|
||||
OutDataDBPasswordCfg = "Out_dataDB_password"
|
||||
OutDataDBEncodingCfg = "Out_dataDB_encoding"
|
||||
OutDataDBRedisSentinelCfg = "Out_dataDB_redis_sentinel"
|
||||
OutStorDBTypeCfg = "Out_storDB_type"
|
||||
OutStorDBHostCfg = "Out_storDB_host"
|
||||
OutStorDBPortCfg = "Out_storDB_port"
|
||||
OutStorDBNameCfg = "Out_storDB_name"
|
||||
OutStorDBUserCfg = "Out_storDB_user"
|
||||
OutStorDBPasswordCfg = "Out_storDB_password"
|
||||
UsersFiltersCfg = "Users_filters"
|
||||
)
|
||||
|
||||
// MailerCfg
|
||||
const (
|
||||
MailerServerCfg = "Server"
|
||||
MailerAuthUserCfg = "Auth_user"
|
||||
MailerAuthPassCfg = "Auth_password"
|
||||
MailerFromAddrCfg = "From_address"
|
||||
)
|
||||
|
||||
// EventReaderCfg
|
||||
const (
|
||||
IDCfg = "id"
|
||||
RowLengthCfg = "row_length"
|
||||
FieldSepCfg = "field_separator"
|
||||
RunDelayCfg = "run_delay"
|
||||
SourcePathCfg = "source_path"
|
||||
ProcessedPathCfg = "processed_path"
|
||||
XmlRootPathCfg = "xml_root_path"
|
||||
TenantCfg = "tenant"
|
||||
FlagsCfg = "flags"
|
||||
FailedCallsPrefixCfg = "failed_calls_prefix"
|
||||
PartialRecordCacheCfg = "partial_record_cache"
|
||||
PartialCacheExpiryActionCfg = "soome"
|
||||
FieldsCfg = "fields"
|
||||
CacheDumpFieldsCfg = "cache_dump_fields"
|
||||
)
|
||||
|
||||
// CGRConfig
|
||||
const (
|
||||
CdreProfiles = "cdre" // from JSON
|
||||
LoaderCfg = "loaders" // from JSON
|
||||
HttpAgentCfg = "http_agent" // from JSON
|
||||
RpcConns = "rpc_conns" // from JSON
|
||||
GeneralCfg = "general" // from JSON
|
||||
DataDbCfg = "data_db" // from JSON
|
||||
StorDbCfg = "stor_db" // from JSON
|
||||
TlsCfg = "tls" // from JSON
|
||||
CacheCfg = "caches" // from JSON
|
||||
HttpCfg = "http" // from JSON
|
||||
FilterSCfg = "filters" // from JSON
|
||||
RalsCfg = "rals" // from JSON
|
||||
SchedulerCfg = "schedulers" // from JSON
|
||||
CdrsCfg = "cdrs" // from JSON
|
||||
SessionSCfg = "sessions" // from JSON
|
||||
FsAgentCfg = "freeswitch_agent" // from JSON
|
||||
KamAgentCfg = "kamailio_agent" // from JSON
|
||||
AsteriskAgentCfg = "asterisk_agent" // from JSON
|
||||
DiameterAgentCfg = "diameter_agent" // from JSON
|
||||
RadiusAgentCfg = "radius_agent" // from JSON
|
||||
DnsAgentCfg = "dns_agent" // from JSON
|
||||
AttributeSCfg = "attributes" // from JSON
|
||||
ChargerSCfg = "chargers" // from JSON
|
||||
ResourceSCfg = "resources" // from JSON
|
||||
StatsCfg = "stats" // from JSON
|
||||
ThresholdSCfg = "thresholds" // from JSON
|
||||
SupplierSCfg = "suppliers" // from JSON
|
||||
SureTaxCfg = "suretax" // from JSON
|
||||
DispatcherSCfg = "dispatchers" // from JSON
|
||||
LoaderCgrCfg = "loader" // from JSON
|
||||
MigratorCgrCfg = "migrator" // from JSON
|
||||
MailerCfg = "mailer" // from JSON
|
||||
AnalyzerSCfg = "analyzers" // from JSON
|
||||
Apier = "apiers" // from JSON
|
||||
ErsCfg = "ers" // from JSON
|
||||
|
||||
)
|
||||
|
||||
|
||||
// Strip/Padding strategy
|
||||
var (
|
||||
// common
|
||||
|
||||
Reference in New Issue
Block a user