diff --git a/packages/twenty-server/src/modules/calendar/listeners/calendar-blocklist.listener.ts b/packages/twenty-server/src/modules/calendar/listeners/calendar-blocklist.listener.ts index b2259ba0e..ead863694 100644 --- a/packages/twenty-server/src/modules/calendar/listeners/calendar-blocklist.listener.ts +++ b/packages/twenty-server/src/modules/calendar/listeners/calendar-blocklist.listener.ts @@ -3,6 +3,7 @@ import { OnEvent } from '@nestjs/event-emitter'; import { ObjectRecordCreateEvent } from 'src/engine/integrations/event-emitter/types/object-record-create.event'; import { ObjectRecordDeleteEvent } from 'src/engine/integrations/event-emitter/types/object-record-delete.event'; +import { ObjectRecordUpdateEvent } from 'src/engine/integrations/event-emitter/types/object-record-update.event'; import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { @@ -23,10 +24,10 @@ export class CalendarBlocklistListener { ) {} @OnEvent('blocklist.created') - handleCreatedEvent( + async handleCreatedEvent( payload: ObjectRecordCreateEvent, ) { - this.messageQueueService.add( + await this.messageQueueService.add( BlocklistItemDeleteCalendarEventsJob.name, { workspaceId: payload.workspaceId, @@ -48,4 +49,26 @@ export class CalendarBlocklistListener { }, ); } + + @OnEvent('blocklist.updated') + async handleUpdatedEvent( + payload: ObjectRecordUpdateEvent, + ) { + await this.messageQueueService.add( + BlocklistItemDeleteCalendarEventsJob.name, + { + workspaceId: payload.workspaceId, + blocklistItemId: payload.recordId, + }, + ); + + await this.messageQueueService.add( + BlocklistReimportCalendarEventsJob.name, + { + workspaceId: payload.workspaceId, + workspaceMemberId: payload.properties.after.workspaceMember.id, + handle: payload.properties.before.handle, + }, + ); + } } diff --git a/packages/twenty-server/src/modules/messaging/listeners/messaging-blocklist.listener.ts b/packages/twenty-server/src/modules/messaging/listeners/messaging-blocklist.listener.ts index 9bacaccbd..03cd5e7c8 100644 --- a/packages/twenty-server/src/modules/messaging/listeners/messaging-blocklist.listener.ts +++ b/packages/twenty-server/src/modules/messaging/listeners/messaging-blocklist.listener.ts @@ -14,6 +14,7 @@ import { BlocklistItemDeleteMessagesJobData, BlocklistItemDeleteMessagesJob, } from 'src/modules/messaging/jobs/blocklist-item-delete-messages.job'; +import { ObjectRecordUpdateEvent } from 'src/engine/integrations/event-emitter/types/object-record-update.event'; @Injectable() export class MessagingBlocklistListener { @@ -48,4 +49,26 @@ export class MessagingBlocklistListener { }, ); } + + @OnEvent('blocklist.updated') + async handleUpdatedEvent( + payload: ObjectRecordUpdateEvent, + ) { + await this.messageQueueService.add( + BlocklistItemDeleteMessagesJob.name, + { + workspaceId: payload.workspaceId, + blocklistItemId: payload.recordId, + }, + ); + + await this.messageQueueService.add( + BlocklistReimportMessagesJob.name, + { + workspaceId: payload.workspaceId, + workspaceMemberId: payload.properties.after.workspaceMember.id, + handle: payload.properties.before.handle, + }, + ); + } }