Builds the ActionInvocationProvenance for a dispatch: which binding fired, from which
lifecycle event, against which record. Stamped onto ActionExecutionLog so a workflow failure is
diagnosable without correlating by timestamp, and used by the redaction rules — the binding's
EntityActionParam rows are what carry ValueType and the per-binding LogValue override.
OptionalentityObject: BaseEntitythe record the run operates on; omitted for a dispatch not yet resolved to one.
Case insensitive helper method to find a param by valueType
ProtectedGetResolves the record set for a View or List invocation into loaded entity objects, which the per-record loop in InvokeAction then processes one at a time.
Runs the action for this invocation type.
Returns null when the action did not run at all — the binding is scoped
(ScopeEntityID/ScopeRecordID) and this record falls outside it, or a filter refused it.
That is an ordinary outcome, not a failure: there is simply no result to report. The type
says so because callers were dereferencing it — HandleEntityActions guards correctly, the
GraphQL resolver did not, and an out-of-scope binding surfaced to clients as a server error.
ProtectedisTrue when a PK column type is numeric (so its values must not be quoted in a filter).
ProtectedloadLoads all members of a List as entity objects (single-primary-key entities).
ProtectedloadLoads all records of a User View as entity objects.
This method will map the Entity Action Params to the Action Params and where needed evaluate scripts to get the run-time values that need to get passed to the Action.
Attempt to execute a script and wraps in try/catch to handle any errors so that no exceptions are thrown The scripts are passed an object called EntityActionContext which has a property called entityObject that is the entity object for the current Entity Action. The script can do whatever it wants to do, and passes back a value in the result property of the EntityActionContext object
the script to execute
the entity object to pass to the script
Base class for invocation of any entity action invocation type that is multiple-record oriented. Handles getting the list of records from the provided parameters (either ListID or ViewID), getting the actual records for each of those scenarios, and then invoking the action for each record, aggregating the results and returning a single ActionResult object.