From 7de84a823940434c03896d41a2da4aff16e85a3d Mon Sep 17 00:00:00 2001 From: Marley Powell Date: Wed, 12 Jan 2022 08:59:16 +0000 Subject: [PATCH] refactor: Code review improvements around `getTeamMembers` parameters. Signed-off-by: Marley Powell --- plugins/azure-devops-backend/api-report.md | 8 +++++++- .../src/api/AzureDevOpsApi.ts | 19 +++++++++---------- .../src/api/PullRequestsDashboardProvider.ts | 10 +++++++++- 3 files changed, 25 insertions(+), 12 deletions(-) diff --git a/plugins/azure-devops-backend/api-report.md b/plugins/azure-devops-backend/api-report.md index f28f6f9c00..579367e2dd 100644 --- a/plugins/azure-devops-backend/api-report.md +++ b/plugins/azure-devops-backend/api-report.md @@ -73,7 +73,13 @@ export class AzureDevOpsApi { top: number, ): Promise; // (undocumented) - getTeamMembers(team: Team): Promise; + getTeamMembers({ + projectId, + teamId, + }: { + projectId: string; + teamId: string; + }): Promise; } // Warning: (ae-missing-release-tag) "createRouter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) diff --git a/plugins/azure-devops-backend/src/api/AzureDevOpsApi.ts b/plugins/azure-devops-backend/src/api/AzureDevOpsApi.ts index d82673beef..ff63af183e 100644 --- a/plugins/azure-devops-backend/src/api/AzureDevOpsApi.ts +++ b/plugins/azure-devops-backend/src/api/AzureDevOpsApi.ts @@ -241,20 +241,19 @@ export class AzureDevOpsApi { ); } - public async getTeamMembers(team: Team): Promise { - this.logger?.debug(`Getting team member ids for team '${team.name}'.`); - - if (!team.projectId || !team.id) { - return undefined; - } + public async getTeamMembers({ + projectId, + teamId, + }: { + projectId: string; + teamId: string; + }): Promise { + this.logger?.debug(`Getting team member ids for team '${teamId}'.`); const client = await this.webApi.getCoreApi(); const teamMembers: AdoTeamMember[] = - await client.getTeamMembersWithExtendedProperties( - team.projectId, - team.id, - ); + await client.getTeamMembersWithExtendedProperties(projectId, teamId); return teamMembers.map(teamMember => ({ id: teamMember.identity?.id, diff --git a/plugins/azure-devops-backend/src/api/PullRequestsDashboardProvider.ts b/plugins/azure-devops-backend/src/api/PullRequestsDashboardProvider.ts index 7ddfc0c7ff..a4879de7be 100644 --- a/plugins/azure-devops-backend/src/api/PullRequestsDashboardProvider.ts +++ b/plugins/azure-devops-backend/src/api/PullRequestsDashboardProvider.ts @@ -65,9 +65,17 @@ export class PullRequestsDashboardProvider { teams.map(team => limiter(async () => { const teamId = team.id; + const projectId = team.projectId; if (teamId) { - const teamMembers = await this.azureDevOpsApi.getTeamMembers(team); + let teamMembers: TeamMember[] | undefined; + + if (projectId) { + teamMembers = await this.azureDevOpsApi.getTeamMembers({ + projectId, + teamId, + }); + } if (teamMembers) { team.members = teamMembers.reduce((arr, teamMember) => {