UNPKG

n8n

Version:

n8n Workflow Automation Tool

304 lines (303 loc) 11.7 kB
import type { AuthenticationMethod, IRun, IWorkflowBase, WorkflowExecuteMode } from 'n8n-workflow'; import { InstanceSettings } from 'n8n-core'; import type { AuthProviderType } from './databases/entities/AuthIdentity'; import type { GlobalRole, User } from './databases/entities/User'; import type { ExecutionMetadata } from './databases/entities/ExecutionMetadata'; import { SharedWorkflowRepository } from './databases/repositories/sharedWorkflow.repository'; import { WorkflowRepository } from './databases/repositories/workflow.repository'; import { MessageEventBus } from './eventbus/MessageEventBus/MessageEventBus'; import type { ITelemetryUserDeletionData, IWorkflowDb, IWorkflowExecutionDataProcess } from './Interfaces'; import { License } from './License'; import { EventsService } from './services/events.service'; import { NodeTypes } from './NodeTypes'; import { Telemetry } from './telemetry'; import type { Project } from './databases/entities/Project'; import type { ProjectRole } from './databases/entities/ProjectRelation'; import { ProjectRelationRepository } from './databases/repositories/projectRelation.repository'; import { SharedCredentialsRepository } from './databases/repositories/sharedCredentials.repository'; export declare class InternalHooks { private readonly telemetry; private readonly nodeTypes; private readonly sharedWorkflowRepository; private readonly workflowRepository; private readonly instanceSettings; private readonly eventBus; private readonly license; private readonly projectRelationRepository; private readonly sharedCredentialsRepository; constructor(telemetry: Telemetry, nodeTypes: NodeTypes, sharedWorkflowRepository: SharedWorkflowRepository, workflowRepository: WorkflowRepository, eventsService: EventsService, instanceSettings: InstanceSettings, eventBus: MessageEventBus, license: License, projectRelationRepository: ProjectRelationRepository, sharedCredentialsRepository: SharedCredentialsRepository); init(): Promise<void>; onServerStarted(): Promise<unknown[]>; onFrontendSettingsAPI(pushRef?: string): Promise<void>; onPersonalizationSurveySubmitted(userId: string, answers: Record<string, string>): Promise<void>; onWorkflowCreated(user: User, workflow: IWorkflowBase, project: Project, publicApi: boolean): Promise<void>; onWorkflowDeleted(user: User, workflowId: string, publicApi: boolean): Promise<void>; onWorkflowSaved(user: User, workflow: IWorkflowDb, publicApi: boolean): Promise<void>; onNodeBeforeExecute(executionId: string, workflow: IWorkflowBase, nodeName: string): Promise<void>; onNodePostExecute(executionId: string, workflow: IWorkflowBase, nodeName: string): Promise<void>; onWorkflowBeforeExecute(executionId: string, data: IWorkflowExecutionDataProcess | IWorkflowBase): Promise<void>; onWorkflowCrashed(executionId: string, executionMode: WorkflowExecuteMode, workflowData?: IWorkflowBase, executionMetadata?: ExecutionMetadata[]): Promise<void>; onWorkflowPostExecute(executionId: string, workflow: IWorkflowBase, runData?: IRun, userId?: string): Promise<void>; onWorkflowSharingUpdate(workflowId: string, userId: string, userList: string[]): Promise<void>; onN8nStop(): Promise<void>; onUserDeletion(userDeletionData: { user: User; telemetryData: ITelemetryUserDeletionData; publicApi: boolean; }): Promise<void>; onUserInvite(userInviteData: { user: User; target_user_id: string[]; public_api: boolean; email_sent: boolean; invitee_role: string; }): Promise<void>; onUserRoleChange(userRoleChangeData: { user: User; target_user_id: string; public_api: boolean; target_user_new_role: string; }): Promise<void>; onUserReinvite(userReinviteData: { user: User; target_user_id: string; public_api: boolean; }): Promise<void>; onUserRetrievedUser(userRetrievedData: { user_id: string; public_api: boolean; }): Promise<void>; onUserRetrievedAllUsers(userRetrievedData: { user_id: string; public_api: boolean; }): Promise<void>; onUserRetrievedExecution(userRetrievedData: { user_id: string; public_api: boolean; }): Promise<void>; onUserRetrievedAllExecutions(userRetrievedData: { user_id: string; public_api: boolean; }): Promise<void>; onUserRetrievedWorkflow(userRetrievedData: { user_id: string; public_api: boolean; }): Promise<void>; onUserRetrievedAllWorkflows(userRetrievedData: { user_id: string; public_api: boolean; }): Promise<void>; onUserUpdate(userUpdateData: { user: User; fields_changed: string[]; }): Promise<void>; onUserInviteEmailClick(userInviteClickData: { inviter: User; invitee: User; }): Promise<void>; onUserPasswordResetEmailClick(userPasswordResetData: { user: User; }): Promise<void>; onUserTransactionalEmail(userTransactionalEmailData: { user_id: string; message_type: 'Reset password' | 'New user invite' | 'Resend invite' | 'Workflow shared' | 'Credentials shared'; public_api: boolean; }): Promise<void>; onUserInvokedApi(userInvokedApiData: { user_id: string; path: string; method: string; api_version: string; }): Promise<void>; onApiKeyDeleted(apiKeyDeletedData: { user: User; public_api: boolean; }): Promise<void>; onApiKeyCreated(apiKeyCreatedData: { user: User; public_api: boolean; }): Promise<void>; onUserPasswordResetRequestClick(userPasswordResetData: { user: User; }): Promise<void>; onInstanceOwnerSetup(instanceOwnerSetupData: { user_id: string; }): Promise<void>; onUserSignup(user: User, userSignupData: { user_type: AuthProviderType; was_disabled_ldap_user: boolean; }): Promise<void>; onEmailFailed(failedEmailData: { user: User; message_type: 'Reset password' | 'New user invite' | 'Resend invite' | 'Workflow shared' | 'Credentials shared'; public_api: boolean; }): Promise<void>; onUserLoginSuccess(userLoginData: { user: User; authenticationMethod: AuthenticationMethod; }): Promise<void>; onUserLoginFailed(userLoginData: { user: string; authenticationMethod: AuthenticationMethod; reason?: string; }): Promise<void>; onUserCreatedCredentials(userCreatedCredentialsData: { user: User; credential_name: string; credential_type: string; credential_id: string; public_api: boolean; }): Promise<void>; onUserSharedCredentials(userSharedCredentialsData: { user: User; credential_name: string; credential_type: string; credential_id: string; user_id_sharer: string; user_ids_sharees_added: string[]; sharees_removed: number | null; }): Promise<void>; onUserUpdatedCredentials(userUpdatedCredentialsData: { user: User; credential_name: string; credential_type: string; credential_id: string; }): Promise<void>; onUserDeletedCredentials(userUpdatedCredentialsData: { user: User; credential_name: string; credential_type: string; credential_id: string; }): Promise<void>; onCommunityPackageInstallFinished(installationData: { user: User; input_string: string; package_name: string; success: boolean; package_version?: string; package_node_names?: string[]; package_author?: string; package_author_email?: string; failure_reason?: string; }): Promise<void>; onCommunityPackageUpdateFinished(updateData: { user: User; package_name: string; package_version_current: string; package_version_new: string; package_node_names: string[]; package_author?: string; package_author_email?: string; }): Promise<void>; onCommunityPackageDeleteFinished(deleteData: { user: User; package_name: string; package_version: string; package_node_names: string[]; package_author?: string; package_author_email?: string; }): Promise<void>; onLdapSyncFinished(data: { type: string; succeeded: boolean; users_synced: number; error: string; }): Promise<void>; onUserUpdatedLdapSettings(data: { user_id: string; loginIdAttribute: string; firstNameAttribute: string; lastNameAttribute: string; emailAttribute: string; ldapIdAttribute: string; searchPageSize: number; searchTimeout: number; synchronizationEnabled: boolean; synchronizationInterval: number; loginLabel: string; loginEnabled: boolean; }): Promise<void>; onLdapLoginSyncFailed(data: { error: string; }): Promise<void>; userLoginFailedDueToLdapDisabled(data: { user_id: string; }): Promise<void>; onFirstProductionWorkflowSuccess(data: { user_id: string; workflow_id: string; }): Promise<void>; onFirstWorkflowDataLoad(data: { user_id: string; workflow_id: string; node_type: string; node_id: string; credential_type?: string; credential_id?: string; }): Promise<void>; onLicenseRenewAttempt(data: { success: boolean; }): Promise<void>; onAuditGeneratedViaCli(): Promise<void>; onVariableCreated(createData: { variable_type: string; }): Promise<void>; onSourceControlSettingsUpdated(data: { branch_name: string; read_only_instance: boolean; repo_type: 'github' | 'gitlab' | 'other'; connected: boolean; }): Promise<void>; onSourceControlUserStartedPullUI(data: { workflow_updates: number; workflow_conflicts: number; cred_conflicts: number; }): Promise<void>; onSourceControlUserFinishedPullUI(data: { workflow_updates: number; }): Promise<void>; onSourceControlUserPulledAPI(data: { workflow_updates: number; forced: boolean; }): Promise<void>; onSourceControlUserStartedPushUI(data: { workflows_eligible: number; workflows_eligible_with_conflicts: number; creds_eligible: number; creds_eligible_with_conflicts: number; variables_eligible: number; }): Promise<void>; onSourceControlUserFinishedPushUI(data: { workflows_eligible: number; workflows_pushed: number; creds_pushed: number; variables_pushed: number; }): Promise<void>; onExternalSecretsProviderSettingsSaved(saveData: { user_id?: string | undefined; vault_type: string; is_valid: boolean; is_new: boolean; error_message?: string | undefined; }): Promise<void>; onTeamProjectCreated(data: { user_id: string; role: GlobalRole; }): Promise<void>; onTeamProjectDeleted(data: { user_id: string; role: GlobalRole; project_id: string; removal_type: 'delete' | 'transfer'; target_project_id?: string; }): Promise<void>; onTeamProjectUpdated(data: { user_id: string; role: GlobalRole; project_id: string; members: Array<{ user_id: string; role: ProjectRole; }>; }): Promise<void>; }