passing entire account to event in *export action

This commit is contained in:
gezimbll
2025-05-09 13:47:24 +02:00
committed by Dan Christian Bogos
parent 5929cd0d1b
commit 2b0bc6761c
3 changed files with 17 additions and 10 deletions

View File

@@ -1366,19 +1366,14 @@ func export(ub *Account, a *Action, _ Actions, _ *FilterS, extraData any, _ Shar
Tenant: utils.NewTenantID(ub.ID).Tenant,
ID: utils.GenUUID(),
Event: map[string]any{
utils.AccountField: ub.ID,
utils.EventType: utils.AccountUpdate,
utils.EventSource: utils.AccountService,
utils.AllowNegative: ub.AllowNegative,
utils.Disabled: ub.Disabled,
utils.BalanceMap: ub.BalanceMap,
utils.UnitCounters: ub.UnitCounters,
utils.ActionTriggers: ub.ActionTriggers,
utils.UpdateTime: ub.UpdateTime,
utils.AccountField: ub,
utils.EventType: utils.AccountUpdate,
utils.EventSource: utils.AccountService,
},
APIOpts: map[string]any{
utils.MetaEventType: utils.AccountUpdate,
utils.MetaEventTime: time.Now(),
},
}
case extraData != nil:

View File

@@ -107,7 +107,18 @@ func (cgr *CGREventWithEeIDs) UnmarshalJSON(data []byte) error {
// ensuring the type of CostDetails is *EventCost.
temp.Event[utils.CostDetails] = &ec
}
isAccountUpdate := temp.Event[utils.EventType] == utils.AccountUpdate
if accEv, has := temp.Event[utils.AccountField]; has && isAccountUpdate {
accBytes, err := json.Marshal(accEv)
if err != nil {
return err
}
var as Account
if err = json.Unmarshal(accBytes, &as); err != nil {
return err
}
temp.Event[utils.AccountField] = &as
}
// Assign the extracted EeIDs and CGREvent
// to the main struct fields.
cgr.EeIDs = temp.EeIDs