UNPKG

n8n

Version:

n8n Workflow Automation Tool

50 lines 2.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.findWorkflowToolWorkflows = findWorkflowToolWorkflows; exports.findWorkflowToolWorkflow = findWorkflowToolWorkflow; exports.normalizeWorkflowToolRefs = normalizeWorkflowToolRefs; async function findWorkflowToolWorkflows(workflowRepository, refs, projectId) { if (refs.length === 0) return new Map(); const workflowIds = [ ...new Set(refs.flatMap((ref) => (ref.workflowId === undefined ? [] : [ref.workflowId]))), ]; const legacyWorkflowNames = [ ...new Set(refs.flatMap((ref) => (ref.workflowId === undefined ? [ref.workflow] : []))), ]; const workflows = await workflowRepository.findManyByAgentToolReferences(projectId, workflowIds, legacyWorkflowNames); const workflowsByReference = new Map(); const requestedIds = new Set(workflowIds); const requestedNames = new Set(legacyWorkflowNames); for (const workflow of workflows) { if (requestedIds.has(workflow.id)) workflowsByReference.set(workflow.id, workflow); if (requestedNames.has(workflow.name)) workflowsByReference.set(workflow.name, workflow); } return workflowsByReference; } async function findWorkflowToolWorkflow(workflowRepository, ref, projectId) { return await workflowRepository.findOneByAgentToolReference(projectId, { workflowName: ref.workflow, ...(ref.workflowId !== undefined ? { workflowId: ref.workflowId } : {}), }); } async function normalizeWorkflowToolRefs(workflowRepository, tools, projectId) { const refs = (tools ?? []).filter((tool) => tool.type === 'workflow'); const legacyRefs = refs.filter((ref) => ref.workflowId === undefined); if (legacyRefs.length === 0) return; const values = [...new Set(legacyRefs.map((ref) => ref.workflow))]; const workflows = await workflowRepository.findManyByAgentToolReferences(projectId, values, values); const projectNames = new Set(workflows.map((workflow) => workflow.name)); const idToName = new Map(workflows.map((workflow) => [workflow.id, workflow.name])); for (const ref of legacyRefs) { if (projectNames.has(ref.workflow)) continue; const name = idToName.get(ref.workflow); if (name) ref.workflow = name; } } //# sourceMappingURL=workflow-tool-workflow-resolver.js.map