@5minds/node-red-contrib-processcube
Advanced tools
Comparing version 1.6.0-process-instance-delete-hotfix-120ac3-m4vdm2ls to 1.6.0-process-instance-delete-hotfix-25d953-m4vi4u0b
{ | ||
"name": "@5minds/node-red-contrib-processcube", | ||
"version": "1.6.0-process-instance-delete-hotfix-120ac3-m4vdm2ls", | ||
"version": "1.6.0-process-instance-delete-hotfix-25d953-m4vi4u0b", | ||
"license": "MIT", | ||
@@ -5,0 +5,0 @@ "description": "Node-RED nodes for ProcessCube", |
@@ -21,10 +21,22 @@ module.exports = function (RED) { | ||
const isHours = msg.payload.time_unit | ||
? msg.payload.time_unit.toLowerCase() === 'hours' | ||
: config.time_unit.toLowerCase() === 'hours'; | ||
const multiplier = isHours ? 1 : 24; | ||
// Gültige Werte für time_type | ||
const validTimeTypes = ['days', 'hours']; | ||
const timeType = msg.payload.time_type | ||
? msg.payload.time_type.toLowerCase() | ||
: config.time_type?.toLowerCase(); | ||
// time_type validieren | ||
if (!timeType || !validTimeTypes.includes(timeType)) { | ||
node.error(`Invalid time_type provided: ${timeType}. Allowed values are 'days' or 'hours'.`); | ||
return; | ||
} | ||
// Zeitmultiplikator berechnen | ||
const multiplier = timeType === 'hours' ? 1 : 24; | ||
node.log(`Time type: ${timeType}, multiplier: ${multiplier}`); | ||
const deletionDate = new Date(Date.now() - timeToUse * multiplier * 60 * 60 * 1000); | ||
node.log(`Errechnetes Datum: ${deletionDate}`); | ||
const modelId = msg.payload.processModelId?.trim() || config.modelid?.trim(); | ||
if (!modelId) { | ||
@@ -39,5 +51,6 @@ node.error('processModelId is not defined or empty.'); | ||
const result = await client.processInstances.query( | ||
{ processModelId: modelId, | ||
finishedBefore: deletionDate.toISOString(), | ||
state: ["finished", "error", "terminated"], | ||
{ | ||
processModelId: modelId, | ||
finishedBefore: deletionDate.toISOString(), | ||
state: ["finished", "error", "terminated"], | ||
}, | ||
@@ -58,10 +71,11 @@ { identity: node.engine.identity } | ||
for (let i = 0; i < ids.length; i += batchSize) { | ||
const batch = ids.slice(i, i + batchSize); | ||
try { | ||
await client.processInstances.deleteProcessInstances(batch, true, node.engine.identity); | ||
var batch = ids.slice(i, i + batchSize); | ||
try | ||
{ | ||
await client.processInstances.deleteProcessInstances(batch, true); | ||
msg.payload.successfulDeletions.push(...batch); | ||
} catch (deleteError) { | ||
batch.forEach((id) => { | ||
msg.payload.failedDeletions.push({ id, error: deleteError.message }); | ||
}); | ||
} | ||
catch (deleteError) | ||
{ | ||
batch.forEach((id) => {msg.payload.failedDeletions.push({ id, error: deleteError.message });}); | ||
node.warn(`Failed to delete process instances in batch for Model-ID: ${modelId}: ${batch.join(', ')}. Error: ${deleteError.message}`); | ||
@@ -68,0 +82,0 @@ } |
Sorry, the diff of this file is not supported yet
515794
9874
5