UNPKG

n8n

Version:

n8n Workflow Automation Tool

39 lines (38 loc) 1.7 kB
import type { Folder, Project, User, WorkflowEntity } from '@n8n/db'; import { SharedWorkflowRepository } from '@n8n/db'; import { FolderFinderService } from '../../../../services/folder-finder.service'; import { ProjectService } from '../../../../services/project.service.ee'; import { WorkflowFinderService } from '../../../../workflows/workflow-finder.service'; import type { WorkflowSubWorkflowRequirement } from './workflow.types'; export type WorkflowExportOrigin = 'top-level' | 'folder' | 'project'; export interface AutoIncludedWorkflow { workflow: WorkflowEntity; placement: WorkflowExportOrigin; ownerProject: Project; folderChain: Folder[]; } export interface AutoIncludedWorkflowResolution { autoIncludedWorkflows: AutoIncludedWorkflow[]; } export declare class AutoIncludedWorkflowResolver { private readonly workflowFinder; private readonly folderFinder; private readonly projectService; private readonly sharedWorkflowRepository; constructor(workflowFinder: WorkflowFinderService, folderFinder: FolderFinderService, projectService: ProjectService, sharedWorkflowRepository: SharedWorkflowRepository); resolve(options: { user: User; requirements: WorkflowSubWorkflowRequirement[]; topLevelWorkflowIds: string[]; folderWorkflowIds: string[]; projectWorkflowIds: string[]; includeTags: boolean; }): Promise<AutoIncludedWorkflowResolution>; private seedExportedOrigins; private propagateOrigins; private buildAutoIncludedWorkflows; private choosePlacement; private findExportableWorkflows; private findAccessibleFolderChains; private findAccessibleProjects; }