UNPKG

n8n

Version:

n8n Workflow Automation Tool

65 lines 2.91 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.restoreBinaryDataId = restoreBinaryDataId; const backend_common_1 = require("@n8n/backend-common"); const di_1 = require("@n8n/di"); const n8n_core_1 = require("n8n-core"); function collectRenameEntries(run, executionId) { const entriesByFileId = new Map(); for (const nodeRuns of Object.values(run.data.resultData.runData)) { for (const nodeRun of nodeRuns ?? []) { for (const outputs of nodeRun.data?.main ?? []) { for (const item of outputs ?? []) { for (const binaryData of Object.values(item?.binary ?? {})) { const binaryDataId = binaryData?.id; if (!binaryDataId) continue; const [mode, fileId] = binaryDataId.split(':'); if (!fileId.includes('/temp/')) continue; const existing = entriesByFileId.get(fileId); if (existing) { existing.binaryDataRefs.push(binaryData); } else { entriesByFileId.set(fileId, { binaryDataRefs: [binaryData], mode, fileId, correctFileId: fileId.replace('temp', executionId), }); } } } } } } return [...entriesByFileId.values()]; } async function restoreBinaryDataId(run, executionId, workflowExecutionMode) { if (workflowExecutionMode !== 'webhook' || di_1.Container.get(n8n_core_1.BinaryDataConfig).mode === 'default') { return; } try { const entries = collectRenameEntries(run, executionId); await Promise.all(entries.map(async ({ fileId, correctFileId }) => await di_1.Container.get(n8n_core_1.BinaryDataService).rename(fileId, correctFileId))); for (const { binaryDataRefs, mode, correctFileId } of entries) { for (const binaryData of binaryDataRefs) { binaryData.id = `${mode}:${correctFileId}`; } } } catch (e) { const error = e instanceof Error ? e : new Error(`${e}`); const logger = di_1.Container.get(backend_common_1.Logger); if (typeof error.message === 'string' && error.message.includes('ENOENT')) { logger.warn('Failed to restore binary data ID - No such file or dir', { executionId, error, }); return; } logger.error('Failed to restore binary data ID - Unknown error', { executionId, error }); } } //# sourceMappingURL=restore-binary-data-id.js.map