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-27 20:49:04 +02:00
parent 9830efac33
commit c74f391caf
11 changed files with 372 additions and 192 deletions

View File

@@ -2516,6 +2516,13 @@ func getEventRuleConditionsFromPostFields(r *http.Request) (dataprovider.EventCo
if err != nil {
return dataprovider.EventConditions{}, util.NewI18nError(fmt.Errorf("invalid max file size: %w", err), util.I18nErrorInvalidMaxSize)
}
var eventStatuses []int
for _, s := range r.Form["fs_statuses"] {
status, err := strconv.ParseInt(s, 10, 32)
if err == nil {
eventStatuses = append(eventStatuses, int(status))
}
}
conditions := dataprovider.EventConditions{
FsEvents: r.Form["fs_events"],
ProviderEvents: r.Form["provider_events"],
@@ -2527,6 +2534,7 @@ func getEventRuleConditionsFromPostFields(r *http.Request) (dataprovider.EventCo
RoleNames: roleNames,
FsPaths: fsPaths,
Protocols: r.Form["fs_protocols"],
EventStatuses: eventStatuses,
ProviderObjects: r.Form["provider_objects"],
MinFileSize: minFileSize,
MaxFileSize: maxFileSize,