From d47ccae19002dbf6ab17015200c7025ad3596ce4 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Wed, 30 Oct 2024 01:07:42 -0600 Subject: [PATCH] fix(dokploy): extract all the repositories bitbucket #619 --- .../server/src/utils/providers/bitbucket.ts | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/packages/server/src/utils/providers/bitbucket.ts b/packages/server/src/utils/providers/bitbucket.ts index ff5c4b60..7059e65f 100644 --- a/packages/server/src/utils/providers/bitbucket.ts +++ b/packages/server/src/utils/providers/bitbucket.ts @@ -227,42 +227,42 @@ export const getBitbucketRepositories = async (bitbucketId?: string) => { const username = bitbucketProvider.bitbucketWorkspaceName || bitbucketProvider.bitbucketUsername; - const url = `https://api.bitbucket.org/2.0/repositories/${username}?pagelen=100`; + let url = `https://api.bitbucket.org/2.0/repositories/${username}?pagelen=100`; + let repositories: { + name: string; + url: string; + owner: { username: string }; + }[] = []; try { - const response = await fetch(url, { - method: "GET", - headers: { - Authorization: `Basic ${Buffer.from(`${bitbucketProvider.bitbucketUsername}:${bitbucketProvider.appPassword}`).toString("base64")}`, - }, - }); - - if (!response.ok) { - throw new TRPCError({ - code: "BAD_REQUEST", - message: `Failed to fetch repositories: ${response.statusText}`, + while (url) { + const response = await fetch(url, { + method: "GET", + headers: { + Authorization: `Basic ${Buffer.from(`${bitbucketProvider.bitbucketUsername}:${bitbucketProvider.appPassword}`).toString("base64")}`, + }, }); - } - const data = await response.json(); + if (!response.ok) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: `Failed to fetch repositories: ${response.statusText}`, + }); + } - const mappedData = data.values.map((repo: any) => { - return { + const data = await response.json(); + + const mappedData = data.values.map((repo: any) => ({ name: repo.name, url: repo.links.html.href, owner: { username: repo.workspace.slug, }, - }; - }); - - return mappedData as { - name: string; - url: string; - owner: { - username: string; - }; - }[]; + })); + repositories = repositories.concat(mappedData); + url = data.next || null; + } + return repositories; } catch (error) { throw error; }