mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-16 05:39:54 +05:00
Adding *accountsForceUsage variables for GetBoolOpts
This commit is contained in:
committed by
Dan Christian Bogos
parent
cae468454c
commit
a05834af81
@@ -175,6 +175,7 @@ func newCGRConfig(config []byte) (cfg *CGRConfig, err error) {
|
||||
TTLMaxDelay: []*DynamicDurationOpt{{value: SessionsTTLMaxDelayDftOpt}},
|
||||
TTLUsage: []*DynamicDurationPointerOpt{},
|
||||
SessionsOriginID: []*DynamicStringOpt{},
|
||||
AccountsForceUsage: []*DynamicBoolOpt{},
|
||||
},
|
||||
},
|
||||
fsAgentCfg: new(FsAgentCfg),
|
||||
|
||||
@@ -901,6 +901,13 @@ const CGRATES_CFG_JSON = `
|
||||
// "FilterIDs": [],
|
||||
// "Value": ""
|
||||
// }
|
||||
// ],
|
||||
// "*accountsForceUsage": [
|
||||
// {
|
||||
// "Tenant": "*any",
|
||||
// "FilterIDs": [],
|
||||
// "Value": ""
|
||||
// }
|
||||
// ]
|
||||
}
|
||||
},
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -91,6 +91,7 @@ type SessionsOpts struct {
|
||||
TTLMaxDelay []*DynamicDurationOpt
|
||||
TTLUsage []*DynamicDurationPointerOpt
|
||||
SessionsOriginID []*DynamicStringOpt
|
||||
AccountsForceUsage []*DynamicBoolOpt
|
||||
}
|
||||
|
||||
// SessionSCfg is the config section for SessionS
|
||||
@@ -310,7 +311,11 @@ func (sesOpts *SessionsOpts) loadFromJSONCfg(jsnCfg *SessionsOptsJson) (err erro
|
||||
}
|
||||
sesOpts.SessionsOriginID = append(sessionsOriginID, sesOpts.SessionsOriginID...)
|
||||
}
|
||||
|
||||
if jsnCfg.AccountsForceUsage != nil {
|
||||
var accountsForceUsage []*DynamicBoolOpt
|
||||
accountsForceUsage, err = IfaceToBoolDynamicOpts(jsnCfg.AccountsForceUsage)
|
||||
sesOpts.AccountsForceUsage = append(accountsForceUsage, sesOpts.AccountsForceUsage...)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -461,6 +466,7 @@ func (scfg SessionSCfg) AsMapInterface(string) any {
|
||||
utils.MetaTTLMaxDelayCfg: scfg.Opts.TTLMaxDelay,
|
||||
utils.MetaTTLUsageCfg: scfg.Opts.TTLUsage,
|
||||
utils.MetaSessionsOriginID: scfg.Opts.SessionsOriginID,
|
||||
utils.MetaAccountsForceUsage: scfg.Opts.AccountsForceUsage,
|
||||
}
|
||||
mp := map[string]any{
|
||||
utils.EnabledCfg: scfg.Enabled,
|
||||
@@ -649,6 +655,10 @@ func (sesOpts *SessionsOpts) Clone() (cln *SessionsOpts) {
|
||||
if sesOpts.SessionsOriginID != nil {
|
||||
sID = CloneDynamicStringOpt(sesOpts.SessionsOriginID)
|
||||
}
|
||||
var accForceUsage []*DynamicBoolOpt
|
||||
if sesOpts.AccountsForceUsage != nil {
|
||||
accForceUsage = CloneDynamicBoolOpt(sesOpts.AccountsForceUsage)
|
||||
}
|
||||
return &SessionsOpts{
|
||||
Accounts: acntS,
|
||||
Attributes: attrS,
|
||||
@@ -682,6 +692,7 @@ func (sesOpts *SessionsOpts) Clone() (cln *SessionsOpts) {
|
||||
TTLMaxDelay: maxDelay,
|
||||
TTLUsage: usg,
|
||||
SessionsOriginID: sID,
|
||||
AccountsForceUsage: accForceUsage,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -869,6 +880,7 @@ type SessionsOptsJson struct {
|
||||
TTLMaxDelay []*DynamicInterfaceOpt `json:"*ttlMaxDelay"`
|
||||
TTLUsage []*DynamicInterfaceOpt `json:"*ttlUsage"`
|
||||
SessionsOriginID []*DynamicInterfaceOpt `json:"*sessionsOriginID"`
|
||||
AccountsForceUsage []*DynamicInterfaceOpt `json:"*accountsForceUsage"`
|
||||
}
|
||||
|
||||
// SessionSJsonCfg config section
|
||||
@@ -999,6 +1011,9 @@ func diffSessionsOptsJsonCfg(d *SessionsOptsJson, v1, v2 *SessionsOpts) *Session
|
||||
if !DynamicStringOptEqual(v1.SessionsOriginID, v2.SessionsOriginID) {
|
||||
d.SessionsOriginID = DynamicStringToInterfaceOpts(v2.SessionsOriginID)
|
||||
}
|
||||
if !DynamicBoolOptEqual(v1.AccountsForceUsage, v2.AccountsForceUsage) {
|
||||
d.AccountsForceUsage = BoolToIfaceDynamicOpts(v2.AccountsForceUsage)
|
||||
}
|
||||
return d
|
||||
}
|
||||
|
||||
|
||||
@@ -168,11 +168,12 @@ func TestSessionSCfgloadFromJsonCfgCase1(t *testing.T) {
|
||||
value: SessionsDebitIntervalDftOpt,
|
||||
},
|
||||
},
|
||||
TTLLastUsage: []*DynamicDurationPointerOpt{},
|
||||
TTLLastUsed: []*DynamicDurationPointerOpt{},
|
||||
TTLMaxDelay: []*DynamicDurationOpt{{value: SessionsTTLMaxDelayDftOpt}},
|
||||
TTLUsage: []*DynamicDurationPointerOpt{},
|
||||
SessionsOriginID: []*DynamicStringOpt{},
|
||||
TTLLastUsage: []*DynamicDurationPointerOpt{},
|
||||
TTLLastUsed: []*DynamicDurationPointerOpt{},
|
||||
TTLMaxDelay: []*DynamicDurationOpt{{value: SessionsTTLMaxDelayDftOpt}},
|
||||
TTLUsage: []*DynamicDurationPointerOpt{},
|
||||
SessionsOriginID: []*DynamicStringOpt{},
|
||||
AccountsForceUsage: []*DynamicBoolOpt{},
|
||||
},
|
||||
}
|
||||
jsonCfg := NewDefaultCGRConfig()
|
||||
@@ -395,6 +396,7 @@ func TestSessionSCfgloadFromJsonCfgCase10(t *testing.T) {
|
||||
DebitInterval: []*DynamicDurationOpt{{value: SessionsDebitIntervalDftOpt}},
|
||||
ForceUsage: []*DynamicBoolOpt{},
|
||||
SessionsOriginID: []*DynamicStringOpt{},
|
||||
AccountsForceUsage: []*DynamicBoolOpt{},
|
||||
TTLLastUsage: []*DynamicDurationPointerOpt{
|
||||
{
|
||||
value: utils.DurationPointer(1),
|
||||
@@ -557,6 +559,7 @@ func TestSessionSCfgAsMapInterfaceCase1(t *testing.T) {
|
||||
utils.MetaTTLUsageCfg: []*DynamicDurationPointerOpt{},
|
||||
utils.MetaForceUsageCfg: []*DynamicBoolOpt{},
|
||||
utils.MetaSessionsOriginID: []*DynamicStringOpt{},
|
||||
utils.MetaAccountsForceUsage: []*DynamicBoolOpt{},
|
||||
},
|
||||
}
|
||||
if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil {
|
||||
@@ -683,12 +686,13 @@ func TestSessionSCfgAsMapInterfaceCase2(t *testing.T) {
|
||||
value: SessionsDebitIntervalDftOpt,
|
||||
},
|
||||
},
|
||||
utils.MetaTTLLastUsageCfg: []*DynamicDurationPointerOpt{},
|
||||
utils.MetaTTLLastUsedCfg: []*DynamicDurationPointerOpt{},
|
||||
utils.MetaTTLMaxDelayCfg: []*DynamicDurationOpt{{value: SessionsTTLMaxDelayDftOpt}},
|
||||
utils.MetaTTLUsageCfg: []*DynamicDurationPointerOpt{},
|
||||
utils.MetaForceUsageCfg: []*DynamicBoolOpt{},
|
||||
utils.MetaSessionsOriginID: []*DynamicStringOpt{},
|
||||
utils.MetaTTLLastUsageCfg: []*DynamicDurationPointerOpt{},
|
||||
utils.MetaTTLLastUsedCfg: []*DynamicDurationPointerOpt{},
|
||||
utils.MetaTTLMaxDelayCfg: []*DynamicDurationOpt{{value: SessionsTTLMaxDelayDftOpt}},
|
||||
utils.MetaTTLUsageCfg: []*DynamicDurationPointerOpt{},
|
||||
utils.MetaForceUsageCfg: []*DynamicBoolOpt{},
|
||||
utils.MetaSessionsOriginID: []*DynamicStringOpt{},
|
||||
utils.MetaAccountsForceUsage: []*DynamicBoolOpt{},
|
||||
},
|
||||
}
|
||||
cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr)
|
||||
|
||||
@@ -2213,6 +2213,7 @@ const (
|
||||
MetaTTLMaxDelayCfg = "*ttlMaxDelay"
|
||||
MetaTTLUsageCfg = "*ttlUsage"
|
||||
MetaSessionsOriginID = "*sessionsOriginID"
|
||||
MetaAccountsForceUsage = "*accountsForceUsage"
|
||||
|
||||
// AnalyzerSCfg
|
||||
CleanupIntervalCfg = "cleanup_interval"
|
||||
|
||||
Reference in New Issue
Block a user