From 7bc44a99e6df85e22017e4bdb723beb1d9e30901 Mon Sep 17 00:00:00 2001 From: Benjamin Janssens Date: Mon, 10 Jun 2024 14:25:51 +0200 Subject: [PATCH] chore: make client dependent on host Signed-off-by: Benjamin Janssens --- .../RepoUrlPicker/BitbucketRepoPicker.tsx | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/BitbucketRepoPicker.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/BitbucketRepoPicker.tsx index 5361b99b01..72c39fb11c 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/BitbucketRepoPicker.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/BitbucketRepoPicker.tsx @@ -67,21 +67,24 @@ export const BitbucketRepoPicker = (props: { const [availableProjects, setAvailableProjects] = useState([]); useEffect(() => { - if (accessToken) + if (host === 'bitbucket.org' && accessToken) { setClient( BitbucketCloudClient.fromConfig({ - host: 'bitbucket.org', + host, apiBaseUrl: 'https://api.bitbucket.org/2.0', accessToken, }), ); - }, [accessToken]); + } else { + setClient(undefined); + } + }, [host, accessToken]); - // Update available workspaces when host changes + // Update available workspaces when client is available useDebounce( () => { const updateAvailableWorkspaces = async () => { - if (client && host) { + if (client) { const result: string[] = []; for await (const page of client.listWorkspaces().iteratePages()) { @@ -98,10 +101,10 @@ export const BitbucketRepoPicker = (props: { updateAvailableWorkspaces().catch(() => setAvailableWorkspaces([])); }, 500, - [client, host], + [client], ); - // Update available projects when workspace changes + // Update available projects when client is available and workspace changes useDebounce( () => { const updateAvailableProjects = async () => { @@ -127,7 +130,7 @@ export const BitbucketRepoPicker = (props: { [client, workspace], ); - // Update available repositories when workspace or project changes + // Update available repositories when client is available and workspace or project changes useDebounce( () => { const updateAvailableRepositories = async () => {