@5minds/processcube_engine
Version:
The ProcessCube Engine. Stores and executes BPMNs.
47 lines • 2.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = mapProcessDefinitionToPublicType;
exports.mapProcessModelToPublicType = mapProcessModelToPublicType;
const processcube_engine_sdk_1 = require("@5minds/processcube_engine_sdk");
function mapProcessDefinitionToPublicType(processDefinition, includeXml) {
const publicProcessDefinition = {
processDefinitionId: processDefinition.id,
hash: processDefinition.hash,
processModels: [],
deployedAt: processDefinition.deployedAt,
deployedByUserId: processDefinition.deployedByUserId,
};
if (includeXml) {
publicProcessDefinition.xml = processDefinition.raw;
}
for (const process of processDefinition.processes) {
const publicProcess = mapProcessModelToPublicType(process, processDefinition);
publicProcessDefinition.processModels.push(publicProcess);
}
return publicProcessDefinition;
}
function mapProcessModelToPublicType(process, processDefinition) {
const publicProcess = {
processDefinitionId: processDefinition.id,
processModelId: process.id,
processModelName: process.name,
version: process.version,
customProperties: {},
isExecutable: process.isExecutable,
isSingleton: process.isSingleton,
laneSet: process.laneSet,
startEvents: [],
endEvents: [],
flowNodes: [],
};
if (process.extensionElements?.camundaExtensionProperties) {
for (const extensionProperty of process.extensionElements.camundaExtensionProperties) {
publicProcess.customProperties[extensionProperty.name] = extensionProperty.value;
}
}
publicProcess.startEvents = process.getStartEvents().map((event) => processcube_engine_sdk_1.FlowNodeViewModelFactory.getViewModel(event, publicProcess));
publicProcess.endEvents = process.getEndEvents().map((event) => processcube_engine_sdk_1.FlowNodeViewModelFactory.getViewModel(event, publicProcess));
publicProcess.flowNodes = process.flowNodes.map((event) => processcube_engine_sdk_1.FlowNodeViewModelFactory.getViewModel(event, publicProcess));
return publicProcess;
}
//# sourceMappingURL=ProcessDefinitionMapper.js.map