gergo/eventBus (#2498)

* feat(eventBus): WIP event bus typescript wizardy

* feat(eventBus): final eventbus setup with all the typescript foo

* fix(workspaces): fix workspace core imports

* test(workspaces): fix expected events name

* test(workspaces): fix tests
This commit is contained in:
Gergő Jedlicska
2024-07-12 15:35:40 +02:00
committed by GitHub
parent 4da196ec48
commit ee6e5e22b1
14 changed files with 355 additions and 32 deletions
@@ -5,7 +5,7 @@ import {
UpsertWorkspace,
UpsertWorkspaceRole
} from '@/modules/workspaces/domain/operations'
import { Workspace } from '@/modules/workspaces/domain/types'
import { Workspace } from '@/modules/workspacesCore/domain/types'
import { Roles } from '@speckle/shared'
import cryptoRandomString from 'crypto-random-string'
@@ -47,7 +47,10 @@ export const createWorkspaceFactory =
workspaceId: workspace.id
})
await emitWorkspaceEvent({ event: WorkspaceEvents.Created, payload: workspace })
await emitWorkspaceEvent({
eventName: WorkspaceEvents.Created,
payload: { ...workspace, createdByUserId: userId }
})
// emit a workspace created event
return workspace
@@ -5,7 +5,7 @@ import {
GetWorkspaceRoles,
UpsertWorkspaceRole
} from '@/modules/workspaces/domain/operations'
import { WorkspaceAcl } from '@/modules/workspaces/domain/types'
import { WorkspaceAcl } from '@/modules/workspacesCore/domain/types'
import { WorkspaceAdminRequiredError } from '@/modules/workspaces/errors/workspace'
import { isUserLastWorkspaceAdmin } from '@/modules/workspaces/utils/isUserLastWorkspaceAdmin'
import { WorkspaceEvents } from '@/modules/workspacesCore/domain/events'
@@ -41,7 +41,7 @@ export const deleteWorkspaceRoleFactory =
return null
}
emitWorkspaceEvent({ event: WorkspaceEvents.RoleDeleted, payload: deletedRole })
emitWorkspaceEvent({ eventName: WorkspaceEvents.RoleDeleted, payload: deletedRole })
return deletedRole
}
@@ -83,7 +83,7 @@ export const setWorkspaceRoleFactory =
await upsertWorkspaceRole({ userId, workspaceId, role })
await emitWorkspaceEvent({
event: WorkspaceEvents.RoleUpdated,
eventName: WorkspaceEvents.RoleUpdated,
payload: { userId, workspaceId, role }
})
}