From f13c36234ff99152266123cf87166079dc8907dd Mon Sep 17 00:00:00 2001 From: martmull Date: Fri, 14 Nov 2025 15:03:49 +0100 Subject: [PATCH] Fix workspace-member-id missing from database events (#15819) As title --- .../core-modules/open-api/utils/computeWebhooks.utils.ts | 8 ++++++++ .../engine/core-modules/webhook/jobs/call-webhook.job.ts | 2 ++ .../utils/transform-event-batch-to-webhook-events.ts | 2 ++ ...ormat-twenty-orm-event-to-database-batch-event.util.ts | 5 +++++ 4 files changed, 17 insertions(+) diff --git a/packages/twenty-server/src/engine/core-modules/open-api/utils/computeWebhooks.utils.ts b/packages/twenty-server/src/engine/core-modules/open-api/utils/computeWebhooks.utils.ts index 9169f4253b..efa50eeee4 100644 --- a/packages/twenty-server/src/engine/core-modules/open-api/utils/computeWebhooks.utils.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/utils/computeWebhooks.utils.ts @@ -92,6 +92,14 @@ export const computeWebhooks = ( type: 'string', example: '872cfcf1-c79f-42bc-877d-5829f06eb3f9', }, + userId: { + type: 'string', + example: '170ba418-85a2-4f91-8565-9cd714c6703a', + }, + workspaceMemberId: { + type: 'string', + example: '9062a1e3-e066-49ba-8c4a-d869b6a0ca12', + }, webhookId: { type: 'string', example: '90056586-1228-4e03-a507-70140aa85c05', diff --git a/packages/twenty-server/src/engine/core-modules/webhook/jobs/call-webhook.job.ts b/packages/twenty-server/src/engine/core-modules/webhook/jobs/call-webhook.job.ts index 13e49c09b3..4f36b06e7c 100644 --- a/packages/twenty-server/src/engine/core-modules/webhook/jobs/call-webhook.job.ts +++ b/packages/twenty-server/src/engine/core-modules/webhook/jobs/call-webhook.job.ts @@ -19,6 +19,8 @@ export type CallWebhookJobData = { workspaceId: string; webhookId: string; eventDate: Date; + userId?: string; + workspaceMemberId?: string; // eslint-disable-next-line @typescript-eslint/no-explicit-any record: any; updatedFields?: string[]; diff --git a/packages/twenty-server/src/engine/core-modules/webhook/utils/transform-event-batch-to-webhook-events.ts b/packages/twenty-server/src/engine/core-modules/webhook/utils/transform-event-batch-to-webhook-events.ts index f0a5e31150..af8aa9a452 100644 --- a/packages/twenty-server/src/engine/core-modules/webhook/utils/transform-event-batch-to-webhook-events.ts +++ b/packages/twenty-server/src/engine/core-modules/webhook/utils/transform-event-batch-to-webhook-events.ts @@ -38,6 +38,8 @@ export const transformEventBatchToWebhookEvents = ({ workspaceId, webhookId, eventDate, + userId: eventData.userId, + workspaceMemberId: eventData.workspaceMemberId, record, ...(updatedFields && { updatedFields }), secret, diff --git a/packages/twenty-server/src/engine/twenty-orm/utils/format-twenty-orm-event-to-database-batch-event.util.ts b/packages/twenty-server/src/engine/twenty-orm/utils/format-twenty-orm-event-to-database-batch-event.util.ts index aace270044..634360b895 100644 --- a/packages/twenty-server/src/engine/twenty-orm/utils/format-twenty-orm-event-to-database-batch-event.util.ts +++ b/packages/twenty-server/src/engine/twenty-orm/utils/format-twenty-orm-event-to-database-batch-event.util.ts @@ -56,6 +56,7 @@ export const formatTwentyOrmEventToDatabaseBatchEvent = < const event = new ObjectRecordCreateEvent(); event.userId = authContext?.user?.id; + event.workspaceMemberId = authContext?.workspaceMemberId; event.recordId = after.id; event.properties = { after }; @@ -88,6 +89,7 @@ export const formatTwentyOrmEventToDatabaseBatchEvent = < const event = new ObjectRecordUpdateEvent(); event.userId = authContext?.user?.id; + event.workspaceMemberId = authContext?.workspaceMemberId; event.recordId = after.id; event.properties = { before, @@ -105,6 +107,7 @@ export const formatTwentyOrmEventToDatabaseBatchEvent = < const event = new ObjectRecordDeleteEvent(); event.userId = authContext?.user?.id; + event.workspaceMemberId = authContext?.workspaceMemberId; event.recordId = before.id; event.properties = { before }; @@ -116,6 +119,7 @@ export const formatTwentyOrmEventToDatabaseBatchEvent = < const event = new ObjectRecordDestroyEvent(); event.userId = authContext?.user?.id; + event.workspaceMemberId = authContext?.workspaceMemberId; event.recordId = before.id; event.properties = { before }; @@ -127,6 +131,7 @@ export const formatTwentyOrmEventToDatabaseBatchEvent = < const event = new ObjectRecordUpsertEvent(); event.userId = authContext?.user?.id; + event.workspaceMemberId = authContext?.workspaceMemberId; event.recordId = after.id; const before = beforeEntities