From 853810704c22e5d4a604476209adeb348d83e03b Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Fri, 7 Jun 2024 11:39:36 +0200 Subject: [PATCH] Fix patch --- packages/server/src/api/controllers/row/external.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/server/src/api/controllers/row/external.ts b/packages/server/src/api/controllers/row/external.ts index 32bd1f313a..d301155231 100644 --- a/packages/server/src/api/controllers/row/external.ts +++ b/packages/server/src/api/controllers/row/external.ts @@ -56,13 +56,18 @@ export async function patch(ctx: UserCtx) { throw { validation: validateResult.errors } } + const beforeRow = await sdk.rows.external.getRow(tableId, _id, { + relationships: true, + }) + const response = await handleRequest(Operation.UPDATE, tableId, { id: breakRowIdField(_id), row: dataToUpdate, }) // The id might have been changed, so the refetching would fail. Recalculating the id just in case - const updatedId = generateIdForRow(ctx.request.body, table) + const updatedId = + generateIdForRow({ ...beforeRow, ...dataToUpdate }, table) || _id const row = await sdk.rows.external.getRow(tableId, updatedId, { relationships: true, })