7154 deleted event is not emitted when calling destroyone (#7159)

Closes #7154
This commit is contained in:
Raphaël Bosi
2024-09-27 15:52:04 +02:00
committed by GitHub
parent ca906bbf6b
commit c9c2f32922
12 changed files with 128 additions and 15 deletions

View File

@ -19,8 +19,8 @@ export class CalendarEventCleanerConnectedAccountListener {
private readonly calendarQueueService: MessageQueueService,
) {}
@OnEvent('connectedAccount.deleted')
async handleDeletedEvent(
@OnEvent('connectedAccount.destroyed')
async handleDestroyedEvent(
payload: WorkspaceEventBatch<
ObjectRecordDeleteEvent<ConnectedAccountWorkspaceEntity>
>,

View File

@ -15,8 +15,8 @@ export class ConnectedAccountListener {
private readonly accountsToReconnectService: AccountsToReconnectService,
) {}
@OnEvent('connectedAccount.deleted')
async handleDeletedEvent(
@OnEvent('connectedAccount.destroyed')
async handleDestroyedEvent(
payload: WorkspaceEventBatch<
ObjectRecordDeleteEvent<ConnectedAccountWorkspaceEntity>
>,

View File

@ -8,7 +8,7 @@ import { TwentyORMManager } from 'src/engine/twenty-orm/twenty-orm.manager';
import { WorkspaceEventEmitter } from 'src/engine/workspace-event-emitter/workspace-event-emitter';
import { MessageChannelWorkspaceEntity } from 'src/modules/messaging/common/standard-objects/message-channel.workspace-entity';
@WorkspaceQueryHook(`connectedAccount.deleteOne`)
@WorkspaceQueryHook(`connectedAccount.destroyOne`)
export class ConnectedAccountDeleteOnePreQueryHook
implements WorkspaceQueryHookInstance
{
@ -34,7 +34,7 @@ export class ConnectedAccountDeleteOnePreQueryHook
});
this.workspaceEventEmitter.emit(
'messageChannel.deleted',
'messageChannel.destroyed',
messageChannels.map(
(messageChannel) =>
({

View File

@ -19,8 +19,8 @@ export class MessagingMessageCleanerConnectedAccountListener {
private readonly messageQueueService: MessageQueueService,
) {}
@OnEvent('connectedAccount.deleted')
async handleDeletedEvent(
@OnEvent('connectedAccount.destroyed')
async handleDestroyedEvent(
payload: WorkspaceEventBatch<
ObjectRecordDeleteEvent<ConnectedAccountWorkspaceEntity>
>,

View File

@ -19,8 +19,8 @@ export class MessagingMessageImportManagerMessageChannelListener {
private readonly messageQueueService: MessageQueueService,
) {}
@OnEvent('messageChannel.deleted')
async handleDeletedEvent(
@OnEvent('messageChannel.destroyed')
async handleDestroyedEvent(
payload: WorkspaceEventBatch<
ObjectRecordDeleteEvent<MessageChannelWorkspaceEntity>
>,

View File

@ -1,11 +1,12 @@
import { Injectable, Logger } from '@nestjs/common';
import { OnEvent } from '@nestjs/event-emitter';
import { FeatureFlagKey } from 'src/engine/core-modules/feature-flag/enums/feature-flag-key.enum';
import { FeatureFlagService } from 'src/engine/core-modules/feature-flag/services/feature-flag.service';
import { ObjectRecordCreateEvent } from 'src/engine/core-modules/event-emitter/types/object-record-create.event';
import { ObjectRecordDeleteEvent } from 'src/engine/core-modules/event-emitter/types/object-record-delete.event';
import { ObjectRecordDestroyEvent } from 'src/engine/core-modules/event-emitter/types/object-record-destroy.event';
import { ObjectRecordUpdateEvent } from 'src/engine/core-modules/event-emitter/types/object-record-update.event';
import { FeatureFlagKey } from 'src/engine/core-modules/feature-flag/enums/feature-flag-key.enum';
import { FeatureFlagService } from 'src/engine/core-modules/feature-flag/services/feature-flag.service';
import { InjectMessageQueue } from 'src/engine/core-modules/message-queue/decorators/message-queue.decorator';
import { MessageQueue } from 'src/engine/core-modules/message-queue/message-queue.constants';
import { MessageQueueService } from 'src/engine/core-modules/message-queue/services/message-queue.service';
@ -49,11 +50,19 @@ export class DatabaseEventTriggerListener {
await this.handleEvent(payload);
}
@OnEvent('*.destroyed')
async handleObjectRecordDestroyEvent(
payload: WorkspaceEventBatch<ObjectRecordDestroyEvent<any>>,
) {
await this.handleEvent(payload);
}
private async handleEvent(
payload: WorkspaceEventBatch<
| ObjectRecordCreateEvent<any>
| ObjectRecordUpdateEvent<any>
| ObjectRecordDeleteEvent<any>
| ObjectRecordDestroyEvent<any>
>,
) {
const workspaceId = payload.workspaceId;