From bafa085a2aa9ad4905c27a47451f74a89f47e1f3 Mon Sep 17 00:00:00 2001 From: Andre Wanlin Date: Wed, 17 Nov 2021 07:37:36 -0600 Subject: [PATCH] Improvements from review feedback Signed-off-by: Andre Wanlin --- .../azure-devops/src/api/AzureDevOpsClient.ts | 27 ++++++++++++---- .../PullRequestStatusButtonGroup.tsx | 32 ++++++------------- .../PullRequestTable/PullRequestTable.tsx | 4 +-- .../azure-devops/src/hooks/usePullRequests.ts | 6 ++-- plugins/azure-devops/src/routes.ts | 4 +-- 5 files changed, 38 insertions(+), 35 deletions(-) diff --git a/plugins/azure-devops/src/api/AzureDevOpsClient.ts b/plugins/azure-devops/src/api/AzureDevOpsClient.ts index ec727f4973..cbcc496725 100644 --- a/plugins/azure-devops/src/api/AzureDevOpsClient.ts +++ b/plugins/azure-devops/src/api/AzureDevOpsClient.ts @@ -42,9 +42,15 @@ export class AzureDevOpsClient implements AzureDevOpsApi { repoName: string, options?: RepoBuildOptions, ): Promise<{ items: RepoBuild[] }> { - const items = await this.get( - `repo-builds/${projectName}/${repoName}?top=${options?.top}`, - ); + const queryString = new URLSearchParams(); + if (options?.top) { + queryString.append('top', options.top.toString()); + } + const urlSegment = `repo-builds/${encodeURIComponent( + projectName, + )}/${encodeURIComponent(repoName)}?${queryString}`; + + const items = await this.get(urlSegment); return { items }; } @@ -53,9 +59,18 @@ export class AzureDevOpsClient implements AzureDevOpsApi { repoName: string, options?: PullRequestOptions, ): Promise<{ items: PullRequest[] }> { - const items = await this.get( - `pull-requests/${projectName}/${repoName}?top=${options?.top}&status=${options?.status}`, - ); + const queryString = new URLSearchParams(); + if (options?.top) { + queryString.append('top', options.top.toString()); + } + if (options?.status) { + queryString.append('status', options.status.toString()); + } + const urlSegment = `pull-requests/${encodeURIComponent( + projectName, + )}/${encodeURIComponent(repoName)}?${queryString}`; + + const items = await this.get(urlSegment); return { items }; } diff --git a/plugins/azure-devops/src/components/PullRequestStatusButtonGroup/PullRequestStatusButtonGroup.tsx b/plugins/azure-devops/src/components/PullRequestStatusButtonGroup/PullRequestStatusButtonGroup.tsx index 23a8738adc..f516bfb0e5 100644 --- a/plugins/azure-devops/src/components/PullRequestStatusButtonGroup/PullRequestStatusButtonGroup.tsx +++ b/plugins/azure-devops/src/components/PullRequestStatusButtonGroup/PullRequestStatusButtonGroup.tsx @@ -20,46 +20,34 @@ import { PullRequestStatus } from '@backstage/plugin-azure-devops-common'; import React from 'react'; export const PullRequestStatusButtonGroup = ({ - pullRequestStatusState, - setPullRequestsStatusState, + status, + setStatus, }: { - pullRequestStatusState: PullRequestStatus; - setPullRequestsStatusState: (pullRequestStatus: PullRequestStatus) => void; + status: PullRequestStatus; + setStatus: (pullRequestStatus: PullRequestStatus) => void; }) => { return (