UNPKG

n8n

Version:

n8n Workflow Automation Tool

40 lines (39 loc) 1.84 kB
import { CredentialsRepository, WorkflowRepository } from '@n8n/db'; import type { INode, INodes, IConnections, IWorkflowSettings } from 'n8n-workflow'; import { CredentialTypes } from '../credential-types'; import { DynamicCredentialsProxy } from '../credentials/dynamic-credentials-proxy'; 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; private readonly credentialsRepository; private readonly dynamicCredentialsProxy; private readonly credentialTypes; constructor(workflowRepository: WorkflowRepository, credentialsRepository: CredentialsRepository, dynamicCredentialsProxy: DynamicCredentialsProxy, credentialTypes: CredentialTypes); private validateNodeConfiguration; private validateNodeParameters; validateCredentialNodeRestrictions(nodes: INode[]): WorkflowValidationResult; private getActiveCredentialTypes; validateForActivation(nodes: INodes, connections: IConnections, nodeTypes: NodeTypes): WorkflowValidationResult; validateDynamicCredentials(nodes: INode[], nodeTypes: NodeTypes, workflowSettings?: IWorkflowSettings): Promise<WorkflowValidationResult>; validateSubWorkflowReferences(workflowId: string, nodes: INode[]): Promise<SubWorkflowValidationResult>; private getWorkflowStatus; private hasValueProperty; private extractWorkflowId; private shouldSkipSubWorkflowValidation; }