fix(core): Fix handling of common events for relays (#10135)

This commit is contained in:
Iván Ovejero 2024-07-23 12:31:56 +02:00 committed by GitHub
parent f2ad1222b1
commit d2a3a4a080
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 20 additions and 22 deletions

View file

@ -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));
@ -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,
});
}

View file

@ -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:
@ -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
};
};

View file

@ -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', {
@ -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', {