mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Added ProcessedProfileIDs in vars for attributes
This commit is contained in:
committed by
Dan Christian Bogos
parent
a981242f5f
commit
d6d0f2ebe9
@@ -314,11 +314,13 @@ func (alS *AttributeService) V1ProcessEvent(args *AttrArgsProcessEvent,
|
||||
processRuns = *args.ProcessRuns
|
||||
}
|
||||
args.CGREvent = args.CGREvent.Clone()
|
||||
processedPrf := make(utils.StringSet)
|
||||
eNV := utils.MapStorage{
|
||||
utils.MetaReq: args.CGREvent.Event,
|
||||
utils.MetaOpts: args.APIOpts,
|
||||
utils.MetaVars: utils.MapStorage{
|
||||
utils.ProcessRuns: 0,
|
||||
utils.ProcessRuns: 0,
|
||||
utils.ProcessedProfileIDs: processedPrf,
|
||||
},
|
||||
utils.MetaTenant: tnt,
|
||||
}
|
||||
@@ -344,6 +346,7 @@ func (alS *AttributeService) V1ProcessEvent(args *AttrArgsProcessEvent,
|
||||
tnt = evRply.CGREvent.Tenant
|
||||
lastID = evRply.MatchedProfiles[0]
|
||||
matchedIDs = append(matchedIDs, lastID)
|
||||
processedPrf.Add(lastID)
|
||||
for _, fldName := range evRply.AlteredFields {
|
||||
alteredFields.Add(fldName)
|
||||
}
|
||||
|
||||
@@ -880,6 +880,7 @@ const (
|
||||
RouteID = "RouteID"
|
||||
MetaMonthlyEstimated = "*monthly_estimated"
|
||||
ProcessRuns = "ProcessRuns"
|
||||
ProcessedProfileIDs = "ProcessedProfileIDs"
|
||||
HashtagSep = "#"
|
||||
MetaRounding = "*rounding"
|
||||
StatsNA = -1.0
|
||||
|
||||
@@ -125,3 +125,28 @@ func JoinStringSet(s ...StringSet) (conc StringSet) {
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// added this to implement DataProvieder interface avoid reflect usage in MapStorage
|
||||
|
||||
// String returns the set as a json string ( the fields are not ordered)
|
||||
func (s StringSet) String() string { return ToJSON(s.AsSlice()) }
|
||||
|
||||
// FieldAsInterface returns an empty structure if the path exists else ErrNotFound
|
||||
func (s StringSet) FieldAsInterface(fldPath []string) (interface{}, error) {
|
||||
if len(fldPath) != 1 {
|
||||
return nil, ErrNotFound
|
||||
}
|
||||
val, has := s[fldPath[0]]
|
||||
if !has {
|
||||
return nil, ErrNotFound
|
||||
}
|
||||
return val, nil
|
||||
}
|
||||
|
||||
// FieldAsString returns an empty structure as a json string if the path exists else ErrNotFound
|
||||
func (s StringSet) FieldAsString(fldPath []string) (_ string, err error) {
|
||||
if _, err = s.FieldAsInterface(fldPath); err != nil {
|
||||
return
|
||||
}
|
||||
return "{}", nil // noting in it as is a empty structure
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user