n8n
Version:
n8n Workflow Automation Tool
30 lines (29 loc) • 1.03 kB
TypeScript
import { WorkflowRepository } from '@n8n/db';
import type { INode, INodes } from 'n8n-workflow';
import type { NodeTypes } from '../node-types';
export interface WorkflowValidationResult {
isValid: boolean;
error?: string;
}
export interface SubWorkflowValidationResult extends WorkflowValidationResult {
invalidReferences?: Array<{
nodeName: string;
workflowId: string;
workflowName?: string;
}>;
}
export interface WorkflowStatus {
exists: boolean;
isPublished: boolean;
name?: string;
}
export declare class WorkflowValidationService {
private readonly workflowRepository;
constructor(workflowRepository: WorkflowRepository);
validateForActivation(nodes: INodes, nodeTypes: NodeTypes): WorkflowValidationResult;
validateSubWorkflowReferences(workflowId: string, nodes: INode[]): Promise<SubWorkflowValidationResult>;
private getWorkflowStatus;
private hasValueProperty;
private extractWorkflowId;
private shouldSkipSubWorkflowValidation;
}