mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-16 21:59:53 +05:00
Remove unused methods
This commit is contained in:
committed by
Dan Christian Bogos
parent
7f715fa421
commit
e47a3536c5
132
engine/cdr.go
132
engine/cdr.go
@@ -71,17 +71,6 @@ func NewCDRFromExternalCDR(extCdr *ExternalCDR, timezone string) (*CDR, error) {
|
||||
return cdr, nil
|
||||
}
|
||||
|
||||
func NewCDRWithDefaults(cfg *config.CGRConfig) *CDR {
|
||||
return &CDR{
|
||||
ToR: utils.VOICE,
|
||||
RequestType: cfg.GeneralCfg().DefaultReqType,
|
||||
Tenant: cfg.GeneralCfg().DefaultTenant,
|
||||
Category: cfg.GeneralCfg().DefaultCategory,
|
||||
ExtraFields: make(map[string]string),
|
||||
Cost: -1,
|
||||
}
|
||||
}
|
||||
|
||||
type CDR struct {
|
||||
CGRID string
|
||||
RunID string
|
||||
@@ -427,36 +416,6 @@ func (cdr *CDR) AsExportRecord(exportFields []*config.FCTemplate,
|
||||
return expRecord, nil
|
||||
}
|
||||
|
||||
// AsExportMap converts the CDR into a map[string]string based on export template
|
||||
// Used in real-time replication as well as remote exports
|
||||
func (cdr *CDR) AsExportMap(exportFields []*config.FCTemplate, httpSkipTLSCheck bool,
|
||||
groupedCDRs []*CDR, filterS *FilterS) (expMap map[string]string, err error) {
|
||||
expMap = make(map[string]string)
|
||||
nM := utils.MapStorage{
|
||||
utils.MetaReq: cdr.AsMapStringIface(),
|
||||
utils.MetaEC: cdr.CostDetails,
|
||||
}
|
||||
for _, cfgFld := range exportFields {
|
||||
if !strings.HasPrefix(cfgFld.Path, utils.MetaExp+utils.NestingSep) {
|
||||
continue
|
||||
}
|
||||
if pass, err := filterS.Pass(cdr.Tenant,
|
||||
cfgFld.Filters, nM); err != nil {
|
||||
return nil, err
|
||||
} else if !pass {
|
||||
continue
|
||||
}
|
||||
var fmtOut string
|
||||
if fmtOut, err = cdr.formatField(cfgFld, httpSkipTLSCheck, groupedCDRs, filterS); err != nil {
|
||||
utils.Logger.Warning(fmt.Sprintf("<CDR> error: %s exporting field: %s, CDR: %s\n",
|
||||
err.Error(), utils.ToJSON(cfgFld), utils.ToJSON(cdr)))
|
||||
return nil, err
|
||||
}
|
||||
expMap[strings.TrimPrefix(cfgFld.Path, utils.MetaExp+utils.NestingSep)] += fmtOut
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// AsCDRsql converts the CDR into the format used for SQL storage
|
||||
func (cdr *CDR) AsCDRsql() (cdrSQL *CDRsql) {
|
||||
cdrSQL = new(CDRsql)
|
||||
@@ -492,75 +451,6 @@ func (cdr *CDR) AsCGREvent() *utils.CGREvent {
|
||||
}
|
||||
}
|
||||
|
||||
// UpdateFromCGREvent will update CDR with event fields from CGREvent
|
||||
func (cdr *CDR) UpdateFromCGREvent(cgrEv *utils.CGREvent, fields []string) (err error) {
|
||||
for _, fldName := range fields {
|
||||
fldName = strings.TrimPrefix(fldName, utils.MetaReq+utils.NestingSep)
|
||||
if _, has := cgrEv.Event[fldName]; !has {
|
||||
continue //maybe removed
|
||||
}
|
||||
switch fldName {
|
||||
case utils.OriginHost:
|
||||
if cdr.OriginHost, err = cgrEv.FieldAsString(fldName); err != nil {
|
||||
return
|
||||
}
|
||||
case utils.Source:
|
||||
if cdr.Source, err = cgrEv.FieldAsString(fldName); err != nil {
|
||||
return
|
||||
}
|
||||
case utils.ToR:
|
||||
if cdr.ToR, err = cgrEv.FieldAsString(fldName); err != nil {
|
||||
return
|
||||
}
|
||||
case utils.RequestType:
|
||||
if cdr.RequestType, err = cgrEv.FieldAsString(fldName); err != nil {
|
||||
return
|
||||
}
|
||||
case utils.Tenant:
|
||||
if cdr.Tenant, err = cgrEv.FieldAsString(fldName); err != nil {
|
||||
return
|
||||
}
|
||||
case utils.Category:
|
||||
if cdr.Category, err = cgrEv.FieldAsString(fldName); err != nil {
|
||||
return
|
||||
}
|
||||
case utils.Account:
|
||||
if cdr.Account, err = cgrEv.FieldAsString(fldName); err != nil {
|
||||
return
|
||||
}
|
||||
case utils.Subject:
|
||||
if cdr.Subject, err = cgrEv.FieldAsString(fldName); err != nil {
|
||||
return
|
||||
}
|
||||
case utils.Destination:
|
||||
if cdr.Destination, err = cgrEv.FieldAsString(fldName); err != nil {
|
||||
return
|
||||
}
|
||||
case utils.SetupTime:
|
||||
if cdr.SetupTime, err = cgrEv.FieldAsTime(fldName,
|
||||
config.CgrConfig().GeneralCfg().DefaultTimezone); err != nil {
|
||||
return
|
||||
}
|
||||
case utils.AnswerTime:
|
||||
if cdr.AnswerTime, err = cgrEv.FieldAsTime(fldName,
|
||||
config.CgrConfig().GeneralCfg().DefaultTimezone); err != nil {
|
||||
return
|
||||
}
|
||||
case utils.Usage:
|
||||
if cdr.Usage, err = cgrEv.FieldAsDuration(fldName); err != nil {
|
||||
return
|
||||
}
|
||||
default:
|
||||
var fldVal string
|
||||
if fldVal, err = cgrEv.FieldAsString(fldName); err != nil {
|
||||
return
|
||||
}
|
||||
cdr.ExtraFields[fldName] = fldVal
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// NewCDRFromSQL converts the CDRsql into CDR
|
||||
func NewCDRFromSQL(cdrSQL *CDRsql) (cdr *CDR, err error) {
|
||||
cdr = new(CDR)
|
||||
@@ -636,28 +526,6 @@ type UsageRecord struct {
|
||||
ExtraFields map[string]string
|
||||
}
|
||||
|
||||
func (self *UsageRecord) AsCDR(timezone string) (*CDR, error) {
|
||||
var err error
|
||||
cdr := &CDR{CGRID: self.GetId(), ToR: self.ToR, RequestType: self.RequestType, Tenant: self.Tenant,
|
||||
Category: self.Category, Account: self.Account, Subject: self.Subject, Destination: self.Destination}
|
||||
if cdr.SetupTime, err = utils.ParseTimeDetectLayout(self.SetupTime, timezone); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if cdr.AnswerTime, err = utils.ParseTimeDetectLayout(self.AnswerTime, timezone); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if cdr.Usage, err = utils.ParseDurationWithNanosecs(self.Usage); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if self.ExtraFields != nil {
|
||||
cdr.ExtraFields = make(map[string]string)
|
||||
}
|
||||
for k, v := range self.ExtraFields {
|
||||
cdr.ExtraFields[k] = v
|
||||
}
|
||||
return cdr, nil
|
||||
}
|
||||
|
||||
func (self *UsageRecord) AsCallDescriptor(timezone string, denyNegative bool) (*CallDescriptor, error) {
|
||||
var err error
|
||||
cd := &CallDescriptor{
|
||||
|
||||
@@ -410,25 +410,6 @@ func TestCDRAsExternalCDR(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TesUsageReqAsCDR(t *testing.T) {
|
||||
setupReq := &UsageRecord{ToR: utils.VOICE, RequestType: utils.META_RATED,
|
||||
Tenant: "cgrates.org", Category: "call",
|
||||
Account: "1001", Subject: "1001", Destination: "1002",
|
||||
SetupTime: "2013-11-07T08:42:20Z", AnswerTime: "2013-11-07T08:42:26Z",
|
||||
Usage: "0.00000001"}
|
||||
eStorCdr := &CDR{ToR: utils.VOICE, RequestType: utils.META_RATED,
|
||||
Tenant: "cgrates.org", Category: "call", Account: "1001",
|
||||
Subject: "1001", Destination: "1002",
|
||||
SetupTime: time.Date(2013, 11, 7, 8, 42, 20, 0, time.UTC),
|
||||
AnswerTime: time.Date(2013, 11, 7, 8, 42, 26, 0, time.UTC),
|
||||
Usage: time.Duration(10)}
|
||||
if CDR, err := setupReq.AsCDR(""); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eStorCdr, CDR) {
|
||||
t.Errorf("Expected: %+v, received: %+v", eStorCdr, CDR)
|
||||
}
|
||||
}
|
||||
|
||||
func TestUsageReqAsCD(t *testing.T) {
|
||||
req := &UsageRecord{ToR: utils.VOICE, RequestType: utils.META_RATED,
|
||||
Tenant: "cgrates.org", Category: "call",
|
||||
@@ -843,37 +824,6 @@ func TestCDRAsExportRecord(t *testing.T) {
|
||||
|
||||
}
|
||||
|
||||
func TestCDRAsExportMap(t *testing.T) {
|
||||
cdr := &CDR{CGRID: utils.Sha1("dsafdsaf", time.Date(2013, 11, 7, 8, 42, 26, 0, time.UTC).String()),
|
||||
OrderID: 123, ToR: utils.VOICE, OriginID: "dsafdsaf",
|
||||
OriginHost: "192.168.1.1", Source: utils.UNIT_TEST, RequestType: utils.META_RATED,
|
||||
Tenant: "cgrates.org", Category: "call", Account: "1001",
|
||||
Subject: "1001", Destination: "+4986517174963",
|
||||
SetupTime: time.Date(2013, 11, 7, 8, 42, 20, 0, time.UTC),
|
||||
AnswerTime: time.Date(2013, 11, 7, 8, 42, 26, 0, time.UTC), RunID: utils.MetaDefault,
|
||||
Usage: time.Duration(10) * time.Second, Cost: 1.01,
|
||||
ExtraFields: map[string]string{"field_extr1": "val_extr1", "fieldextr2": "valextr2"},
|
||||
}
|
||||
eCDRMp := map[string]string{
|
||||
utils.CGRID: cdr.CGRID,
|
||||
utils.Destination: "004986517174963",
|
||||
"FieldExtra1": "val_extr1",
|
||||
}
|
||||
expFlds := []*config.FCTemplate{
|
||||
&config.FCTemplate{Path: utils.MetaExp + utils.NestingSep + utils.CGRID, Type: utils.META_COMPOSED,
|
||||
Value: config.NewRSRParsersMustCompile(utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+utils.CGRID, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Path: utils.MetaExp + utils.NestingSep + utils.Destination, Type: utils.META_COMPOSED,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.Destination:s/^\\+(\\d+)$/00${1}/", utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Path: utils.MetaExp + utils.NestingSep + "FieldExtra1", Type: utils.META_COMPOSED,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.field_extr1", utils.INFIELD_SEP)},
|
||||
}
|
||||
if cdrMp, err := cdr.AsExportMap(expFlds, false, nil, nil); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCDRMp, cdrMp) {
|
||||
t.Errorf("Expecting: %+v, received: %+v", eCDRMp, cdrMp)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCDRAsCDRsql(t *testing.T) {
|
||||
cdr := &CDR{CGRID: utils.Sha1("dsafdsaf", time.Date(2013, 11, 7, 8, 42, 26, 0, time.UTC).String()),
|
||||
OrderID: 123,
|
||||
@@ -1037,85 +987,6 @@ func TestCDRAsCGREvent(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestCDRUpdateFromCGREvent(t *testing.T) {
|
||||
cdr := &CDR{
|
||||
CGRID: utils.Sha1("dsafdsaf", time.Date(2013, 11, 7, 8, 42, 26, 0, time.UTC).String()),
|
||||
OrderID: 123,
|
||||
ToR: utils.VOICE,
|
||||
OriginID: "dsafdsaf",
|
||||
OriginHost: "192.168.1.1",
|
||||
Source: utils.UNIT_TEST,
|
||||
RequestType: utils.META_RATED,
|
||||
Tenant: "cgrates.org",
|
||||
Category: "call",
|
||||
Account: "1001",
|
||||
Subject: "1001",
|
||||
Destination: "+4986517174963",
|
||||
SetupTime: time.Date(2013, 11, 7, 8, 42, 20, 0, time.UTC),
|
||||
AnswerTime: time.Date(2013, 11, 7, 8, 42, 26, 0, time.UTC),
|
||||
RunID: utils.MetaDefault,
|
||||
Usage: time.Duration(10) * time.Second,
|
||||
Cost: 1.01,
|
||||
ExtraFields: map[string]string{"field_extr1": "val_extr1", "fieldextr2": "valextr2"},
|
||||
}
|
||||
var costdetails *CallCost
|
||||
cgrEvent := &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "GenePreRated",
|
||||
Event: map[string]interface{}{
|
||||
"Account": "1001",
|
||||
"AnswerTime": time.Date(2013, 11, 7, 8, 42, 26, 0, time.UTC),
|
||||
"CGRID": cdr.CGRID,
|
||||
"Category": "call",
|
||||
"Cost": 1.01,
|
||||
"CostDetails": costdetails,
|
||||
"CostSource": "",
|
||||
"Destination": "+4986517174963",
|
||||
"ExtraInfo": "",
|
||||
"OrderID": int64(123),
|
||||
"OriginHost": "192.168.1.2",
|
||||
"OriginID": "dsafdsaf",
|
||||
"Partial": false,
|
||||
"RequestType": "*PreRated",
|
||||
"RunID": utils.MetaDefault,
|
||||
"SetupTime": time.Date(2013, 11, 7, 8, 42, 23, 0, time.UTC),
|
||||
"Source": "UNIT_TEST",
|
||||
"Subject": "1001",
|
||||
"Tenant": "cgrates.org",
|
||||
"ToR": "*voice",
|
||||
"Usage": time.Duration(13) * time.Second,
|
||||
"field_extr1": "val_extr1",
|
||||
"fieldextr2": "valextr2",
|
||||
"PreRated": false,
|
||||
},
|
||||
}
|
||||
eCDR := &CDR{
|
||||
CGRID: cdr.CGRID,
|
||||
OrderID: 123,
|
||||
ToR: utils.VOICE,
|
||||
OriginID: "dsafdsaf",
|
||||
OriginHost: "192.168.1.2",
|
||||
Source: utils.UNIT_TEST,
|
||||
RequestType: utils.META_RATED,
|
||||
Tenant: "cgrates.org",
|
||||
Category: "call",
|
||||
Account: "1001",
|
||||
Subject: "1001",
|
||||
Destination: "+4986517174963",
|
||||
SetupTime: time.Date(2013, 11, 7, 8, 42, 23, 0, time.UTC),
|
||||
AnswerTime: time.Date(2013, 11, 7, 8, 42, 26, 0, time.UTC),
|
||||
RunID: utils.MetaDefault,
|
||||
Usage: time.Duration(13) * time.Second,
|
||||
Cost: 1.01,
|
||||
ExtraFields: map[string]string{"field_extr1": "val_extr1", "fieldextr2": "valextr2"},
|
||||
}
|
||||
if err := cdr.UpdateFromCGREvent(cgrEvent, []string{"OriginHost", "SetupTime", "Usage"}); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(cdr, eCDR) {
|
||||
t.Errorf("Expecting: %+v, received: %+v", cdr, eCDR)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCDRAddDefaults(t *testing.T) {
|
||||
cdr := &CDR{
|
||||
OriginID: "dsafdsaf",
|
||||
|
||||
Reference in New Issue
Block a user