feat: restructure events payload (#8143)

* refactor: restructure events payload

Breaking change: This PR changes the event payload accepted by the event
listeners

* refactor: fix failing tests and implement feedback

* add integration tests

* fix timeout

---------

Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com>
This commit is contained in:
Harminder Virk
2024-07-16 21:39:16 +05:30
committed by GitHub
parent 5813216c88
commit f579f0b3be
26 changed files with 194 additions and 111 deletions

View File

@@ -207,7 +207,7 @@ export default class LinkModuleService<TLink> implements ILinkModule {
await this.eventBusModuleService_?.emit<Record<string, unknown>>(
(data as { id: unknown }[]).map(({ id }) => ({
eventName: this.entityName_ + "." + CommonEvents.ATTACHED,
name: this.entityName_ + "." + CommonEvents.ATTACHED,
metadata: {
source: this.serviceName_,
action: CommonEvents.ATTACHED,
@@ -258,7 +258,7 @@ export default class LinkModuleService<TLink> implements ILinkModule {
const allData = Array.isArray(data) ? data : [data]
await this.eventBusModuleService_?.emit<Record<string, unknown>>(
allData.map(({ id }) => ({
eventName: this.entityName_ + "." + CommonEvents.DETACHED,
name: this.entityName_ + "." + CommonEvents.DETACHED,
metadata: {
source: this.serviceName_,
action: CommonEvents.DETACHED,
@@ -307,7 +307,7 @@ export default class LinkModuleService<TLink> implements ILinkModule {
await this.eventBusModuleService_?.emit<Record<string, unknown>>(
(deletedEntities as { id: string }[]).map(({ id }) => ({
eventName: this.entityName_ + "." + CommonEvents.DETACHED,
name: this.entityName_ + "." + CommonEvents.DETACHED,
metadata: {
source: this.serviceName_,
action: CommonEvents.DETACHED,
@@ -365,7 +365,7 @@ export default class LinkModuleService<TLink> implements ILinkModule {
await this.eventBusModuleService_?.emit<Record<string, unknown>>(
(restoredEntities as { id: string }[]).map(({ id }) => ({
eventName: this.entityName_ + "." + CommonEvents.ATTACHED,
name: this.entityName_ + "." + CommonEvents.ATTACHED,
metadata: {
source: this.serviceName_,
action: CommonEvents.ATTACHED,