6619 modify event emitter to emit an array of events (#6625)
Closes #6619 --------- Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
@ -1,5 +1,3 @@
|
||||
import { EventEmitter2 } from '@nestjs/event-emitter';
|
||||
|
||||
import { WorkspaceQueryHookInstance } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/interfaces/workspace-query-hook.interface';
|
||||
import { DeleteOneResolverArgs } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
|
||||
|
||||
@ -7,6 +5,7 @@ import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runne
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { ObjectRecordDeleteEvent } from 'src/engine/integrations/event-emitter/types/object-record-delete.event';
|
||||
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`)
|
||||
@ -15,7 +14,7 @@ export class ConnectedAccountDeleteOnePreQueryHook
|
||||
{
|
||||
constructor(
|
||||
private readonly twentyORMManager: TwentyORMManager,
|
||||
private eventEmitter: EventEmitter2,
|
||||
private readonly workspaceEventEmitter: WorkspaceEventEmitter,
|
||||
) {}
|
||||
|
||||
async execute(
|
||||
@ -34,16 +33,19 @@ export class ConnectedAccountDeleteOnePreQueryHook
|
||||
connectedAccountId,
|
||||
});
|
||||
|
||||
messageChannels.forEach((messageChannel) => {
|
||||
this.eventEmitter.emit('messageChannel.deleted', {
|
||||
workspaceId: authContext.workspace.id,
|
||||
name: 'messageChannel.deleted',
|
||||
recordId: messageChannel.id,
|
||||
} satisfies Pick<
|
||||
ObjectRecordDeleteEvent<MessageChannelWorkspaceEntity>,
|
||||
'workspaceId' | 'recordId' | 'name'
|
||||
>);
|
||||
});
|
||||
this.workspaceEventEmitter.emit(
|
||||
'messageChannel.deleted',
|
||||
messageChannels.map(
|
||||
(messageChannel) =>
|
||||
({
|
||||
recordId: messageChannel.id,
|
||||
}) satisfies Pick<
|
||||
ObjectRecordDeleteEvent<MessageChannelWorkspaceEntity>,
|
||||
'recordId'
|
||||
>,
|
||||
),
|
||||
authContext.workspace.id,
|
||||
);
|
||||
|
||||
return payload;
|
||||
}
|
||||
|
||||
@ -1,11 +1,9 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
|
||||
import { TwentyORMModule } from 'src/engine/twenty-orm/twenty-orm.module';
|
||||
import { ConnectedAccountDeleteOnePreQueryHook } from 'src/modules/connected-account/query-hooks/connected-account-delete-one.pre-query.hook';
|
||||
import { MessageChannelWorkspaceEntity } from 'src/modules/messaging/common/standard-objects/message-channel.workspace-entity';
|
||||
|
||||
@Module({
|
||||
imports: [TwentyORMModule.forFeature([MessageChannelWorkspaceEntity])],
|
||||
imports: [],
|
||||
providers: [ConnectedAccountDeleteOnePreQueryHook],
|
||||
})
|
||||
export class ConnectedAccountQueryHookModule {}
|
||||
|
||||
Reference in New Issue
Block a user