UNPKG

n8n

Version:

n8n Workflow Automation Tool

45 lines 1.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.findWorkflowToolWorkflows = findWorkflowToolWorkflows; exports.findWorkflowToolWorkflow = findWorkflowToolWorkflow; exports.normalizeWorkflowToolRefs = normalizeWorkflowToolRefs; const typeorm_1 = require("@n8n/typeorm"); async function findWorkflowToolWorkflows(workflowRepository, workflowNames, projectId) { const uniqueNames = [...new Set(workflowNames)]; if (uniqueNames.length === 0) return new Map(); const workflows = await workflowRepository.find({ where: { name: (0, typeorm_1.In)(uniqueNames), shared: { projectId } }, select: ['id', 'name', 'nodes'], }); return new Map(workflows.map((workflow) => [workflow.name, workflow])); } async function findWorkflowToolWorkflow(workflowRepository, workflowName, projectId) { return await workflowRepository.findOne({ where: { name: workflowName, shared: { projectId } }, relations: ['shared'], }); } async function normalizeWorkflowToolRefs(workflowRepository, tools, projectId) { const refs = (tools ?? []).filter((tool) => tool.type === 'workflow'); if (refs.length === 0) return; const values = [...new Set(refs.map((ref) => ref.workflow))]; const workflows = await workflowRepository.find({ where: [ { name: (0, typeorm_1.In)(values), shared: { projectId } }, { id: (0, typeorm_1.In)(values), shared: { projectId } }, ], select: ['id', 'name'], }); const projectNames = new Set(workflows.map((workflow) => workflow.name)); const idToName = new Map(workflows.map((workflow) => [workflow.id, workflow.name])); for (const ref of refs) { if (projectNames.has(ref.workflow)) continue; const name = idToName.get(ref.workflow); if (name) ref.workflow = name; } } //# sourceMappingURL=workflow-tool-workflow-resolver.js.map