EventManager: filter action execution based on event status

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
This commit is contained in:
Nicola Murino
2024-09-23 19:55:03 +02:00
parent 433d45ed87
commit eeef23139d
11 changed files with 183 additions and 8 deletions

View File

@@ -2597,6 +2597,11 @@ func executeUserCheckAction(c *dataprovider.EventActionIDPAccountCheck, params *
func executeRuleAction(action dataprovider.BaseEventAction, params *EventParams, //nolint:gocyclo
conditions dataprovider.ConditionOptions,
) error {
if len(conditions.EventStatuses) > 0 && !slices.Contains(conditions.EventStatuses, params.Status) {
eventManagerLog(logger.LevelDebug, "skipping action %s, event status %d does not match: %v",
action.Name, params.Status, conditions.EventStatuses)
return nil
}
var err error
switch action.Type {