AbstractStatic ReadonlyAuthorizesTrue when the action authorizes its caller itself, so a public entry point such as the
RunAction mutation may run it for an authenticated user without an MJ: Action Authorizations link. Set it only on an action that either checks an authorization the caller
must hold, or reads and writes only with the caller's own permissions. Leave it false for an
action that acts with more authority than its caller, or that reaches data or sends messages
the caller chooses but could not otherwise reach.
The engine reads the marker only from the class that runs, never from its parent classes. A subclass that overrides a marked action must declare the marker again.
ProtectedaddAppend an output param to the params array so callers can read results.
ProtectedbuildBuild PipelineExecutionOptions from action params.
ProtectedbuildMap a PipelineExecutionResult to ActionResultSimple and populate output params so workflow engines can read EntityID, EntityName, etc.
ProtectedcheckCheck that the contextUser holds the authorization required for the requested operation type. Returns an error string on failure, null on success.
ProtectedgetExtract a boolean param by name with a fallback default.
ProtectedgetExtract the ModificationType param ('create' | 'alter'). Defaults to 'create'.
ProtectedgetExtract a string param by name, returning undefined when absent.
ProtectedgetExtract and parse the TableDefinition param (JSON object or string).
Returns { error } on missing/malformed input, { td } on success.
ProtectedhandleCommon error handler for unexpected exceptions.
Protected AbstractInternalInternal method that must be implemented by derived action classes. This is where the actual action logic should be implemented.
The action execution parameters including typed context
Promise resolving to the action result
Executes the action with the provided parameters.
The action execution parameters including context
Promise resolving to the action result
Base class for all actions. All actions will derive from this class and be instantiated by the ClassFactory within the @memberjunctin/global package.
Example