From 4772523eddd2a58baebc66ddd7e0ec00f4b6ff61 Mon Sep 17 00:00:00 2001 From: Charles Bochet Date: Tue, 5 Aug 2025 20:29:48 +0200 Subject: [PATCH] Fix insert query builder not handling empty array (#13656) --- .../workspace-insert-query-builder.ts | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/packages/twenty-server/src/engine/twenty-orm/repository/workspace-insert-query-builder.ts b/packages/twenty-server/src/engine/twenty-orm/repository/workspace-insert-query-builder.ts index 469bdb22335..12cf1e19a68 100644 --- a/packages/twenty-server/src/engine/twenty-orm/repository/workspace-insert-query-builder.ts +++ b/packages/twenty-server/src/engine/twenty-orm/repository/workspace-insert-query-builder.ts @@ -172,20 +172,21 @@ export class WorkspaceInsertQueryBuilder< }); // TypeORM returns all entity columns for insertions - const resultWithoutInsertionExtraColumns = result.raw.map( - (rawResult: Record) => - Object.keys(rawResult) - .filter( - (key) => - this.expressionMap.returning.includes(key) || - this.expressionMap.returning === '*', - ) - .reduce((filtered: Record, key) => { - filtered[key] = rawResult[key]; + const resultWithoutInsertionExtraColumns = !isDefined(result.raw) + ? [] + : result.raw.map((rawResult: Record) => + Object.keys(rawResult) + .filter( + (key) => + this.expressionMap.returning.includes(key) || + this.expressionMap.returning === '*', + ) + .reduce((filtered: Record, key) => { + filtered[key] = rawResult[key]; - return filtered; - }, {}), - ); + return filtered; + }, {}), + ); const formattedResult = formatResult( resultWithoutInsertionExtraColumns,