UNPKG

n8n

Version:

n8n Workflow Automation Tool

67 lines 2.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toPackageSummary = toPackageSummary; exports.toImportedWorkflowSummaries = toImportedWorkflowSummaries; exports.buildImportResult = buildImportResult; exports.assertPackageImportApiKeyScopes = assertPackageImportApiKeyScopes; exports.identifyRequirements = identifyRequirements; exports.scopeCredentialBindingsToRequirements = scopeCredentialBindingsToRequirements; const forbidden_error_1 = require("../../../errors/response-errors/forbidden.error"); const n8n_packages_types_1 = require("../n8n-packages.types"); function toPackageSummary(manifest) { return { sourceN8nVersion: manifest.sourceN8nVersion, sourceId: manifest.sourceId, exportedAt: manifest.exportedAt, }; } function toImportedWorkflowSummaries(outcomes, projectId) { return outcomes.map(({ workflow, sourceWorkflowId, status, publishing }) => ({ sourceWorkflowId, localId: workflow.id, name: workflow.name, projectId, parentFolderId: workflow.parentFolder?.id ?? null, activeVersionId: workflow.activeVersionId ?? null, publishing, status, })); } function buildImportResult(input) { return { package: input.package, workflows: input.workflows, folders: input.folders, projects: input.projects, bindings: (0, n8n_packages_types_1.serializeBindings)(input.bindings), credentials: input.credentials, variables: input.variables, }; } function assertPackageImportApiKeyScopes(apiKeyScopes, required) { if (apiKeyScopes === undefined) return; for (const scope of required) { if (!apiKeyScopes.includes(scope)) { throw new forbidden_error_1.ForbiddenError('Forbidden'); } } } function identifyRequirements(requirements, workflows) { if (!requirements) return undefined; const importedIds = new Set(workflows.map((workflow) => workflow.sourceWorkflowId)); return requirements .map((requirement) => ({ ...requirement, usedByWorkflows: requirement.usedByWorkflows.filter((id) => importedIds.has(id)), })) .filter((requirement) => requirement.usedByWorkflows.length > 0); } function scopeCredentialBindingsToRequirements(bindings, requirements) { if (!bindings) return undefined; const requirementIds = new Set((requirements ?? []).map((requirement) => requirement.id)); return new Map([...bindings].filter(([sourceId]) => requirementIds.has(sourceId))); } //# sourceMappingURL=import-result.js.map