Replace Drupal core's save and delete actions with our own generic CRUD actions
Problem/Motivation
I have a simple model that is triggered by cron and is based off the example found here:
https://ecaguide.org/library/test%20models/views/
On trigger the action "Views:Execute query" runs against a simple view returning a list of nodes with an nid field. This then triggers a custom event (entity aware). The custom event is then meant to delete the passed node ids however, none of the nodes are being deleted. There are no additional errors in the logs.
The custom event (entity aware) trigger works fine with the actions "Publish node" or "Unpublish node" therefore indicating that the view is in fact returning proper node ids.
Example of the model being used:

Steps to reproduce
- Set up a model that makes use of a "Views:Execute query" action within a cron triggered model.
- Create a custom (entity aware) event that gets triggered for every item in the view.
- Add a "Delete content item" action to the custom event and pass the token [entity:nid]
Based on how most actions function within a custom event (entity aware), a site builder would expect the node ids passed to the "Delete content item" action to delete the item passed. Perhaps there is a limitation with deleting nodes within such a loop. If that is the case, users should be made aware of the limitation in some way.
Proposed resolution
As we've figured out, the core delete actions contain a redirect to a confirm form. This mechanic obviously doesn't work for background processes that are mostly the case when using ECA.
Therefore we want to
- Create a generic "Entity: save" action that is able to save any sort of entity and exclude Drupal core's actions for saving (where a variant exists for each entity type - this is not necessary).
- Create a generic "Entity: delete" action that is able to delete any sort of entity and exclude Drupal core's actions for deleting (for the obvious reasons we've already elaborated in the comments)
- Rename the existing action "Token: load entity" to "Entity: load".
- Exclude any other action that contains a redirect mechanic (could be easily identified when checking for the existence of
confirm_form_route_name).