n8n
Version:
n8n Workflow Automation Tool
40 lines (39 loc) • 1.78 kB
TypeScript
import type { User } 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 { ProjectSerializer } from './project.serializer';
import type { PackageWriter } from '../../io/package-writer';
import type { ManifestEntry } from '../../spec/manifest.schema';
import { FolderExporter } from '../folder/folder.exporter';
import type { WorkflowExportRequirements } from '../requirements.types';
import { WorkflowExporter } from '../workflow/workflow.exporter';
export interface ProjectExportRequest {
user: User;
projectIds: string[];
writer: PackageWriter;
includeTags: boolean;
}
interface ProjectExportResult {
entries: ManifestEntry[];
folderEntries: ManifestEntry[];
workflowEntries: ManifestEntry[];
requirements: WorkflowExportRequirements;
projectTargetsById: Map<string, string>;
}
export declare class ProjectExporter {
private readonly projectService;
private readonly projectSerializer;
private readonly folderFinder;
private readonly workflowFinder;
private readonly folderExporter;
private readonly workflowExporter;
constructor(projectService: ProjectService, projectSerializer: ProjectSerializer, folderFinder: FolderFinderService, workflowFinder: WorkflowFinderService, folderExporter: FolderExporter, workflowExporter: WorkflowExporter);
export(request: ProjectExportRequest): Promise<ProjectExportResult>;
private exportProject;
private exportProjectShell;
private exportProjectFolders;
private exportProjectRootWorkflows;
private mergeProjectExportResults;
}
export {};