refactor: Revert "refactor(core): Use typedi to manage EventBus singletons (#5795)" (no-changelog) (#5825)

Revert "refactor(core): Use typedi to manage EventBus singletons (no-changelog) (#5795)"

This reverts commit 522c790817.
This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2023-03-30 09:59:04 +02:00
committed by GitHub
parent 6c35ffa82c
commit 58fda255fe
15 changed files with 154 additions and 145 deletions

View File

@@ -25,11 +25,11 @@ import type {
import { Telemetry } from '@/telemetry';
import type { AuthProviderType } from '@db/entities/AuthIdentity';
import { RoleService } from './role/role.service';
import { eventBus } from './eventbus';
import type { User } from '@db/entities/User';
import { N8N_VERSION } from '@/constants';
import * as Db from '@/Db';
import { NodeTypes } from './NodeTypes';
import { MessageEventBus } from '@/eventbus';
function userToPayload(user: User): {
userId: string;
@@ -51,11 +51,7 @@ function userToPayload(user: User): {
export class InternalHooks implements IInternalHooksClass {
private instanceId: string;
constructor(
private telemetry: Telemetry,
private nodeTypes: NodeTypes,
private eventBus: MessageEventBus,
) {}
constructor(private telemetry: Telemetry, private nodeTypes: NodeTypes) {}
async init(instanceId: string) {
this.instanceId = instanceId;
@@ -115,7 +111,7 @@ export class InternalHooks implements IInternalHooksClass {
async onWorkflowCreated(user: User, workflow: IWorkflowBase, publicApi: boolean): Promise<void> {
const { nodeGraph } = TelemetryHelpers.generateNodesGraph(workflow, this.nodeTypes);
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.workflow.created',
payload: {
...userToPayload(user),
@@ -134,7 +130,7 @@ export class InternalHooks implements IInternalHooksClass {
async onWorkflowDeleted(user: User, workflowId: string, publicApi: boolean): Promise<void> {
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.workflow.deleted',
payload: {
...userToPayload(user),
@@ -166,7 +162,7 @@ export class InternalHooks implements IInternalHooksClass {
}
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.workflow.updated',
payload: {
...userToPayload(user),
@@ -198,7 +194,7 @@ export class InternalHooks implements IInternalHooksClass {
nodeName: string,
): Promise<void> {
const nodeInWorkflow = workflow.nodes.find((node) => node.name === nodeName);
void this.eventBus.sendNodeEvent({
void eventBus.sendNodeEvent({
eventName: 'n8n.node.started',
payload: {
executionId,
@@ -216,7 +212,7 @@ export class InternalHooks implements IInternalHooksClass {
nodeName: string,
): Promise<void> {
const nodeInWorkflow = workflow.nodes.find((node) => node.name === nodeName);
void this.eventBus.sendNodeEvent({
void eventBus.sendNodeEvent({
eventName: 'n8n.node.finished',
payload: {
executionId,
@@ -234,7 +230,7 @@ export class InternalHooks implements IInternalHooksClass {
): Promise<void> {
void Promise.all([
Db.collections.Execution.update(executionId, { status: 'running' }),
this.eventBus.sendWorkflowEvent({
eventBus.sendWorkflowEvent({
eventName: 'n8n.workflow.started',
payload: {
executionId,
@@ -253,7 +249,7 @@ export class InternalHooks implements IInternalHooksClass {
workflowData?: IWorkflowBase,
): Promise<void> {
void Promise.all([
this.eventBus.sendWorkflowEvent({
eventBus.sendWorkflowEvent({
eventName: 'n8n.workflow.crashed',
payload: {
executionId,
@@ -414,7 +410,7 @@ export class InternalHooks implements IInternalHooksClass {
promises.push(
properties.success
? this.eventBus.sendWorkflowEvent({
? eventBus.sendWorkflowEvent({
eventName: 'n8n.workflow.success',
payload: {
executionId,
@@ -425,7 +421,7 @@ export class InternalHooks implements IInternalHooksClass {
workflowName: workflow.name,
},
})
: this.eventBus.sendWorkflowEvent({
: eventBus.sendWorkflowEvent({
eventName: 'n8n.workflow.failed',
payload: {
executionId,
@@ -473,7 +469,7 @@ export class InternalHooks implements IInternalHooksClass {
publicApi: boolean;
}): Promise<void> {
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.user.deleted',
payload: {
...userToPayload(userDeletionData.user),
@@ -494,7 +490,7 @@ export class InternalHooks implements IInternalHooksClass {
email_sent: boolean;
}): Promise<void> {
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.user.invited',
payload: {
...userToPayload(userInviteData.user),
@@ -516,7 +512,7 @@ export class InternalHooks implements IInternalHooksClass {
public_api: boolean;
}): Promise<void> {
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.user.reinvited',
payload: {
...userToPayload(userReinviteData.user),
@@ -575,7 +571,7 @@ export class InternalHooks implements IInternalHooksClass {
async onUserUpdate(userUpdateData: { user: User; fields_changed: string[] }): Promise<void> {
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.user.updated',
payload: {
...userToPayload(userUpdateData.user),
@@ -594,7 +590,7 @@ export class InternalHooks implements IInternalHooksClass {
invitee: User;
}): Promise<void> {
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.user.invitation.accepted',
payload: {
invitee: {
@@ -613,7 +609,7 @@ export class InternalHooks implements IInternalHooksClass {
async onUserPasswordResetEmailClick(userPasswordResetData: { user: User }): Promise<void> {
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.user.reset',
payload: {
...userToPayload(userPasswordResetData.user),
@@ -647,7 +643,7 @@ export class InternalHooks implements IInternalHooksClass {
async onApiKeyDeleted(apiKeyDeletedData: { user: User; public_api: boolean }): Promise<void> {
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.user.api.deleted',
payload: {
...userToPayload(apiKeyDeletedData.user),
@@ -662,7 +658,7 @@ export class InternalHooks implements IInternalHooksClass {
async onApiKeyCreated(apiKeyCreatedData: { user: User; public_api: boolean }): Promise<void> {
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.user.api.created',
payload: {
...userToPayload(apiKeyCreatedData.user),
@@ -677,7 +673,7 @@ export class InternalHooks implements IInternalHooksClass {
async onUserPasswordResetRequestClick(userPasswordResetData: { user: User }): Promise<void> {
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.user.reset.requested',
payload: {
...userToPayload(userPasswordResetData.user),
@@ -701,7 +697,7 @@ export class InternalHooks implements IInternalHooksClass {
},
): Promise<void> {
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.user.signedup',
payload: {
...userToPayload(user),
@@ -720,7 +716,7 @@ export class InternalHooks implements IInternalHooksClass {
public_api: boolean;
}): Promise<void> {
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.user.email.failed',
payload: {
messageType: failedEmailData.message_type,
@@ -745,7 +741,7 @@ export class InternalHooks implements IInternalHooksClass {
public_api: boolean;
}): Promise<void> {
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.user.credentials.created',
payload: {
...userToPayload(userCreatedCredentialsData.user),
@@ -773,7 +769,7 @@ export class InternalHooks implements IInternalHooksClass {
sharees_removed: number | null;
}): Promise<void> {
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.user.credentials.shared',
payload: {
...userToPayload(userSharedCredentialsData.user),
@@ -813,7 +809,7 @@ export class InternalHooks implements IInternalHooksClass {
failure_reason?: string;
}): Promise<void> {
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.package.installed',
payload: {
...userToPayload(installationData.user),
@@ -851,7 +847,7 @@ export class InternalHooks implements IInternalHooksClass {
package_author_email?: string;
}): Promise<void> {
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.package.updated',
payload: {
...userToPayload(updateData.user),
@@ -884,7 +880,7 @@ export class InternalHooks implements IInternalHooksClass {
package_author_email?: string;
}): Promise<void> {
void Promise.all([
this.eventBus.sendAuditEvent({
eventBus.sendAuditEvent({
eventName: 'n8n.audit.package.deleted',
payload: {
...userToPayload(deleteData.user),