Skip to content

Commit

Permalink
fix(core): Fix handling of common events for relays (n8n-io#10135)
Browse files Browse the repository at this point in the history
  • Loading branch information
ivov authored Jul 23, 2024
1 parent f2ad122 commit d2a3a4a
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 22 deletions.
16 changes: 6 additions & 10 deletions packages/cli/src/eventbus/audit-event-relay.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ export class AuditEventRelay {
this.eventService.on('user-password-reset-request-click', (event) =>
this.userPasswordResetRequestClick(event),
);
this.eventService.on('public-api-key-created', (event) => this.apiKeyCreated(event));
this.eventService.on('public-api-key-deleted', (event) => this.apiKeyDeleted(event));
this.eventService.on('public-api-key-created', (event) => this.publicApiKeyCreated(event));
this.eventService.on('public-api-key-deleted', (event) => this.publicApiKeyDeleted(event));
this.eventService.on('email-failed', (event) => this.emailFailed(event));
this.eventService.on('credentials-created', (event) => this.credentialsCreated(event));
this.eventService.on('credentials-deleted', (event) => this.credentialsDeleted(event));
Expand Down Expand Up @@ -257,22 +257,18 @@ export class AuditEventRelay {
*/

@Redactable()
private apiKeyCreated(event: Event['public-api-key-created']) {
if ('publicApi' in event) return;

private publicApiKeyCreated({ user }: Event['public-api-key-created']) {
void this.eventBus.sendAuditEvent({
eventName: 'n8n.audit.user.api.created',
payload: event.user,
payload: user,
});
}

@Redactable()
private apiKeyDeleted(event: Event['public-api-key-deleted']) {
if ('publicApi' in event) return;

private publicApiKeyDeleted({ user }: Event['public-api-key-deleted']) {
void this.eventBus.sendAuditEvent({
eventName: 'n8n.audit.user.api.deleted',
payload: event.user,
payload: user,
});
}

Expand Down
22 changes: 14 additions & 8 deletions packages/cli/src/eventbus/event.types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -112,14 +112,6 @@ export type Event = {
apiVersion: string;
};

'public-api-key-created':
| { user: UserLike } // audit
| { user: UserLike; publicApi: boolean }; // telemetry

'public-api-key-deleted':
| { user: UserLike } // audit
| { user: UserLike; publicApi: boolean }; // telemetry

'email-failed': {
user: UserLike;
messageType:
Expand Down Expand Up @@ -275,4 +267,18 @@ export type Event = {
isNew: boolean;
errorMessage?: string;
};

/**
* Events listened to by more than one relay
*/

'public-api-key-created': {
user: UserLike; // audit and telemetry
publicApi: boolean; // telemetry only
};

'public-api-key-deleted': {
user: UserLike; // audit and telemetry
publicApi: boolean; // telemetry only
};
};
4 changes: 0 additions & 4 deletions packages/cli/src/telemetry/telemetry-event-relay.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -219,8 +219,6 @@ export class TelemetryEventRelay {
}

private publicApiKeyCreated(event: Event['public-api-key-created']) {
if (!('publicApi' in event)) return;

const { user, publicApi } = event;

void this.telemetry.track('API key created', {
Expand All @@ -230,8 +228,6 @@ export class TelemetryEventRelay {
}

private publicApiKeyDeleted(event: Event['public-api-key-deleted']) {
if (!('publicApi' in event)) return;

const { user, publicApi } = event;

void this.telemetry.track('API key deleted', {
Expand Down

0 comments on commit d2a3a4a

Please sign in to comment.