AbstractProtected AbstractintegrationThe integration name to look up in the Integration entity
Protected AbstractlmsThe LMS provider this action is designed for (e.g., 'LearnWorlds', 'Moodle', etc.)
Static 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.
ProtectedbuildBuild a standard error ActionResultSimple
Optionalparams: ActionParam[]ProtectedbuildProtectedbuildBuild a standard success ActionResultSimple
Optionalparams: ActionParam[]ProtectedcalculateCalculate progress percentage
ProtectedformatFormat duration in seconds to human readable format
ProtectedformatStandard date format for LMS systems (ISO 8601)
ProtectedgetGets the base URL for API calls
ProtectedgetGets API credentials - first tries environment variables, then falls back to database
ProtectedgetCommon LMS parameters that many actions will need
ProtectedgetGets the company integration record for the specified company and LMS
ProtectedgetGets credentials from environment variables Format: BIZAPPS_{PROVIDER}{COMPANY_ID}{CREDENTIAL_TYPE} Example: BIZAPPS_LEARNWORLDS_12345_API_KEY
ProtectedgetHelper to get parameter value from an ActionParam array
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
ProtectedmapCommon enrollment status mapping
ProtectedparseParse date from LMS format
Executes the action with the provided parameters.
The action execution parameters including context
Promise resolving to the action result
ProtectedsetHelper to set an output parameter, creating it if it doesn't exist
ProtectedvalidateValidates that a string is a valid UUID format to prevent SQL injection. Exposed as a reusable helper for subclasses to validate CompanyID, UserID, etc.
Base class for all LMS-related actions. Provides common functionality and patterns for interacting with Learning Management Systems.