From 7f77436c20d680aa3be826162ce7d0f49d472303 Mon Sep 17 00:00:00 2001 From: Charlie Kolb Date: Wed, 27 Aug 2025 11:27:18 +0200 Subject: [PATCH] feat(Data Table Node): Add URL to data table resource locator (no-changelog) (#18840) --- .../cli/src/modules/data-table/data-store-proxy.service.ts | 4 ++++ packages/nodes-base/nodes/DataTable/common/methods.ts | 3 ++- packages/workflow/src/data-store.types.ts | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/cli/src/modules/data-table/data-store-proxy.service.ts b/packages/cli/src/modules/data-table/data-store-proxy.service.ts index f1be6ba87b..7a05ef4a78 100644 --- a/packages/cli/src/modules/data-table/data-store-proxy.service.ts +++ b/packages/cli/src/modules/data-table/data-store-proxy.service.ts @@ -68,6 +68,10 @@ export class DataStoreProxyService implements DataStoreProxyProvider { private makeAggregateOperations(projectId: string): IDataStoreProjectAggregateService { const dataStoreService = this.dataStoreService; return { + getProjectId() { + return projectId; + }, + async getManyAndCount(options: ListDataStoreOptions = {}) { const serviceOptions: DataStoreListOptions = { ...options, diff --git a/packages/nodes-base/nodes/DataTable/common/methods.ts b/packages/nodes-base/nodes/DataTable/common/methods.ts index 0c3a58573c..5f8e9adfa0 100644 --- a/packages/nodes-base/nodes/DataTable/common/methods.ts +++ b/packages/nodes-base/nodes/DataTable/common/methods.ts @@ -29,6 +29,7 @@ export async function tableSearch( return { name: row.name, value: row.id, + url: `/projects/${proxy.getProjectId()}/datatables/${row.id}`, }; }); @@ -42,7 +43,7 @@ export async function tableSearch( export async function getDataTableColumns(this: ILoadOptionsFunctions) { // eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased-id, n8n-nodes-base/node-param-display-name-miscased - const returnData: INodePropertyOptions[] = [{ name: 'id - (string)', value: 'id' }]; + const returnData: INodePropertyOptions[] = [{ name: 'id - (number)', value: 'id' }]; const proxy = await getDataTableProxyLoadOptions(this); const columns = await proxy.getColumns(); for (const column of columns) { diff --git a/packages/workflow/src/data-store.types.ts b/packages/workflow/src/data-store.types.ts index 467d60f095..c31d16c860 100644 --- a/packages/workflow/src/data-store.types.ts +++ b/packages/workflow/src/data-store.types.ts @@ -86,6 +86,8 @@ export type DataStoreRowsReturn = DataStoreRowReturn[]; // APIs for a data store service operating on a specific projectId export interface IDataStoreProjectAggregateService { + getProjectId(): string; + createDataStore(options: CreateDataStoreOptions): Promise; getManyAndCount(options: ListDataStoreOptions): Promise<{ count: number; data: DataStore[] }>;