n8n
Version:
n8n Workflow Automation Tool
36 lines (35 loc) • 2.32 kB
TypeScript
import type { SourceControlledFile } from '@n8n/api-types';
import { InstanceSettings, Logger } from 'n8n-core';
import { FolderRepository } from '../../databases/repositories/folder.repository';
import { SharedCredentialsRepository } from '../../databases/repositories/shared-credentials.repository';
import { SharedWorkflowRepository } from '../../databases/repositories/shared-workflow.repository';
import { TagRepository } from '../../databases/repositories/tag.repository';
import { WorkflowTagMappingRepository } from '../../databases/repositories/workflow-tag-mapping.repository';
import { WorkflowRepository } from '../../databases/repositories/workflow.repository';
import type { ExportResult } from './types/export-result';
import { VariablesService } from '../variables/variables.service.ee';
export declare class SourceControlExportService {
private readonly logger;
private readonly variablesService;
private readonly tagRepository;
private readonly sharedCredentialsRepository;
private readonly sharedWorkflowRepository;
private readonly workflowRepository;
private readonly workflowTagMappingRepository;
private readonly folderRepository;
private gitFolder;
private workflowExportFolder;
private credentialExportFolder;
constructor(logger: Logger, variablesService: VariablesService, tagRepository: TagRepository, sharedCredentialsRepository: SharedCredentialsRepository, sharedWorkflowRepository: SharedWorkflowRepository, workflowRepository: WorkflowRepository, workflowTagMappingRepository: WorkflowTagMappingRepository, folderRepository: FolderRepository, instanceSettings: InstanceSettings);
getWorkflowPath(workflowId: string): string;
getCredentialsPath(credentialsId: string): string;
deleteRepositoryFolder(): Promise<void>;
rmFilesFromExportFolder(filesToBeDeleted: Set<string>): Set<string>;
private writeExportableWorkflowsToExportFolder;
exportWorkflowsToWorkFolder(candidates: SourceControlledFile[]): Promise<ExportResult>;
exportVariablesToWorkFolder(): Promise<ExportResult>;
exportFoldersToWorkFolder(): Promise<ExportResult>;
exportTagsToWorkFolder(): Promise<ExportResult>;
private replaceCredentialData;
exportCredentialsToWorkFolder(candidates: SourceControlledFile[]): Promise<ExportResult>;
}