@5minds/processcube_engine
Version:
The ProcessCube Engine. Stores and executes BPMNs.
35 lines (34 loc) • 2.15 kB
TypeScript
import { Model, SubprocessInstance } from '@5minds/processcube_engine_sdk';
import { FlowNodeInstanceDatabaseAdapter } from '../../../Tools/DatabaseAdaptersSequelize/FlowNodeInstanceAdapter';
import { ProcessInstanceDatabaseAdapter } from '../../../Tools/DatabaseAdaptersSequelize/ProcessInstanceAdapter';
import { EventMiddlewareHandler } from '../../../Tools/EventMiddlewareHandler';
import { IdentityService } from '../../../Tools/Iam/IdentityService';
import { CoreAccessService } from '../../CoreAccessService';
import { ProcessInstance, ProcessInstanceFactory } from '../../ProcessInstance';
import { ActivityHandler } from './ActivityHandler';
import { ActivityInstanceHandler } from './ActivityInstanceHandler';
export declare class SubProcessInstanceHandler extends ActivityInstanceHandler<Model.Activities.SubProcess> {
private readonly coreAccess;
private readonly identityService;
private readonly processInstanceDatabaseAdapter;
private readonly processInstanceFactory;
private childProcessInstance;
private killedSubscription;
private endSubscription;
private erroredSubscription;
protected loggerNamespace: string;
constructor(coreAccess: CoreAccessService, eventMiddlewareHandler: EventMiddlewareHandler, flowNodeInstanceDatabaseAdapter: FlowNodeInstanceDatabaseAdapter, identityService: IdentityService, processInstanceDatabaseAdapter: ProcessInstanceDatabaseAdapter, processInstanceFactory: ProcessInstanceFactory, activityHandler: ActivityHandler<Model.Activities.SubProcess>, processInstance: ProcessInstance, previousFlowNodeInstanceId?: string, instanceContext?: {
[key: string]: any;
});
private get subProcess();
protected afterExecute(): Promise<void>;
protected resumeAfterSuspend(subProcessInstance: SubprocessInstance): Promise<void>;
protected runHandler(): Promise<void>;
private suspendHandlerAndExecuteTargetProcess;
private executeTargetProcess;
private resumeChildProcessInstance;
private subscribeToChildProcessEvents;
private createTokenFromSubProcessResult;
private killProcessInstance;
private getOwnerIdentity;
}