n8n
Version:
n8n Workflow Automation Tool
32 lines (31 loc) • 1.85 kB
TypeScript
import { BreakingChangeInstanceRuleResult, BreakingChangeReportResult, BreakingChangeVersion, BreakingChangeWorkflowRuleResult } from '@n8n/api-types';
import { Logger } from '@n8n/backend-common';
import { WorkflowRepository } from '@n8n/db';
import { ErrorReporter } from 'n8n-core';
import { RuleRegistry } from './breaking-changes.rule-registry.service';
import type { IBreakingChangeInstanceRule } from './types';
import { CacheService } from '../../services/cache/cache.service';
export declare class BreakingChangeService {
private readonly ruleRegistry;
private readonly workflowRepository;
private readonly cacheService;
private readonly logger;
private readonly errorReporter;
private readonly batchSize;
private static readonly REPORT_DURATION_CACHE_THRESHOLD;
private static readonly CACHE_KEY_PREFIX;
private readonly ongoingDetections;
constructor(ruleRegistry: RuleRegistry, workflowRepository: WorkflowRepository, cacheService: CacheService, logger: Logger, errorReporter: ErrorReporter);
registerRules(): void;
getAllInstanceRulesResults(instanceLevelRules: IBreakingChangeInstanceRule[]): Promise<BreakingChangeInstanceRuleResult[]>;
private groupNodesByType;
private aggregateRegularRuleResults;
private aggregateBatchRuleResults;
private getAllWorkflowRulesResults;
refreshDetectionResults(targetVersion: BreakingChangeVersion): Promise<BreakingChangeReportResult>;
getDetectionResults(targetVersion: BreakingChangeVersion): Promise<BreakingChangeReportResult>;
private shouldCacheDetection;
detect(targetVersion: BreakingChangeVersion): Promise<BreakingChangeReportResult>;
getDetectionReportForRule(ruleId: string): Promise<BreakingChangeInstanceRuleResult | BreakingChangeWorkflowRuleResult | undefined>;
private createDetectionReport;
}