n8n
Version:
n8n Workflow Automation Tool
43 lines (42 loc) • 2.37 kB
TypeScript
import type { CreateFolderDto, DeleteFolderDto, UpdateFolderDto } from '@n8n/api-types';
import type { EntityManager } from '@n8n/typeorm';
import { Folder } from '../databases/entities/folder';
import { FolderTagMappingRepository } from '../databases/repositories/folder-tag-mapping.repository';
import { FolderRepository } from '../databases/repositories/folder.repository';
import { WorkflowRepository } from '../databases/repositories/workflow.repository';
import type { ListQuery } from '../requests';
export interface SimpleFolderNode {
id: string;
name: string;
children: SimpleFolderNode[];
}
export declare class FolderService {
private readonly folderRepository;
private readonly folderTagMappingRepository;
private readonly workflowRepository;
constructor(folderRepository: FolderRepository, folderTagMappingRepository: FolderTagMappingRepository, workflowRepository: WorkflowRepository);
createFolder({ parentFolderId, name }: CreateFolderDto, projectId: string): Promise<{
name: string;
parentFolderId: string | null;
parentFolder: Folder | null;
subFolders: Folder[];
workflows: import("../databases/entities/workflow-entity").WorkflowEntity[];
tags: import("../databases/entities/tag-entity").TagEntity[];
id: string;
createdAt: Date;
updatedAt: Date;
workflowCount: boolean;
subFolderCount: number;
}>;
updateFolder(folderId: string, projectId: string, { name, tagIds, parentFolderId }: UpdateFolderDto): Promise<void>;
findFolderInProjectOrFail(folderId: string, projectId: string, em?: EntityManager): Promise<Folder>;
getFolderTree(folderId: string, projectId: string): Promise<SimpleFolderNode[]>;
deleteFolder(folderId: string, projectId: string, { transferToFolderId }: DeleteFolderDto): Promise<void>;
transferAllFoldersToProject(fromProjectId: string, toProjectId: string, tx?: EntityManager): Promise<import("@n8n/typeorm").UpdateResult>;
private transformFolderPathToTree;
getFolderAndWorkflowCount(folderId: string, projectId: string): Promise<{
totalSubFolders: number;
totalWorkflows: number;
}>;
getManyAndCount(projectId: string, options: ListQuery.Options): Promise<[import("../databases/entities/folder").FolderWithWorkflowAndSubFolderCount[], number]>;
}