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:
@ -0,0 +1,11 @@
|
||||
import { Global, Module } from '@nestjs/common';
|
||||
|
||||
import { WorkspaceEventEmitter } from 'src/engine/workspace-event-emitter/workspace-event-emitter';
|
||||
|
||||
@Global()
|
||||
@Module({
|
||||
imports: [],
|
||||
providers: [WorkspaceEventEmitter],
|
||||
exports: [WorkspaceEventEmitter],
|
||||
})
|
||||
export class WorkspaceEventEmitterModule {}
|
||||
@ -0,0 +1,21 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { EventEmitter2 } from '@nestjs/event-emitter';
|
||||
|
||||
import { WorkspaceEventBatch } from 'src/engine/workspace-event-emitter/workspace-event.type';
|
||||
|
||||
@Injectable()
|
||||
export class WorkspaceEventEmitter {
|
||||
constructor(private readonly eventEmitter: EventEmitter2) {}
|
||||
|
||||
public emit(eventName: string, events: any[], workspaceId: string) {
|
||||
if (!events.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
return this.eventEmitter.emit(eventName, {
|
||||
name: eventName,
|
||||
workspaceId,
|
||||
events,
|
||||
} satisfies WorkspaceEventBatch<any>);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,5 @@
|
||||
export type WorkspaceEventBatch<WorkspaceEvent> = {
|
||||
name: string;
|
||||
workspaceId: string;
|
||||
events: WorkspaceEvent[];
|
||||
};
|
||||
Reference in New Issue
Block a user