@5minds/processcube_engine
Version:
The ProcessCube Engine. Stores and executes BPMNs.
53 lines (52 loc) • 3.25 kB
TypeScript
import { InternalIdentity as Identity, ProcessStartOptionsInternal } from '../Contracts/InternalDataModels/index';
import { EventMessageInternal } from '../Contracts/InternalMessages/index';
import { FlowNodeInstanceDatabaseAdapter, ProcessInstanceDatabaseAdapter } from '../Tools/DatabaseAdaptersSequelize/index';
import { IamService } from '../Tools/Iam/IamService';
import { IdentityService } from '../Tools/Iam/IdentityService';
import { ProcessDefinitionMediator } from '../Tools/ProcessDefinitionMediator';
import { ProcessInstanceFactory } from './ProcessInstance';
export declare class ExecuteProcessService {
private readonly flowNodeInstanceDatabaseAdapter;
private readonly processDefinitionMediator;
private readonly processInstanceDatabaseAdapter;
private readonly processInstanceFactory;
private readonly iamService;
private readonly identityService;
private readonly logger;
constructor(flowNodeInstanceRepository: FlowNodeInstanceDatabaseAdapter, processDefinitionMediator: ProcessDefinitionMediator, processInstanceRepository: ProcessInstanceDatabaseAdapter, processInstanceFactory: ProcessInstanceFactory, iamService: IamService, identityService: IdentityService);
start<TInitialToken extends object>(identity: Identity, options: ProcessStartOptionsInternal<TInitialToken>): Promise<EventMessageInternal>;
startAndAwaitEndEvent<TInitialToken extends object>(identity: Identity, options: ProcessStartOptionsInternal<TInitialToken>): Promise<EventMessageInternal>;
findAndResumeInterruptedProcessInstances(): Promise<void>;
retryProcessInstance(identity: Identity, processInstanceId: string, flowNodeInstanceId?: string, newStartToken?: Record<string, any>, newProcessDefinitionHash?: string): Promise<void>;
/**
* This function is too strict. It verifies, that all possible paths towards `flowNodeInstanceId` have not been altered.
* It should only verify, that the actually executed path has not been altered.
* https://5minds.atlassian.net/browse/PCE-1474
*/
private ensureProcessInstanceBpmnCanBeMigrated;
private migrateProcessInstanceBpmn;
private validateStartRequest;
private waitForAnyEndEvent;
private getBatchOfRunningInstances;
private getRootProcessOfProcessInstanceTree;
private getRetryableChildProcessInstances;
private resetProcessInstanceToFlowNodeInstance;
private getNonDescendantProcessInstanceSets;
private getAllChildProcessIds;
private isFlowNodeInParallizedBranch;
private getPreviousParallelizingGateways;
private ensureProcessInstanceCanBeRestarted;
private getFlowNodeInstancesAfterFlowNodeInstance;
private getFollowingFlowNodeInstancesForSubProcesses;
private getFollowingFlowNodeInstancesForSubProcess;
private resetProcessInstance;
private getFlowNodeInstancesToReset;
private getFlowNodeInstanceIdsInSubProcesses;
private getBoundaryEventsForFlowNodeInstances;
private shouldResetFlowNode;
private getErrorBoundaryEventInstancesForFlowNodeInstance;
private resumeProcessInstance;
private finishOrphanedChildProcessIntances;
private finishOrphanedProcessInstance;
private getFinalFlowNodeInstanceForOrphanedProcessInstance;
}