Merged utils.PrimaryCdrFields and utils.NotExtraCDRFields in utils.MainCDRFields

This commit is contained in:
Trial97
2019-01-18 11:27:27 +02:00
committed by Dan Christian Bogos
parent 1d9c1f03e9
commit 44e2effbf0
6 changed files with 14 additions and 13 deletions

View File

@@ -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 {

View File

@@ -19,9 +19,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
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
}
}

View File

@@ -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
}

View File

@@ -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 {

View File

@@ -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,

View File

@@ -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...)
}