UNPKG

@5minds/processcube_engine

Version:

The ProcessCube Engine. Stores and executes BPMNs.

72 lines (71 loc) 4.67 kB
import { Transaction } from 'sequelize'; import { EventInstance, FlowNodeInstance, FlowNodeInstanceList, FlowNodeInstanceSortSettings, Model } from '@5minds/processcube_engine_sdk'; import { CreateFlowNodeInstanceRequest, InternalFlowNodeInstanceQuery, PersistDataObjectData, PersistOnStateChangeAdditionalData } from '../../Contracts/InternalDataModels/index'; import { DatabaseAdapter } from './BaseDatabaseAdapter'; type FlowNodeWithLane = Model.Base.FlowNode & { lane: string | null; }; export declare class FlowNodeInstanceDatabaseAdapter extends DatabaseAdapter { initialize(): Promise<void>; findByInstanceId(flowNodeInstanceId: string): Promise<FlowNodeInstance | undefined>; query(query: InternalFlowNodeInstanceQuery, offset?: number, limit?: number, sort?: FlowNodeInstanceSortSettings, includeDeleted?: boolean, includeCount?: boolean): Promise<FlowNodeInstanceList>; getFlowNodeExecutionCount(flowNodeId: string, processInstanceId: string): Promise<number>; getFlowNodeInstancesForProcessInstanceIds(processInstanceId: Array<string>): Promise<Array<{ flowNodeId: string; flowNodeName: string; flowNodeLane: string | null; }>>; getActiveMessageCatchEventsInProcessModel(processModelId: string, messageName: string): Promise<Array<EventInstance>>; cleanupOrphanedFlowNodeInstances(): Promise<void>; persistOnEnter<TTokenPayload>(payload: CreateFlowNodeInstanceRequest<TTokenPayload>): Promise<void>; batchPersistOnEnter<TTokenPayload>(payloads: Array<CreateFlowNodeInstanceRequest<TTokenPayload>>): Promise<void>; persistOnSuspend(flowNodeInstanceId: string, data: PersistOnStateChangeAdditionalData): Promise<void>; persistOnExit(flowNodeInstanceId: string, data: PersistOnStateChangeAdditionalData): Promise<void>; persistOnCancel(flowNodeInstanceId: string, data: PersistOnStateChangeAdditionalData): Promise<void>; persistOnError(flowNodeInstanceId: string, data: PersistOnStateChangeAdditionalData): Promise<void>; persistOnTerminate(flowNodeInstanceId: string, data: PersistOnStateChangeAdditionalData): Promise<void>; updateStartToken(flowNodeInstanceIds: Array<string>, tokenPayload: any): Promise<void>; deleteByProcessDefinitionId(processDefinitionId: string): Promise<void>; /** * This is dangerous, because it can potentially break a process instance. * Deletion should usually be done in the context of deleting or resetting a Process Instance, or when undeploying a diagram. * Use for tests or cleanup procedures only. */ UNSAFE_deleteById(flowNodeInstanceId: string): Promise<void>; saveMultiInstanceMetadata(multiInstanceMetadataId: string, startToken?: any, endToken?: any): Promise<void>; loadFlowNodeInstancesForMultiInstance(multiInstanceMetadataId: string): Promise<Array<FlowNodeInstance>>; updateFlowNodesInProcessInstance(processInstanceIds: Array<string>, flowNodes: Array<FlowNodeWithLane>): Promise<void>; static reset(flowNodeInstanceId: string, transaction: Transaction, isUnstartedSubProcess?: boolean): Promise<void>; private static execReset; static deleteByProcessDefinitionId(processDefinitionId: string, deleteTransaction: Transaction): Promise<void>; static deleteByProcessInstanceIds(processInstanceIds: Array<string>, deleteTransaction: Transaction): Promise<void>; static deleteByIds(flowNodeInstanceIds: Array<string>, deleteTransaction: Transaction): Promise<void>; changeProcessTokenPayload(flowNodeInstanceId: string, processTokenType: 'startToken' | 'endToken', payload: any): Promise<void>; private determineRequiredJoinsOnMetadataTables; private getFlowNodeTypesRequiringMetadata; private execPersistOnEnter; private execBatchPersistOnEnter; private persistOnStateChange; saveDataObjectInstances(data: PersistDataObjectData): Promise<void>; private ensureStateTransitionIsValid; private saveFlowNodeInstanceTypeSpecificData; private saveBatchFlowNodeInstanceTypeSpecificData; private saveCallActivityData; private saveBatchCallActivityData; private saveSubprocessData; private saveBatchSubprocessData; private saveCatchEventData; private saveBatchCatchEventData; private saveThrowEventData; private saveBatchThrowEventData; private saveManualTaskData; private saveBatchManualTaskData; private saveExternalServiceTaskData; private saveBatchExternalServiceTaskData; private saveHttpServiceTaskData; private saveBatchHttpServiceTaskData; private saveUserTaskData; private saveBatchUserTaskData; private static deleteFlowNodeInstancesInBatches; } export {};