From bd1c0edc46856dbb482dd2047c2ad02ff5ffee42 Mon Sep 17 00:00:00 2001 From: DanB Date: Tue, 17 Feb 2026 20:59:31 +0100 Subject: [PATCH] SessionSv1.ProcessEvent - adding processed chargers attributes to reply --- chargers/chargers.go | 7 ++++++- sessions/apis.go | 9 ++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/chargers/chargers.go b/chargers/chargers.go index 72a8ca5f2..9460b5e88 100644 --- a/chargers/chargers.go +++ b/chargers/chargers.go @@ -114,6 +114,11 @@ type ChrgSProcessEventReply struct { CGREvent *utils.CGREvent } +// so we can compare from outside if event changed with AttributeS +var ChargerSDefaultAlteredFields = []string{utils.MetaOptsRunID, + utils.MetaOpts + utils.NestingSep + utils.MetaChargeID, + utils.MetaOpts + utils.NestingSep + utils.MetaSubsys} + func (cS *ChargerS) processEvent(ctx *context.Context, tnt string, cgrEv *utils.CGREvent) (rply []*ChrgSProcessEventReply, err error) { cPs, err := cS.matchingChargerProfilesForEvent(ctx, tnt, cgrEv) if err != nil { @@ -133,7 +138,7 @@ func (cS *ChargerS) processEvent(ctx *context.Context, tnt string, cgrEv *utils. AlteredFields: []*attributes.FieldsAltered{ { MatchedProfileID: utils.MetaDefault, - Fields: []string{utils.MetaOptsRunID, utils.MetaOpts + utils.NestingSep + utils.MetaChargeID, utils.MetaOpts + utils.NestingSep + utils.MetaSubsys}, + Fields: slices.Clone(ChargerSDefaultAlteredFields), }, }, } diff --git a/sessions/apis.go b/sessions/apis.go index 31c024cd3..6bc02138d 100644 --- a/sessions/apis.go +++ b/sessions/apis.go @@ -863,7 +863,14 @@ func (sS *SessionS) BiRPCv1ProcessEvent(ctx *context.Context, return } for _, chrgr := range chrgrs { - cgrEvs[utils.IfaceAsString(chrgr.CGREvent.APIOpts[utils.MetaRunID])] = chrgr.CGREvent + runID := utils.IfaceAsString(chrgr.CGREvent.APIOpts[utils.MetaRunID]) + cgrEvs[runID] = chrgr.CGREvent + if len(chrgr.AlteredFields) != len(chargers.ChargerSDefaultAlteredFields) { + apiRply.Attributes[runID] = &attributes.AttrSProcessEventReply{ + AlteredFields: chrgr.AlteredFields, + CGREvent: chrgr.CGREvent, + } + } } }