@5minds/processcube_engine
Version:
The ProcessCube Engine. Stores and executes BPMNs.
43 lines (42 loc) • 3.01 kB
TypeScript
import { ProcessModel, ProcessModelList, ProcessStartRequest, ProcessStartResponse } from '@5minds/processcube_engine_sdk';
import { InternalIdentity as Identity } from '../../Contracts/index';
import { CoreAccessService, ExecuteProcessService } from '../../Core/index';
import { ProxyConfiguration } from '../../Setups/EngineRouter';
import { ProcessInstanceDatabaseAdapter } from '../../Tools/DatabaseAdaptersSequelize/index';
import { IamService, IdentityService } from '../../Tools/Iam/index';
import { ProcessDefinitionMediator } from '../../Tools/ProcessDefinitionMediator';
import { NotificationService } from './NotificationService';
export declare class ProcessModelApiService {
private readonly coreAccess;
private readonly executeProcessService;
private readonly iamService;
private readonly logger;
private readonly notificationService;
private readonly processDefinitionMediator;
private readonly processInstanceDatabaseAdapter;
private readonly identityService;
private internalIdentity;
private readonly config;
constructor(coreAccess: CoreAccessService, executeProcessService: ExecuteProcessService, iamService: IamService, notificationService: NotificationService, processDefinitionMediator: ProcessDefinitionMediator, processInstanceDatabaseAdapter: ProcessInstanceDatabaseAdapter, identityService: IdentityService);
initialize(): void;
getAll(identity: Identity, includeCount?: boolean, offset?: number, limit?: number): Promise<ProcessModelList>;
getById(identity: Identity, processModelId: string): Promise<ProcessModel>;
start<TPayload extends object>(identity: Identity, request: ProcessStartRequest<TPayload>): Promise<ProcessStartResponse>;
setIsExecutableFlagForProcessModel(identity: Identity, processModelId: string, isExecutable: boolean): Promise<void>;
deleteDefinitionByProcessModelId(identity: Identity, processModelId: string, deleteAllRelatedData: boolean, force: boolean): Promise<void>;
private stopRunningProcessInstancesForProcessDefinition;
private validateProcessStartRequest;
private startProcessInstance;
private startProcessInstanceAndAwaitEndEvent;
private ensureProcessDefinitionIsNotInUse;
private terminateProcessInstance;
private ensureHasClaim;
}
export interface ProcessModelApiServiceProxy {
getAll(identity: Identity, includeCount?: boolean, offset?: number, limit?: number): Promise<ProcessModelList>;
getById(identity: Identity, processModelId: string): Promise<ProcessModel>;
start<TPayload extends object>(identity: Identity, request: ProcessStartRequest<TPayload>): Promise<ProcessStartResponse>;
setIsExecutableFlagForProcessModel(identity: Identity, processModelId: string, isExecutable: boolean): Promise<void>;
deleteDefinitionByProcessModelId(identity: Identity, processModelId: string, deleteAllRelatedData: boolean, force: boolean): Promise<void>;
}
export declare const ProcessModelApiServiceProxyConfiguration: ProxyConfiguration;