From b2b649c5cd314aa851175895cc3595f93ae25ff9 Mon Sep 17 00:00:00 2001 From: Vlad Vladov Date: Fri, 5 Sep 2025 03:01:32 +0300 Subject: [PATCH] refactor(bitbucket): Extract duplicated code to a function --- .../server/src/utils/providers/bitbucket.ts | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/packages/server/src/utils/providers/bitbucket.ts b/packages/server/src/utils/providers/bitbucket.ts index 7a18e7889..ccd06c1a3 100644 --- a/packages/server/src/utils/providers/bitbucket.ts +++ b/packages/server/src/utils/providers/bitbucket.ts @@ -39,6 +39,18 @@ export const getBitbucketCloneUrl = ( : `https://${bitbucketProvider.bitbucketUsername}:${bitbucketProvider.appPassword}@${repoClone}`; }; +export const getBitbucketHeaders = (bitbucketProvider: { + apiToken?: string | null; + bitbucketUsername?: string | null; + appPassword?: string | null; +}) => { + return bitbucketProvider.apiToken + ? { Authorization: `Bearer ${bitbucketProvider.apiToken}` } + : { + Authorization: `Basic ${Buffer.from(`${bitbucketProvider.bitbucketUsername}:${bitbucketProvider.appPassword}`).toString("base64")}`, + }; +}; + export const cloneBitbucketRepository = async ( entity: ApplicationWithBitbucket | ComposeWithBitbucket, logPath: string, @@ -257,11 +269,7 @@ export const getBitbucketRepositories = async (bitbucketId?: string) => { while (url) { const response = await fetch(url, { method: "GET", - headers: bitbucketProvider.apiToken - ? { Authorization: `Bearer ${bitbucketProvider.apiToken}` } - : { - Authorization: `Basic ${Buffer.from(`${bitbucketProvider.bitbucketUsername}:${bitbucketProvider.appPassword}`).toString("base64")}`, - }, + headers: getBitbucketHeaders(bitbucketProvider), }); if (!response.ok) { @@ -302,11 +310,7 @@ export const getBitbucketBranches = async ( try { const response = await fetch(url, { method: "GET", - headers: bitbucketProvider.apiToken - ? { Authorization: `Bearer ${bitbucketProvider.apiToken}` } - : { - Authorization: `Basic ${Buffer.from(`${bitbucketProvider.bitbucketUsername}:${bitbucketProvider.appPassword}`).toString("base64")}`, - }, + headers: getBitbucketHeaders(bitbucketProvider), }); if (!response.ok) { @@ -355,11 +359,7 @@ export const testBitbucketConnection = async ( try { const response = await fetch(url, { method: "GET", - headers: bitbucketProvider.apiToken - ? { Authorization: `Bearer ${bitbucketProvider.apiToken}` } - : { - Authorization: `Basic ${Buffer.from(`${bitbucketProvider.bitbucketUsername}:${bitbucketProvider.appPassword}`).toString("base64")}`, - }, + headers: getBitbucketHeaders(bitbucketProvider), }); if (!response.ok) {