mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-20 06:38:45 +05:00
CDR filter on OriginIDs
This commit is contained in:
committed by
Dan Christian Bogos
parent
537b0241df
commit
6e384d0dea
@@ -526,6 +526,13 @@ func testGetCDRs(cfg *config.CGRConfig) error {
|
||||
} else if len(CDRs) != 5 {
|
||||
return fmt.Errorf("testGetCDRs #23, unexpected number of CDRs returned: %+v", CDRs)
|
||||
}
|
||||
// Filter on OriginID
|
||||
if CDRs, _, err := cdrStorage.GetCDRs(&utils.CDRsFilter{OriginIDs: []string{
|
||||
"testevent1", "testevent3"}}, false); err != nil {
|
||||
return fmt.Errorf("testGetCDRs #22 err: %v", err)
|
||||
} else if len(CDRs) != 5 {
|
||||
return fmt.Errorf("testGetCDRs #23, unexpected number of CDRs returned: %+v", CDRs)
|
||||
}
|
||||
// Filter on TOR
|
||||
if CDRs, _, err := cdrStorage.GetCDRs(&utils.CDRsFilter{ToRs: []string{utils.SMS}}, false); err != nil {
|
||||
return fmt.Errorf("testGetCDRs #23 err: %v", err)
|
||||
|
||||
@@ -1004,6 +1004,7 @@ func (ms *MongoStorage) GetCDRs(qryFltr *utils.CDRsFilter, remove bool) ([]*CDR,
|
||||
filters := bson.M{
|
||||
CGRIDLow: bson.M{"$in": qryFltr.CGRIDs, "$nin": qryFltr.NotCGRIDs},
|
||||
RunIDLow: bson.M{"$in": qryFltr.RunIDs, "$nin": qryFltr.NotRunIDs},
|
||||
OriginIDLow: bson.M{"$in": qryFltr.OriginIDs, "$nin": qryFltr.NotOriginIDs},
|
||||
OrderIDLow: bson.M{"$gte": qryFltr.OrderIDStart, "$lt": qryFltr.OrderIDEnd},
|
||||
ToRLow: bson.M{"$in": qryFltr.ToRs, "$nin": qryFltr.NotToRs},
|
||||
CDRHostLow: bson.M{"$in": qryFltr.OriginHosts, "$nin": qryFltr.NotOriginHosts},
|
||||
|
||||
@@ -868,6 +868,12 @@ func (self *SQLStorage) GetCDRs(qryFltr *utils.CDRsFilter, remove bool) ([]*CDR,
|
||||
if len(qryFltr.NotRunIDs) != 0 {
|
||||
q = q.Where("run_id not in (?)", qryFltr.NotRunIDs)
|
||||
}
|
||||
if len(qryFltr.OriginIDs) != 0 {
|
||||
q = q.Where("origin_id in (?)", qryFltr.OriginIDs)
|
||||
}
|
||||
if len(qryFltr.NotOriginIDs) != 0 {
|
||||
q = q.Where("origin_id not in (?)", qryFltr.NotOriginIDs)
|
||||
}
|
||||
if len(qryFltr.ToRs) != 0 {
|
||||
q = q.Where("tor in (?)", qryFltr.ToRs)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user