@5minds/processcube_engine
Version:
The ProcessCube Engine. Stores and executes BPMNs.
26 lines • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.initialize = initialize;
exports.registerCustomServiceTask = registerCustomServiceTask;
exports.removeCustomServiceTask = removeCustomServiceTask;
const processcube_engine_sdk_1 = require("@5minds/processcube_engine_sdk");
const Contracts_1 = require("../../Contracts");
let container;
function initialize(iocContainer) {
container = iocContainer;
}
function registerCustomServiceTask(serviceTaskType, serviceTaskHandler) {
const containerTag = `${Contracts_1.customServiceTaskPrefix}${serviceTaskType}`;
if (container.isBound(containerTag)) {
throw new processcube_engine_sdk_1.BadRequestError(`Custom Service Task of type '${serviceTaskType}' is already registered.`, 'extension');
}
container.bind(containerTag).toConstantValue(serviceTaskHandler);
}
async function removeCustomServiceTask(serviceTaskType) {
const containerTag = `${Contracts_1.customServiceTaskPrefix}${serviceTaskType}`;
if (!container.isBound(containerTag)) {
return;
}
await container.unbind(containerTag);
}
//# sourceMappingURL=CustomServiceTask.js.map