From 44e2effbf07afc5608345a694cbbf6da76d12387 Mon Sep 17 00:00:00 2001 From: Trial97 Date: Fri, 18 Jan 2019 11:27:27 +0200 Subject: [PATCH] Merged utils.PrimaryCdrFields and utils.NotExtraCDRFields in utils.MainCDRFields --- apier/v1/tpresources.go | 2 +- engine/cgrcdr.go | 5 +++-- engine/mapevent.go | 4 ++-- sessions/session.go | 2 +- sessions/sessions.go | 2 +- utils/consts.go | 12 ++++++------ 6 files changed, 14 insertions(+), 13 deletions(-) diff --git a/apier/v1/tpresources.go b/apier/v1/tpresources.go index d8c1eb742..3825c6e24 100644 --- a/apier/v1/tpresources.go +++ b/apier/v1/tpresources.go @@ -57,7 +57,7 @@ type AttrGetTPResourceIds struct { // Queries Resource identities on specific tariff plan. func (self *ApierV1) GetTPResourceIDs(attrs *AttrGetTPResourceIds, reply *[]string) error { - if missing := utils.MissingStructFields(&attrs, []string{"TPid"}); len(missing) != 0 { //Params missing + if missing := utils.MissingStructFields(attrs, []string{"TPid"}); len(missing) != 0 { //Params missing return utils.NewErrMandatoryIeMissing(missing...) } if ids, err := self.StorDb.GetTpTableIds(attrs.TPid, utils.TBLTPResources, utils.TPDistinctIds{"id"}, nil, &attrs.Paginator); err != nil { diff --git a/engine/cgrcdr.go b/engine/cgrcdr.go index 3be95d49c..5f4c37b02 100644 --- a/engine/cgrcdr.go +++ b/engine/cgrcdr.go @@ -19,9 +19,10 @@ along with this program. If not, see package engine import ( - "github.com/cgrates/cgrates/utils" "net/http" "strconv" + + "github.com/cgrates/cgrates/utils" ) func NewCgrCdrFromHttpReq(req *http.Request, timezone string) (CgrCdr, error) { @@ -51,7 +52,7 @@ func (cgrCdr CgrCdr) getCGRID(timezone string) string { func (cgrCdr CgrCdr) getExtraFields() map[string]string { extraFields := make(map[string]string) for k, v := range cgrCdr { - if !utils.IsSliceMember(utils.PrimaryCdrFields, k) { + if _, has := utils.MainCDRFieldsMap[k]; !has { extraFields[k] = v } } diff --git a/engine/mapevent.go b/engine/mapevent.go index f8fdf2904..684be871c 100644 --- a/engine/mapevent.go +++ b/engine/mapevent.go @@ -159,8 +159,8 @@ func (me MapEvent) AsMapStringIgnoreErrors(ignoredFlds utils.StringMap) (mp map[ func (me MapEvent) AsCDR(cfg *config.CGRConfig, tnt, tmz string) (cdr *CDR, err error) { cdr = &CDR{Tenant: tnt, Cost: -1.0, ExtraFields: make(map[string]string)} for k, v := range me { - if !utils.IsSliceMember(utils.NotExtraCDRFields, k) { // not primary field, populate extra ones - utils.Logger.Debug(fmt.Sprintf("field <%s> as extra since is not present in %s", k, utils.ToJSON(utils.NotExtraCDRFields))) + if _, has := utils.MainCDRFieldsMap[k]; !has { // not primary field, populate extra ones + utils.Logger.Debug(fmt.Sprintf("field <%s> as extra since is not present in %s", k, utils.ToJSON(utils.MainCDRFields))) if cdr.ExtraFields[k], err = utils.IfaceAsString(v); err != nil { return nil, err } diff --git a/sessions/session.go b/sessions/session.go index aae7481ee..77bb1ceef 100644 --- a/sessions/session.go +++ b/sessions/session.go @@ -317,7 +317,7 @@ func (self *SMGSession) AsActiveSession(timezone string) *ActiveSession { SetupTime: self.EventStart.GetTimeIgnoreErrors(utils.SetupTime, self.Timezone), AnswerTime: self.EventStart.GetTimeIgnoreErrors(utils.AnswerTime, self.Timezone), Usage: self.TotalUsage, - ExtraFields: self.EventStart.AsMapStringIgnoreErrors(utils.NewStringMap(utils.PrimaryCdrFields...)), + ExtraFields: self.EventStart.AsMapStringIgnoreErrors(utils.MainCDRFieldsMap), SMId: "CGR-DA", } if self.CD != nil { diff --git a/sessions/sessions.go b/sessions/sessions.go index 45cbaa2ea..b74279b7a 100644 --- a/sessions/sessions.go +++ b/sessions/sessions.go @@ -594,7 +594,7 @@ func (smg *SMGeneric) v2ForkSessions(tnt string, evStart *engine.SafEvent, Destination: evStart.GetStringIgnoreErrors(utils.Destination), TimeStart: startTime, TimeEnd: startTime.Add(evStart.GetDurationIgnoreErrors(utils.Usage)), - ExtraFields: evStart.AsMapStringIgnoreErrors(utils.NewStringMap(utils.PrimaryCdrFields...)), + ExtraFields: evStart.AsMapStringIgnoreErrors(utils.MainCDRFieldsMap), } ss = append(ss, &SMGSession{CGRID: cgrID, Tenant: tnt, diff --git a/utils/consts.go b/utils/consts.go index 324d7f9c7..32296788a 100755 --- a/utils/consts.go +++ b/utils/consts.go @@ -21,12 +21,11 @@ package utils var ( CDRExportFormats = []string{DRYRUN, MetaFileCSV, MetaFileFWV, MetaHTTPjsonCDR, MetaHTTPjsonMap, MetaHTTPjson, META_HTTP_POST, MetaAMQPjsonCDR, MetaAMQPjsonMap} - PrimaryCdrFields = []string{CGRID, Source, OriginHost, OriginID, ToR, RequestType, Tenant, Category, - Account, Subject, Destination, SetupTime, AnswerTime, Usage, - COST, RATED, Partial, RunID} - NotExtraCDRFields = []string{CGRID, Source, OriginHost, OriginID, ToR, RequestType, Tenant, Category, - Account, Subject, Destination, SetupTime, AnswerTime, Usage, - COST, RATED, Partial, RunID, PreRated, CostSource} + MainCDRFields = []string{CGRID, Source, OriginHost, OriginID, ToR, RequestType, Tenant, Category, + Account, Subject, Destination, SetupTime, AnswerTime, Usage, COST, RATED, Partial, RunID, + PreRated, CostSource} + MainCDRFieldsMap StringMap + GitLastLog string // If set, it will be processed as part of versioning PosterTransportContentTypes = map[string]string{ MetaHTTPjsonCDR: CONTENT_JSON, @@ -980,4 +979,5 @@ func buildCacheIndexesToPrefix() { func init() { buildCacheInstRevPrefixes() buildCacheIndexesToPrefix() + MainCDRFieldsMap = NewStringMap(MainCDRFields...) }