UNPKG

@5minds/processcube_engine

Version:

The ProcessCube Engine. Stores and executes BPMNs.

66 lines (65 loc) 4.51 kB
import { Transaction } from 'sequelize'; import { BaseError, BpmnType, ProcessInstanceSortSettings, ProcessInstanceState } from '@5minds/processcube_engine_sdk'; import { CreateProcessInstanceRequest, FinishProcessInstancePayload, InternalIdentity as Identity, ProcessInstanceInternal, ProcessInstanceInternalList, ProcessInstanceInternalQuery } from '../../Contracts/InternalDataModels/index'; import { DatabaseAdapter } from './BaseDatabaseAdapter'; export declare class ProcessInstanceDatabaseAdapter extends DatabaseAdapter { initialize(): Promise<void>; create(request: CreateProcessInstanceRequest): Promise<void>; setMetadataValue(processInstanceId: string, metaDataKey: string, metaDataValue: string, flowNodeInstanceId: string): Promise<void>; getMinimalRunningProcessInstances(): Promise<Array<{ processInstanceId: string; state: string; parentProcessInstanceId?: string; }>>; getProcessInstances(processInstanceIds: Array<string>): Promise<Array<ProcessInstanceInternal>>; getDirectChildProcessInstanceIds(parentProcessInstanceId: string, parentFlowNodeType?: BpmnType.subProcess | BpmnType.callActivity, authorizationQuery?: { allowedLanes?: Array<string>; requestingUserId?: string; }): Promise<Array<string>>; getAllDescendantProcessInstanceIds(parentProcessInstanceId: string, parentFlowNodeType?: BpmnType.subProcess | BpmnType.callActivity, authorizationQuery?: { allowedLanes?: Array<string>; requestingUserId?: string; }): Promise<Array<string>>; getAncestorProcessInstanceIds(processInstanceId: string, onlyForEmbeddedProcesses?: boolean, authorizationQuery?: { allowedLanes?: Array<string>; requestingUserId?: string; }): Promise<Array<string>>; getProcessInstancesByProcessDefinitionIdAndState(processDefinitionId: string, state: ProcessInstanceState): Promise<Array<ProcessInstanceInternal>>; countRunningInstancesForModel(processModelId: string): Promise<number>; getRetryableChildProcessInstances(parentProcessInstanceIds: Array<string>): Promise<Array<ProcessInstanceInternal>>; query(query: ProcessInstanceInternalQuery, offset?: number, limit?: number, sort?: ProcessInstanceSortSettings, includeXml?: boolean, includeDeleted?: boolean, includeCount?: boolean): Promise<ProcessInstanceInternalList>; transferOwnership(processInstanceIds: Array<string>, newOwner: Identity): Promise<void>; finish(processInstanceId: string, endEventData?: FinishProcessInstancePayload, includeFlowNodeInstances?: boolean): Promise<void>; finishWithError(processInstanceId: string, error: Error, endEventData?: FinishProcessInstancePayload, includeFlowNodeInstances?: boolean): Promise<void>; terminate(processInstanceId: string, error: BaseError, endEventData?: FinishProcessInstancePayload, includeFlowNodeInstances?: boolean): Promise<void>; changeProcessDefinition(processInstanceId: string, newProcessModelHash: string): Promise<void>; reset(processInstanceId: string, flowNodeInstanceIdsToReset: Array<string | { flowNodeInstanceId: string; isUnstartedSubProcess?: boolean; }>, flowNodeInstanceIdsToDelete?: Array<string>, processInstanceIdsToDelete?: Array<string>): Promise<void>; flagAsDeletedByIds(processInstanceIds: Array<string>): Promise<void>; deleteByIds(processInstanceIds: Array<string>): Promise<void>; static deleteByIds(processInstanceIds: Array<string>, transaction: Transaction): Promise<void>; deleteByProcessDefinitionId(processDefinitionId: string): Promise<void>; static deleteByProcessDefinitionId(processDefinitionId: string, deleteTransaction: Transaction): Promise<void>; private execCreate; private getProcessInstanceIdsList; private getUnorderedProcessInstanceList; private getProcessInstanceIdsToLoad; private getIncludesForPlainQueries; private buildProcessInstanceWhereClause; private getProcessInstancesWithCount; private getProcessInstancesWithoutCount; private buildAuthorizationFilters; private buildEventTypeFilter; private storeCorrelation; private static deleteEmptyCorrelations; private deleteMetadataValueByFlowNodeInstanceIds; private validateCreateRequest; private findProcessInstanceAndVerifyRunningState; private cleanupFlowNodeInstances; private calculateTotalRuntime; private calculateRegularRuntime; private calculateRuntimeWithRetry; private buildQueryOrderSettings; }