DocumentApprovalWorkflow
@adamondo/backend / core/workflow/DocumentApprovalWorkflow
core/workflow/DocumentApprovalWorkflow
Enumerations
DocumentApprovalActor
Defined in: src/core/workflow/DocumentApprovalWorkflow.ts:41
Enumeration Members
OWNER
OWNER:
"owner"
Defined in: src/core/workflow/DocumentApprovalWorkflow.ts:42
ADMIN
ADMIN:
"admin"
Defined in: src/core/workflow/DocumentApprovalWorkflow.ts:43
Classes
DocumentApprovalWorkflowEngine
Defined in: src/core/workflow/DocumentApprovalWorkflow.ts:493
Generic workflow engine that evaluates transitions and executes versioned side effects.
Extends
BaseWorkflowEngine<DocumentApprovalStatus,DocumentApprovalAction,DocumentApprovalActor,DocumentApprovalWorkflowContext,DocumentApprovalActionResultMap,DocumentApprovalActionPayloadMap>
Methods
getNextStatus()
getNextStatus(
currentStatus,action,actor,version?):DocumentApprovalStatus
Defined in: src/core/workflow/BaseWorkflow.ts:65
Parameters
currentStatus
DocumentApprovalStatus | null
action
DocumentApprovalAction
actor
version?
number
Returns
DocumentApprovalStatus
Deprecated
Use executeAction instead. Computes the next status for a given action/actor pair.
Throws
When no matching transition exists.
Inherited from
BaseWorkflowEngine.getNextStatus
isActionAllowed()
isActionAllowed(
currentStatus,action,actor,version?):boolean
Defined in: src/core/workflow/BaseWorkflow.ts:95
Checks whether an action is allowed for the actor in the current status.
Parameters
currentStatus
DocumentApprovalStatus
action
DocumentApprovalAction
actor
version?
number
Returns
boolean
Inherited from
BaseWorkflowEngine.isActionAllowed
getAllowedActions()
getAllowedActions(
currentStatus,actor,version?):DocumentApprovalAction[]
Defined in: src/core/workflow/BaseWorkflow.ts:113
Lists all allowed actions for an actor in the current status.
Parameters
currentStatus
DocumentApprovalStatus
actor
version?
number
Returns
DocumentApprovalAction[]
Inherited from
BaseWorkflowEngine.getAllowedActions
isActionAlreadyApplied()
isActionAlreadyApplied(
currentStatus,action,actor,version?):boolean
Defined in: src/core/workflow/BaseWorkflow.ts:128
Returns true when the action's target status already matches current status for this actor. Useful for idempotent API behavior on duplicate requests.
Parameters
currentStatus
DocumentApprovalStatus | null
action
DocumentApprovalAction
actor
version?
number
Returns
boolean
Inherited from
BaseWorkflowEngine.isActionAlreadyApplied
getActionsWithMetadata()
getActionsWithMetadata(
currentStatus,actor,version?):object[]
Defined in: src/core/workflow/BaseWorkflow.ts:144
Returns allowed actions enriched with UI metadata.
Parameters
currentStatus
DocumentApprovalStatus
actor
version?
number
Returns
object[]
Inherited from
BaseWorkflowEngine.getActionsWithMetadata
executeAction()
executeAction<
K>(currentStatus,action,actor,context):Promise<{nextStatus:DocumentApprovalStatus;result:DocumentApprovalActionResultMap[K]; }>
Defined in: src/core/workflow/BaseWorkflow.ts:172
Executes a transition side effect in a transaction and returns the resulting status/value.
Type Parameters
K
K extends DocumentApprovalAction
Parameters
currentStatus
DocumentApprovalStatus | null
action
K
actor
context
DocumentApprovalWorkflowContext
Returns
Promise<{ nextStatus: DocumentApprovalStatus; result: DocumentApprovalActionResultMap[K]; }>
Throws
When no matching transition exists.
Inherited from
BaseWorkflowEngine.executeAction
getLatestVersion()
getLatestVersion():
number
Defined in: src/core/workflow/BaseWorkflow.ts:233
Returns the highest registered workflow definition version.
Returns
number
Inherited from
BaseWorkflowEngine.getLatestVersion
getMermaidDiagram()
getMermaidDiagram(
version?):string
Defined in: src/core/workflow/BaseWorkflow.ts:240
Generates a Mermaid state diagram from workflow transitions.
Parameters
version?
number
Returns
string
Inherited from
BaseWorkflowEngine.getMermaidDiagram
setStatusMetadata()
setStatusMetadata(
status,actor,metadata):void
Defined in: src/core/workflow/BaseWorkflow.ts:260
Associates status metadata for a specific actor.
Parameters
status
DocumentApprovalStatus
actor
metadata
unknown
Returns
void
Inherited from
BaseWorkflowEngine.setStatusMetadata
getStatusMetadata()
getStatusMetadata(
status,actor):unknown
Defined in: src/core/workflow/BaseWorkflow.ts:267
Retrieves status metadata previously bound for an actor.
Parameters
status
DocumentApprovalStatus
actor
Returns
unknown
Inherited from
BaseWorkflowEngine.getStatusMetadata
getInstance()
staticgetInstance():DocumentApprovalWorkflowEngine
Defined in: src/core/workflow/DocumentApprovalWorkflow.ts:518
Returns
DocumentApprovalWorkflowEngine
resolveWorkflowContext()
resolveWorkflowContext<
K>(userId,targetId,action,payload,actorContext?):Promise<DocumentApprovalWorkflowContext>
Defined in: src/core/workflow/DocumentApprovalWorkflow.ts:526
Builds action execution context from user, target resource, and payload.
Type Parameters
K
K extends DocumentApprovalAction
Parameters
userId
string
targetId
number | undefined
action
K
payload
DocumentApprovalActionPayloadMap[K]
actorContext?
unknown
Returns
Promise<DocumentApprovalWorkflowContext>
Overrides
BaseWorkflowEngine.resolveWorkflowContext
getActor()
getActor(
context):DocumentApprovalActor
Defined in: src/core/workflow/DocumentApprovalWorkflow.ts:612
Resolves workflow actor from runtime context.
Parameters
context
DocumentApprovalWorkflowContext
Returns
Overrides
Interfaces
DocumentApprovalActionResultMap
Defined in: src/core/workflow/DocumentApprovalWorkflow.ts:52
Properties
submit
submit:
object
Defined in: src/core/workflow/DocumentApprovalWorkflow.ts:53
documentId
documentId:
number
documentStatus
documentStatus:
DocumentApprovalStatus
requestChanges
requestChanges:
object
Defined in: src/core/workflow/DocumentApprovalWorkflow.ts:57
documentId
documentId:
number
documentStatus
documentStatus:
DocumentApprovalStatus
resubmit
resubmit:
object
Defined in: src/core/workflow/DocumentApprovalWorkflow.ts:61
documentId
documentId:
number
documentStatus
documentStatus:
DocumentApprovalStatus
approve
approve:
object
Defined in: src/core/workflow/DocumentApprovalWorkflow.ts:65
documentId
documentId:
number
documentStatus
documentStatus:
DocumentApprovalStatus
Type Aliases
DocumentApprovalWorkflowContext
DocumentApprovalWorkflowContext =
BaseWorkflowContext<DocumentApprovalStatus> &object
Defined in: src/core/workflow/DocumentApprovalWorkflow.ts:71
Type Declaration
userId
userId:
string
documentId?
optionaldocumentId:number
actorContext?
optionalactorContext:DocumentActorContext
action
action:
DocumentApprovalAction
payload
payload:
DocumentApprovalActionPayloadMap[DocumentApprovalAction]