From a4eb2e77c2b699fc415e2c9b70af398ef14379b9 Mon Sep 17 00:00:00 2001 From: Scott Wilson Date: Mon, 21 Apr 2025 13:49:09 -0700 Subject: [PATCH] improvement: move client instantation to try/catch for sql connection validation for error propogation --- .../app-connection/shared/sql/sql-connection-fns.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/backend/src/services/app-connection/shared/sql/sql-connection-fns.ts b/backend/src/services/app-connection/shared/sql/sql-connection-fns.ts index ed1d99941..bc98e9bcc 100644 --- a/backend/src/services/app-connection/shared/sql/sql-connection-fns.ts +++ b/backend/src/services/app-connection/shared/sql/sql-connection-fns.ts @@ -77,20 +77,22 @@ export const getSqlConnectionClient = async (appConnection: Pick { const { credentials, app } = config; - const client = await getSqlConnectionClient({ app, credentials }); + let client: Knex | undefined; try { + client = await getSqlConnectionClient({ app, credentials }); + await client.raw(`Select 1`); return credentials; } catch (error) { throw new BadRequestError({ - message: - (error as Error)?.message?.replaceAll(credentials.password, "********************") ?? - "Unable to validate connection: verify credentials" + message: `Unable to validate connection: ${ + (error as Error)?.message?.replaceAll(credentials.password, "********************") ?? "verify credentials" + }` }); } finally { - await client.destroy(); + await client?.destroy(); } };