From abfab054d7872b1415c4269f3051a33b7ca31282 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Wed, 19 Jun 2024 12:03:20 +0100 Subject: [PATCH] Addressing comment about datasource being optional. --- .../src/api/controllers/table/ExternalRequest.ts | 2 +- packages/server/src/integrations/base/query.ts | 4 ++-- packages/server/src/sdk/app/rows/sqlAlias.ts | 10 ++++++---- packages/server/src/sdk/app/rows/utils.ts | 2 +- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/server/src/api/controllers/table/ExternalRequest.ts b/packages/server/src/api/controllers/table/ExternalRequest.ts index 9661e56729..1e57ea3294 100644 --- a/packages/server/src/api/controllers/table/ExternalRequest.ts +++ b/packages/server/src/api/controllers/table/ExternalRequest.ts @@ -33,5 +33,5 @@ export async function makeTableRequest( if (renamed) { json.meta!.renamed = renamed } - return makeExternalQuery(json, datasource) + return makeExternalQuery(datasource, json) } diff --git a/packages/server/src/integrations/base/query.ts b/packages/server/src/integrations/base/query.ts index acef1c6f1e..55886cd20f 100644 --- a/packages/server/src/integrations/base/query.ts +++ b/packages/server/src/integrations/base/query.ts @@ -8,8 +8,8 @@ import { getIntegration } from "../index" import sdk from "../../sdk" export async function makeExternalQuery( - json: QueryJson, - datasource?: Datasource + datasource: Datasource, + json: QueryJson ): Promise { const entityId = json.endpoint.entityId, tableName = json.meta.table.name, diff --git a/packages/server/src/sdk/app/rows/sqlAlias.ts b/packages/server/src/sdk/app/rows/sqlAlias.ts index ab47f98a85..0eab2f68c8 100644 --- a/packages/server/src/sdk/app/rows/sqlAlias.ts +++ b/packages/server/src/sdk/app/rows/sqlAlias.ts @@ -11,10 +11,11 @@ import { SQS_DATASOURCE_INTERNAL } from "@budibase/backend-core" import { getSQLClient } from "./utils" import { cloneDeep } from "lodash" import datasources from "../datasources" +import { BudibaseInternalDB } from "../../../db/utils" type PerformQueryFunction = ( - json: QueryJson, - datasource?: Datasource + datasource: Datasource, + json: QueryJson ) => Promise const WRITE_OPERATIONS: Operation[] = [ @@ -179,9 +180,10 @@ export default class AliasTables { ): Promise { const datasourceId = json.endpoint.datasourceId const isSqs = datasourceId === SQS_DATASOURCE_INTERNAL - let aliasingEnabled: boolean, datasource: Datasource | undefined + let aliasingEnabled: boolean, datasource: Datasource if (isSqs) { aliasingEnabled = this.isAliasingEnabled(json) + datasource = BudibaseInternalDB } else { datasource = await datasources.get(datasourceId) aliasingEnabled = this.isAliasingEnabled(json, datasource) @@ -233,7 +235,7 @@ export default class AliasTables { json.tableAliases = invertedTableAliases } - let response: DatasourcePlusQueryResponse = await queryFn(json, datasource) + let response: DatasourcePlusQueryResponse = await queryFn(datasource, json) if (Array.isArray(response) && aliasingEnabled) { return this.reverse(response) } else { diff --git a/packages/server/src/sdk/app/rows/utils.ts b/packages/server/src/sdk/app/rows/utils.ts index da0132c8fa..bb37fd99f3 100644 --- a/packages/server/src/sdk/app/rows/utils.ts +++ b/packages/server/src/sdk/app/rows/utils.ts @@ -61,7 +61,7 @@ export async function getDatasourceAndQuery( table, } } - return makeExternalQuery(json, datasource) + return makeExternalQuery(datasource, json) } export function cleanExportRows(