UNPKG

@5minds/processcube_engine

Version:

The ProcessCube Engine. Stores and executes BPMNs.

55 lines 8.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ActivityInstanceHandlerFactory = void 0; const processcube_engine_sdk_1 = require("@5minds/processcube_engine_sdk"); const IocRegistrations_1 = require("../../../Contracts/IocRegistrations"); const BusinessRuleTaskInstanceHandler_1 = require("./BusinessRuleTaskInstanceHandler"); const CallActivityInstanceHandler_1 = require("./CallActivityInstanceHandler"); const CustomServiceTaskInstanceHandler_1 = require("./CustomServiceTaskInstanceHandler"); const ExternalServiceTaskInstanceHandler_1 = require("./ExternalServiceTaskInstanceHandler"); const HttpServiceTaskInstanceHandler_1 = require("./HttpServiceTaskInstanceHandler"); const ManualTaskInstanceHandler_1 = require("./ManualTaskInstanceHandler"); const ReceiveTaskInstanceHandler_1 = require("./ReceiveTaskInstanceHandler"); const ScriptTaskInstanceHandler_1 = require("./ScriptTaskInstanceHandler"); const SendTaskInstanceHandler_1 = require("./SendTaskInstanceHandler"); const SubProcessInstanceHandler_1 = require("./SubProcessInstanceHandler"); const UntypedTaskInstanceHandler_1 = require("./UntypedTaskInstanceHandler"); const UserTaskInstanceHandler_1 = require("./UserTaskInstanceHandler"); exports.ActivityInstanceHandlerFactory = { create(processInstance, activityHandler, previousFlowNodeInstanceId, instanceContext) { const container = processInstance.getContainer(); switch (activityHandler.flowNode.bpmnType) { case processcube_engine_sdk_1.BpmnType.serviceTask: const serviceTask = activityHandler.flowNode; if (serviceTask.type === processcube_engine_sdk_1.Model.Activities.ServiceTaskType.external) { return new ExternalServiceTaskInstanceHandler_1.ExternalServiceTaskInstanceHandler(container.get(IocRegistrations_1.IocRegistrationKeys.internal.EventMiddlewareHandler), container.get(IocRegistrations_1.IocRegistrationKeys.internal.ExternalTaskDatabaseAdapter), container.get(IocRegistrations_1.IocRegistrationKeys.internal.FlowNodeInstanceDatabaseAdapter), activityHandler, processInstance, previousFlowNodeInstanceId, instanceContext); } const invocation = serviceTask.invocation; if (invocation?.module === 'HttpClient') { return new HttpServiceTaskInstanceHandler_1.HttpServiceTaskInstanceHandler(container.get(IocRegistrations_1.IocRegistrationKeys.internal.EventMiddlewareHandler), container.get(IocRegistrations_1.IocRegistrationKeys.internal.FlowNodeInstanceDatabaseAdapter), activityHandler, processInstance, previousFlowNodeInstanceId, instanceContext); } return new CustomServiceTaskInstanceHandler_1.CustomServiceTaskInstanceHandler(container.get(IocRegistrations_1.IocRegistrationKeys.internal.EventMiddlewareHandler), container.get(IocRegistrations_1.IocRegistrationKeys.internal.FlowNodeInstanceDatabaseAdapter), activityHandler, processInstance, previousFlowNodeInstanceId, instanceContext); case processcube_engine_sdk_1.BpmnType.businessRuleTask: return new BusinessRuleTaskInstanceHandler_1.BusinessRuleTaskInstanceHandler(container.get(IocRegistrations_1.IocRegistrationKeys.internal.EventMiddlewareHandler), container.get(IocRegistrations_1.IocRegistrationKeys.internal.FlowNodeInstanceDatabaseAdapter), activityHandler, processInstance, previousFlowNodeInstanceId, instanceContext); case processcube_engine_sdk_1.BpmnType.callActivity: return new CallActivityInstanceHandler_1.CallActivityInstanceHandler(container.get(IocRegistrations_1.IocRegistrationKeys.core.services.CoreAccess), container.get(IocRegistrations_1.IocRegistrationKeys.internal.EventMiddlewareHandler), container.get(IocRegistrations_1.IocRegistrationKeys.internal.FlowNodeInstanceDatabaseAdapter), container.get(IocRegistrations_1.IocRegistrationKeys.internal.IdentityService), container.get(IocRegistrations_1.IocRegistrationKeys.internal.ProcessDefinitionMediator), container.get(IocRegistrations_1.IocRegistrationKeys.internal.ProcessInstanceDatabaseAdapter), container.get(IocRegistrations_1.IocRegistrationKeys.core.services.ProcessInstanceFactory), activityHandler, processInstance, previousFlowNodeInstanceId, instanceContext); case processcube_engine_sdk_1.BpmnType.untypedTask: return new UntypedTaskInstanceHandler_1.UntypedTaskInstanceHandler(container.get(IocRegistrations_1.IocRegistrationKeys.internal.EventMiddlewareHandler), container.get(IocRegistrations_1.IocRegistrationKeys.internal.FlowNodeInstanceDatabaseAdapter), activityHandler, processInstance, previousFlowNodeInstanceId, instanceContext); case processcube_engine_sdk_1.BpmnType.scriptTask: return new ScriptTaskInstanceHandler_1.ScriptTaskInstanceHandler(container.get(IocRegistrations_1.IocRegistrationKeys.internal.EventMiddlewareHandler), container.get(IocRegistrations_1.IocRegistrationKeys.internal.FlowNodeInstanceDatabaseAdapter), activityHandler, processInstance, previousFlowNodeInstanceId, instanceContext); case processcube_engine_sdk_1.BpmnType.subProcess: return new SubProcessInstanceHandler_1.SubProcessInstanceHandler(container.get(IocRegistrations_1.IocRegistrationKeys.core.services.CoreAccess), container.get(IocRegistrations_1.IocRegistrationKeys.internal.EventMiddlewareHandler), container.get(IocRegistrations_1.IocRegistrationKeys.internal.FlowNodeInstanceDatabaseAdapter), container.get(IocRegistrations_1.IocRegistrationKeys.internal.IdentityService), container.get(IocRegistrations_1.IocRegistrationKeys.internal.ProcessInstanceDatabaseAdapter), container.get(IocRegistrations_1.IocRegistrationKeys.core.services.ProcessInstanceFactory), activityHandler, processInstance, previousFlowNodeInstanceId, instanceContext); case processcube_engine_sdk_1.BpmnType.userTask: return new UserTaskInstanceHandler_1.UserTaskInstanceHandler(container.get(IocRegistrations_1.IocRegistrationKeys.internal.EventMiddlewareHandler), container.get(IocRegistrations_1.IocRegistrationKeys.internal.FlowNodeInstanceDatabaseAdapter), activityHandler, processInstance, previousFlowNodeInstanceId, instanceContext); case processcube_engine_sdk_1.BpmnType.sendTask: return new SendTaskInstanceHandler_1.SendTaskInstanceHandler(container.get(IocRegistrations_1.IocRegistrationKeys.internal.EventMiddlewareHandler), container.get(IocRegistrations_1.IocRegistrationKeys.internal.FlowNodeInstanceDatabaseAdapter), container.get(IocRegistrations_1.IocRegistrationKeys.core.services.MessageEventService), activityHandler, processInstance, previousFlowNodeInstanceId, instanceContext); case processcube_engine_sdk_1.BpmnType.receiveTask: return new ReceiveTaskInstanceHandler_1.ReceiveTaskInstanceHandler(container.get(IocRegistrations_1.IocRegistrationKeys.internal.EventMiddlewareHandler), container.get(IocRegistrations_1.IocRegistrationKeys.internal.FlowNodeInstanceDatabaseAdapter), container.get(IocRegistrations_1.IocRegistrationKeys.core.services.MessageEventService), activityHandler, processInstance, previousFlowNodeInstanceId, instanceContext); case processcube_engine_sdk_1.BpmnType.manualTask: return new ManualTaskInstanceHandler_1.ManualTaskInstanceHandler(container.get(IocRegistrations_1.IocRegistrationKeys.internal.EventMiddlewareHandler), container.get(IocRegistrations_1.IocRegistrationKeys.internal.FlowNodeInstanceDatabaseAdapter), activityHandler, processInstance, previousFlowNodeInstanceId, instanceContext); default: throw new processcube_engine_sdk_1.InternalServerError(`BPMN type \`${activityHandler.flowNode.bpmnType}\` cannot be instantiated by the ActivityInstanceHandlerFactory. Try the regular FlowNodeInstanceFactory.`, 'setup'); } }, }; //# sourceMappingURL=ActivityInstanceHandlerFactory.js.map