From 3bd6b6e1de64c4f751c56580b64f9cbb5cec19c1 Mon Sep 17 00:00:00 2001 From: bkellam Date: Sat, 1 Nov 2025 21:55:12 -0700 Subject: [PATCH] feedback --- packages/crypto/src/tokenUtils.ts | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/packages/crypto/src/tokenUtils.ts b/packages/crypto/src/tokenUtils.ts index 937489a0..abefa7ef 100644 --- a/packages/crypto/src/tokenUtils.ts +++ b/packages/crypto/src/tokenUtils.ts @@ -1,5 +1,5 @@ -import { Token } from "@sourcebot/schemas/v3/shared.type"; import { SecretManagerServiceClient } from "@google-cloud/secret-manager"; +import { Token } from "@sourcebot/schemas/v3/shared.type"; export const getTokenFromConfig = async (token: Token): Promise => { if ('env' in token) { @@ -10,16 +10,20 @@ export const getTokenFromConfig = async (token: Token): Promise => { return envToken; } else if ('googleCloudSecret' in token) { - const client = new SecretManagerServiceClient(); - const [response] = await client.accessSecretVersion({ - name: token.googleCloudSecret, - }); + try { + const client = new SecretManagerServiceClient(); + const [response] = await client.accessSecretVersion({ + name: token.googleCloudSecret, + }); - if (!response.payload?.data) { - throw new Error(`Secret ${token.googleCloudSecret} not found.`); + if (!response.payload?.data) { + throw new Error(`Secret ${token.googleCloudSecret} not found.`); + } + + return response.payload.data.toString(); + } catch (error) { + throw new Error(`Failed to access Google Cloud secret ${token.googleCloudSecret}: ${error instanceof Error ? error.message : String(error)}`); } - - return response.payload.data.toString(); } else { throw new Error('Invalid token configuration'); }