From 5b5c0b31ffd57e1099038821b164068136760b9e Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Thu, 28 Sep 2023 15:54:53 +0200 Subject: [PATCH 1/5] Fix link loading relationships on external ds+ --- packages/server/src/api/controllers/row/external.ts | 11 ++++++++--- packages/server/src/sdk/app/rows/search/external.ts | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/server/src/api/controllers/row/external.ts b/packages/server/src/api/controllers/row/external.ts index 7d78f5da37..899849e3a7 100644 --- a/packages/server/src/api/controllers/row/external.ts +++ b/packages/server/src/api/controllers/row/external.ts @@ -72,10 +72,15 @@ export async function patch(ctx: UserCtx) { id: breakRowIdField(_id), row: dataToUpdate, }) - const row = await outputProcessing(table, response.row) + const row = await sdk.rows.external.getRow(tableId, _id, { + relationships: true, + }) + const enrichedRow = await outputProcessing(table, row, { + preserveLinks: true, + }) return { ...response, - row, + row: enrichedRow, table, } } @@ -116,7 +121,7 @@ export async function save(ctx: UserCtx) { }) return { ...response, - row: await outputProcessing(table, row), + row: await outputProcessing(table, row, { preserveLinks: true }), } } else { return response diff --git a/packages/server/src/sdk/app/rows/search/external.ts b/packages/server/src/sdk/app/rows/search/external.ts index 817bfce33d..f908be0b3c 100644 --- a/packages/server/src/sdk/app/rows/search/external.ts +++ b/packages/server/src/sdk/app/rows/search/external.ts @@ -77,7 +77,7 @@ export async function search(options: SearchParams) { } const table = await sdk.tables.getTable(tableId) - rows = await outputProcessing(table, rows) + rows = await outputProcessing(table, rows, { preserveLinks: true }) // need wrapper object for bookmarks etc when paginating return { rows, hasNextPage, bookmark: bookmark && bookmark + 1 } @@ -174,7 +174,7 @@ export async function fetch(tableId: string) { includeSqlRelationships: IncludeRelationship.INCLUDE, }) const table = await sdk.tables.getTable(tableId) - return await outputProcessing(table, response) + return await outputProcessing(table, response, { preserveLinks: true }) } export async function fetchView(viewName: string) { From d2280ebb8cc40013f2996fc3adca15de1b8caa5e Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Thu, 28 Sep 2023 14:35:53 +0000 Subject: [PATCH 2/5] Bump version to 2.10.16-alpha.8 --- lerna.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lerna.json b/lerna.json index e3f12c1ad0..85d0a4743e 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "2.10.16-alpha.7", + "version": "2.10.16-alpha.8", "npmClient": "yarn", "packages": [ "packages/*" From 6c9b3e33a346eadf25ac60c699786cdd462a43d4 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Thu, 28 Sep 2023 14:45:55 +0000 Subject: [PATCH 3/5] Bump version to 2.10.16-alpha.9 --- lerna.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lerna.json b/lerna.json index 85d0a4743e..abbec8dc5d 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "2.10.16-alpha.8", + "version": "2.10.16-alpha.9", "npmClient": "yarn", "packages": [ "packages/*" From 80d91cdd927426efa22e6268c8eaa49a2d84d77d Mon Sep 17 00:00:00 2001 From: melohagan <101575380+melohagan@users.noreply.github.com> Date: Thu, 28 Sep 2023 16:09:13 +0100 Subject: [PATCH 4/5] Make sure field state is valid (#11921) --- .../src/components/app/forms/RelationshipField.svelte | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/client/src/components/app/forms/RelationshipField.svelte b/packages/client/src/components/app/forms/RelationshipField.svelte index 768f784d49..bfa7c6cbd2 100644 --- a/packages/client/src/components/app/forms/RelationshipField.svelte +++ b/packages/client/src/components/app/forms/RelationshipField.svelte @@ -121,7 +121,12 @@ if (!Array.isArray(values)) { values = [values] } - return values.map(value => (typeof value === "object" ? value._id : value)) + values = values.map(value => + typeof value === "object" ? value._id : value + ) + // Make sure field state is valid + fieldApi.setValue(values) + return values } const getDisplayName = row => { From ee363763cb4ed5d98af8d996df0ee7d931ef9635 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Thu, 28 Sep 2023 15:09:32 +0000 Subject: [PATCH 5/5] Bump version to 2.10.16-alpha.10 --- lerna.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lerna.json b/lerna.json index abbec8dc5d..d45ad3fe23 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "2.10.16-alpha.9", + "version": "2.10.16-alpha.10", "npmClient": "yarn", "packages": [ "packages/*"