Properly defining filter prefixes for *combimed export

This commit is contained in:
DanB
2023-06-28 12:58:23 +02:00
parent 3c9f57ce7d
commit 6c007c3bd3
2 changed files with 4 additions and 5 deletions

View File

@@ -305,13 +305,12 @@ func (cdr *CDR) String() string {
// combimedCdrFieldVal groups together CDRs with same CGRID and combines their values matching filter field ID
func (cdr *CDR) combimedCdrFieldVal(cfgCdrFld *config.FCTemplate, groupCDRs []*CDR, filterS *FilterS) (string, error) {
var combimedVal string // Will result as combination of the field values, filters must match
cmbReqMp := cdr.AsMapStorage()[utils.MetaReq]
fltrMp := cdr.AsMapStorage()
for _, grpCDR := range groupCDRs {
if cdr.CGRID != grpCDR.CGRID {
continue // We only care about cdrs with same primary cdr behind
}
fltrMp := grpCDR.AsMapStorage()
fltrMp[utils.MetaCmedReq] = cmbReqMp // so we can relate in filters
fltrMp[utils.MetaCmedReq] = grpCDR.AsMapStorage()[utils.MetaReq] // so we can relate in filters
if pass, err := filterS.Pass(grpCDR.Tenant, cfgCdrFld.Filters, fltrMp); err != nil {
return utils.EmptyString, err
} else if !pass {

View File

@@ -1454,7 +1454,7 @@ func TestCDRcombimedCdrFieldVal(t *testing.T) {
tpFld := &config.FCTemplate{
Tag: "TestCombiMed",
Type: utils.META_COMBIMED,
Filters: []string{"*string:~*cmedreq.RunID:*default", "*string:~*req.RunID:testRun1"},
Filters: []string{"*string:~*req.RunID:*default", "*string:~*cmedreq.RunID:testRun1"},
Value: config.NewRSRParsersMustCompile("~*req.Cost", true, utils.INFIELD_SEP),
}
cfg, err := config.NewDefaultCGRConfig()
@@ -1471,7 +1471,7 @@ func TestCDRcombimedCdrFieldVal(t *testing.T) {
tpFld = &config.FCTemplate{
Tag: "TestCombiMedFail",
Type: utils.META_COMBIMED,
Filters: []string{"*string:~*cmedreq.RunID:*notdefault", "*string:~*req.RunID:testRun1"},
Filters: []string{"*string:~*req.RunID:*notdefault", "*string:~*cmedreq.RunID:testRun1"},
Value: config.NewRSRParsersMustCompile("~*req.Cost", true, utils.INFIELD_SEP),
}
cfg, err = config.NewDefaultCGRConfig()