From eae7b529a71bf2763dc61848b18d0631cfc9da9c Mon Sep 17 00:00:00 2001 From: Mateus Badan de Pieri Date: Thu, 19 Jan 2023 15:07:56 +0000 Subject: [PATCH] adding validation for envvar bindings adding validation for envvar bindings --- packages/server/src/sdk/app/datasources/datasources.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/server/src/sdk/app/datasources/datasources.ts b/packages/server/src/sdk/app/datasources/datasources.ts index 52204d7482..13ef1113a6 100644 --- a/packages/server/src/sdk/app/datasources/datasources.ts +++ b/packages/server/src/sdk/app/datasources/datasources.ts @@ -7,6 +7,7 @@ import { PASSWORD_REPLACEMENT, } from "@budibase/types" import { cloneDeep } from "lodash/fp" +import { env } from "process" import { getEnvironmentVariables } from "../../utils" async function enrichDatasourceWithValues(datasource: Datasource) { @@ -40,7 +41,13 @@ export async function get( export async function getWithEnvVars(datasourceId: string) { const appDb = context.getAppDB() const datasource = await appDb.get(datasourceId) - return enrichDatasourceWithValues(datasource) + const blocks = findHBSBlocks(JSON.stringify(datasource)) + const usesEnvVars = blocks.find(block => block.includes("env.")) != null + if (usesEnvVars) { + return enrichDatasourceWithValues(datasource) + } else { + throw new Error("Environment variables binding format incorrect") + } } export function removeSecrets(