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
7d2f784a95
commit
f4f0bf6bb8
@@ -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.RaterConnsCfg: cdrscfg.RaterConns,
|
||||
utils.AttributeSConnsCfg: cdrscfg.AttributeSConns,
|
||||
utils.ThresholdSConnsCfg: cdrscfg.ThresholdSConns,
|
||||
utils.StatSConnsCfg: cdrscfg.StatSConns,
|
||||
utils.OnlineCDRExportsCfg: cdrscfg.OnlineCDRExports,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,3 +65,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,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
@@ -268,6 +277,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
|
||||
@@ -336,6 +376,27 @@ func (fscfg *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 {
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
111
utils/consts.go
111
utils/consts.go
@@ -1691,6 +1691,117 @@ const (
|
||||
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"
|
||||
RaterConnsCfg = "rals_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"
|
||||
)
|
||||
|
||||
// Strip/Padding strategy
|
||||
var (
|
||||
// common
|
||||
|
||||
Reference in New Issue
Block a user