mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-14 12:49:54 +05:00
Updated sessions and cdrs flag handling
This commit is contained in:
committed by
Dan Christian Bogos
parent
fe6ef76f80
commit
f801d747e2
@@ -254,14 +254,14 @@ func maxDebitAbstractsFromConcretes(ctx *context.Context, aUnits *decimal.Big,
|
||||
if calculateCost {
|
||||
var rplyCost *utils.RateProfileCost
|
||||
cgrEv.APIOpts[utils.OptsRatesIntervalStart] = dbtedAUnts
|
||||
cgrEv.APIOpts[utils.OptsAccountsUsage] = aUnits
|
||||
cgrEv.APIOpts[utils.OptsRatesUsage] = aUnits
|
||||
if rplyCost, err = rateSCostForEvent(ctx, connMgr, cgrEv, rateSConns, rpIDs); err != nil {
|
||||
err = utils.NewErrRateS(err)
|
||||
return
|
||||
}
|
||||
// cleanup the opts
|
||||
delete(cgrEv.APIOpts, utils.OptsRatesIntervalStart)
|
||||
delete(cgrEv.APIOpts, utils.OptsAccountsUsage)
|
||||
delete(cgrEv.APIOpts, utils.OptsRatesUsage)
|
||||
costIcrm = costIcrm.Clone() // so we don't modify the original
|
||||
costIcrm.FixedFee = rplyCost.Cost
|
||||
}
|
||||
|
||||
@@ -192,10 +192,7 @@ func (aS *ActionS) matchingActionProfilesForEvent(ctx *context.Context, tnt stri
|
||||
func (aS *ActionS) scheduledActions(ctx *context.Context, tnt string, cgrEv *utils.CGREvent, aPrflIDs []string,
|
||||
forceASAP bool) (schedActs []*scheduledActs, err error) {
|
||||
var aPfs engine.ActionProfiles
|
||||
evNm := utils.MapStorage{
|
||||
utils.MetaReq: cgrEv.Event,
|
||||
utils.MetaOpts: cgrEv.APIOpts,
|
||||
}
|
||||
evNm := cgrEv.AsDataProvider()
|
||||
if aPfs, err = aS.matchingActionProfilesForEvent(ctx, tnt, evNm, aPrflIDs); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ func (cdrS *CDRServer) attrSProcessEvent(ctx *context.Context, cgrEv *utils.CGRE
|
||||
|
||||
// rateSProcessEvent will send the event to rateS and attach the cost received back to event
|
||||
func (cdrS *CDRServer) rateSCostForEvent(ctx *context.Context, cgrEv *utils.CGREvent) (err error) {
|
||||
rpCost := new(utils.RateProfileCost)
|
||||
var rpCost utils.RateProfileCost
|
||||
if err = cdrS.connMgr.Call(ctx, cdrS.cfg.CdrsCfg().RateSConns,
|
||||
utils.RateSv1CostForEvent,
|
||||
cgrEv, &rpCost); err != nil {
|
||||
@@ -313,14 +313,13 @@ func (cdrS *CDRServer) V1ProcessEvent(ctx *context.Context, arg *utils.CGREvent,
|
||||
// end of RPC caching
|
||||
|
||||
// processing options
|
||||
attrS := utils.OptAsBoolOrDef(arg.APIOpts, utils.OptsAttributeS, len(cdrS.cfg.CdrsCfg().AttributeSConns) != 0)
|
||||
export := utils.OptAsBoolOrDef(arg.APIOpts, utils.OptsCDRsExport, len(cdrS.cfg.CdrsCfg().OnlineCDRExports) != 0 ||
|
||||
len(cdrS.cfg.CdrsCfg().EEsConns) != 0)
|
||||
thdS := utils.OptAsBoolOrDef(arg.APIOpts, utils.OptsThresholdS, len(cdrS.cfg.CdrsCfg().ThresholdSConns) != 0)
|
||||
stS := utils.OptAsBoolOrDef(arg.APIOpts, utils.OptsStatS, len(cdrS.cfg.CdrsCfg().ThresholdSConns) != 0)
|
||||
chrgS := utils.OptAsBoolOrDef(arg.APIOpts, utils.OptsChargerS, len(cdrS.cfg.CdrsCfg().ThresholdSConns) != 0)
|
||||
rateS := utils.OptAsBoolOrDef(arg.APIOpts, utils.OptsRateS, len(cdrS.cfg.CdrsCfg().RateSConns) != 0)
|
||||
acntS := utils.OptAsBoolOrDef(arg.APIOpts, utils.OptsAccountS, len(cdrS.cfg.CdrsCfg().AccountSConns) != 0)
|
||||
attrS := utils.OptAsBoolOrDef(arg.APIOpts, utils.OptsAttributeS, false)
|
||||
export := utils.OptAsBoolOrDef(arg.APIOpts, utils.OptsCDRsExport, false)
|
||||
thdS := utils.OptAsBoolOrDef(arg.APIOpts, utils.OptsThresholdS, false)
|
||||
stS := utils.OptAsBoolOrDef(arg.APIOpts, utils.OptsStatS, false)
|
||||
chrgS := utils.OptAsBoolOrDef(arg.APIOpts, utils.OptsChargerS, false)
|
||||
rateS := utils.OptAsBoolOrDef(arg.APIOpts, utils.OptsRateS, false)
|
||||
acntS := utils.OptAsBoolOrDef(arg.APIOpts, utils.OptsAccountS, false)
|
||||
|
||||
// end of processing options
|
||||
|
||||
|
||||
@@ -1565,7 +1565,7 @@ func (sS *SessionS) BiRPCv1AuthorizeEvent(ctx *context.Context,
|
||||
}
|
||||
// end of RPC caching
|
||||
if !(args.GetAttributes || utils.OptAsBool(args.APIOpts, utils.OptsAttributeS) ||
|
||||
args.GetMaxUsage || utils.OptAsBool(args.APIOpts, utils.OptsSesMaxUsage) ||
|
||||
utils.OptAsBool(args.APIOpts, utils.OptsSesMaxUsage) ||
|
||||
args.AuthorizeResources || utils.OptAsBool(args.APIOpts, utils.OptsSesResourceSAuthorize) ||
|
||||
args.GetRoutes || utils.OptAsBool(args.APIOpts, utils.OptsRouteS)) {
|
||||
return // Nothing to do
|
||||
@@ -1590,8 +1590,8 @@ func (sS *SessionS) BiRPCv1AuthorizeEvent(ctx *context.Context,
|
||||
}
|
||||
}
|
||||
runEvents := make(map[string]*utils.CGREvent)
|
||||
if args.GetMaxUsage || // backwards compatibility
|
||||
utils.OptAsBool(args.APIOpts, utils.OptsChargerS) {
|
||||
|
||||
if utils.OptAsBool(args.APIOpts, utils.OptsChargerS) {
|
||||
var chrgrs []*engine.ChrgSProcessEventReply
|
||||
if chrgrs, err = sS.processChargerS(ctx, args.CGREvent); err != nil {
|
||||
return
|
||||
@@ -1602,8 +1602,7 @@ func (sS *SessionS) BiRPCv1AuthorizeEvent(ctx *context.Context,
|
||||
} else {
|
||||
runEvents[utils.MetaRaw] = args.CGREvent
|
||||
}
|
||||
if args.GetMaxUsage || // backwards compatibility
|
||||
utils.OptAsBool(args.APIOpts, utils.OptsAccountS) {
|
||||
if utils.OptAsBool(args.APIOpts, utils.OptsAccountS) {
|
||||
var maxAbstracts map[string]*utils.Decimal
|
||||
if maxAbstracts, err = sS.accounSMaxAbstracts(ctx, runEvents); err != nil {
|
||||
return err
|
||||
@@ -1699,8 +1698,7 @@ func (sS *SessionS) BiRPCv1AuthorizeEventWithDigest(ctx *context.Context,
|
||||
utils.OptAsBool(args.APIOpts, utils.OptsSesResourceSAuthorize) {
|
||||
authReply.ResourceAllocation = initAuthRply.ResourceAllocation
|
||||
}
|
||||
if args.GetMaxUsage ||
|
||||
utils.OptAsBool(args.APIOpts, utils.OptsAccountS) {
|
||||
if utils.OptAsBool(args.APIOpts, utils.OptsAccountS) {
|
||||
maxDur, _ := initAuthRply.MaxUsage.Duration()
|
||||
authReply.MaxUsage = maxDur.Seconds()
|
||||
}
|
||||
|
||||
@@ -155,7 +155,7 @@ func (ev *CGREvent) Clone() (clned *CGREvent) {
|
||||
}
|
||||
|
||||
// AsDataProvider returns the CGREvent as MapStorage with *opts and *req paths set
|
||||
func (cgrEv *CGREvent) AsDataProvider() (ev DataProvider) {
|
||||
func (cgrEv *CGREvent) AsDataProvider() (ev MapStorage) {
|
||||
return MapStorage{
|
||||
MetaOpts: cgrEv.APIOpts,
|
||||
MetaReq: cgrEv.Event,
|
||||
|
||||
Reference in New Issue
Block a user