Disable AttributeS processing from within ChargerS config via *none

This commit is contained in:
DanB
2018-08-26 11:55:36 +02:00
parent 23aa8f243c
commit 431c21991a
2 changed files with 20 additions and 19 deletions

View File

@@ -1,3 +1,3 @@
#Tenant,ID,FilterIDs,ActivationInterval,RunID,AttributeIDs,Weight
cgrates.org,CustomerCharges,,,CustomerCharges,,20
cgrates.org,CustomerCharges,,,CustomerCharges,*none,20
cgrates.org,SupplierCharges,,,SupplierCharges,ATTR_SUPPLIER1,10
1 #Tenant ID FilterIDs ActivationInterval RunID AttributeIDs Weight
2 cgrates.org CustomerCharges CustomerCharges *none 20
3 cgrates.org SupplierCharges SupplierCharges ATTR_SUPPLIER1 10

View File

@@ -117,24 +117,25 @@ func (cS *ChargerService) processEvent(cgrEv *utils.CGREvent) (rply []*ChrgSProc
ChargerSProfile: cP.ID,
CGREvent: clonedEv,
}
if len(cP.AttributeIDs) != 0 { // Attributes should process the event
if cS.attrS == nil {
return nil, errors.New("no connection to AttributeS")
}
if clonedEv.Context == nil {
clonedEv.Context = utils.StringPointer(utils.MetaChargers)
}
var evReply AttrSProcessEventReply
if err = cS.attrS.Call(utils.AttributeSv1ProcessEvent,
&AttrArgsProcessEvent{cP.AttributeIDs, nil, *clonedEv},
&evReply); err != nil {
return nil, err
}
rply[i].AttributeSProfiles = evReply.MatchedProfiles
rply[i].AlteredFields = evReply.AlteredFields
if len(evReply.AlteredFields) != 0 {
rply[i].CGREvent = evReply.CGREvent
}
if len(cP.AttributeIDs) == 1 && cP.AttributeIDs[0] == utils.META_NONE {
continue // AttributeS disabled
}
if cS.attrS == nil {
return nil, errors.New("no connection to AttributeS")
}
if clonedEv.Context == nil {
clonedEv.Context = utils.StringPointer(utils.MetaChargers)
}
var evReply AttrSProcessEventReply
if err = cS.attrS.Call(utils.AttributeSv1ProcessEvent,
&AttrArgsProcessEvent{cP.AttributeIDs, nil, *clonedEv},
&evReply); err != nil {
return nil, err
}
rply[i].AttributeSProfiles = evReply.MatchedProfiles
rply[i].AlteredFields = evReply.AlteredFields
if len(evReply.AlteredFields) != 0 {
rply[i].CGREvent = evReply.CGREvent
}
}
return