Переглянути джерело

convert action migration: allow to import any command action

EnabledCommands are initialized after the migration so allow any
command, they will be denied if not allowed and this is temporary.
The migration will be removed in the future

Signed-off-by: Nicola Murino <[email protected]>
Nicola Murino 4 тижнів тому
батько
коміт
7f03dc0fab
1 змінених файлів з 12 додано та 0 видалено
  1. 12 0
      internal/dataprovider/dataprovider.go

+ 12 - 0
internal/dataprovider/dataprovider.go

@@ -4797,8 +4797,20 @@ func updateEventActions() error {
 	if err != nil {
 		return err
 	}
+	enabledCommands := slices.Clone(EnabledActionCommands)
+	defer func() {
+		EnabledActionCommands = enabledCommands
+	}()
+
 	for _, action := range convertedActions {
 		providerLog(logger.LevelInfo, "updating placeholders for event action %q", action.Name)
+		if action.Options.CmdConfig.Cmd != "" {
+			// EnabledActionCommands are initialized after the data provider,
+			// so all commands should be allowed here temporarily.
+			if !slices.Contains(EnabledActionCommands, action.Options.CmdConfig.Cmd) {
+				EnabledActionCommands = append(EnabledActionCommands, action.Options.CmdConfig.Cmd)
+			}
+		}
 		if err := provider.updateEventAction(&action); err != nil {
 			return fmt.Errorf("unable to save updated event action %q: %w", action.Name, err)
 		}