UNPKG

n8n

Version:

n8n Workflow Automation Tool

74 lines (73 loc) 4.14 kB
import { Logger } from '@n8n/backend-common'; import { WorkflowsConfig } from '@n8n/config'; import type { WorkflowEntity, WorkflowPublicationTriggerKind } from '@n8n/db'; import { WorkflowRepository } from '@n8n/db'; import { ErrorReporter, Tracing } from 'n8n-core'; import type { IConnections, INode, WorkflowActivateMode, WorkflowId } from 'n8n-workflow'; import { ActivationErrorsService } from '../../activation-errors.service'; import { EventService } from '../../events/event.service'; import { NodeTypes } from '../../node-types'; import { NonWebhookTriggerRegistrar } from '../../workflows/triggers/non-webhook-trigger-registrar'; import { TriggerCountService } from '../../workflows/triggers/trigger-count.service'; import { TriggerExecutionContextFactory } from '../../workflows/triggers/trigger-execution-context.factory'; import { WebhookTriggerRegistrar } from '../../workflows/triggers/webhook-trigger-registrar'; import { WorkflowStaticDataService } from '../../workflows/workflow-static-data.service'; export type WorkflowTriggerVersion = { nodes: INode[]; connections: IConnections; }; export interface TriggerOperationAbort { signal: AbortSignal; onDetached: (work: Promise<unknown>) => void; } export type TriggerActivationFailure = { nodeId: INode['id']; nodeName: string; error: Error; }; export type TriggerActivationOutcome = { activated: Array<INode['id']>; failures: TriggerActivationFailure[]; }; export declare class WorkflowTriggerActivator { private readonly logger; private readonly errorReporter; private readonly nodeTypes; private readonly workflowRepository; private readonly workflowStaticDataService; private readonly workflowsConfig; private readonly triggerExecutionContextFactory; private readonly webhookTriggerRegistrar; private readonly nonWebhookTriggerRegistrar; private readonly triggerCountService; private readonly activationErrorsService; private readonly tracing; private readonly eventService; constructor(logger: Logger, errorReporter: ErrorReporter, nodeTypes: NodeTypes, workflowRepository: WorkflowRepository, workflowStaticDataService: WorkflowStaticDataService, workflowsConfig: WorkflowsConfig, triggerExecutionContextFactory: TriggerExecutionContextFactory, webhookTriggerRegistrar: WebhookTriggerRegistrar, nonWebhookTriggerRegistrar: NonWebhookTriggerRegistrar, triggerCountService: TriggerCountService, activationErrorsService: ActivationErrorsService, tracing: Tracing, eventService: EventService); getEnabledTriggerNodes(version: WorkflowTriggerVersion | null): INode[]; getTriggerKinds(nodes: INode[]): Map<INode['id'], WorkflowPublicationTriggerKind>; getUnregisteredNonWebhookTriggerNodeIds(workflowId: WorkflowId, desiredNodes: INode[]): Set<INode['id']>; getNodesWithUnregisteredWebhooks(dbWorkflow: WorkflowEntity, version: WorkflowTriggerVersion): Promise<Set<INode['id']>>; private getNonWebhookTriggerNodeIds; activate(dbWorkflow: WorkflowEntity, version: WorkflowTriggerVersion, nodeIds: Set<INode['id']>, activationMode: WorkflowActivateMode, abort: TriggerOperationAbort): Promise<TriggerActivationOutcome>; private activateInternal; deactivate(dbWorkflow: WorkflowEntity, version: WorkflowTriggerVersion, nodeIds: Set<INode['id']>, abort: TriggerOperationAbort): Promise<void>; private deactivateInternal; updateTriggerCount(dbWorkflow: WorkflowEntity, version: WorkflowTriggerVersion): Promise<void>; private emitTriggerOperation; private emitTriggerNodeOperations; private applyVersionToDbWorkflow; private createWorkflow; private registerWebhookTriggers; private registerWebhookTriggersForNode; private groupWebhookTriggersByNode; private deregisterWebhookTriggers; private getWebhookTriggersForNodeIds; private registerNonWebhookTriggers; private resolveNodeName; private deregisterNonWebhookTriggers; private getNonWebhookTriggerNodeIdsForNodeIds; private createWorkflowDataResolver; private throwRejectedPhaseError; private recoverFromRuntimeTriggerFailure; }