refactor: Code review improvements around getTeamMembers parameters.

Signed-off-by: Marley Powell <Marley.Powell@exclaimer.com>
This commit is contained in:
Marley Powell
2022-01-12 08:59:16 +00:00
parent a48a3fec9b
commit 7de84a8239
3 changed files with 25 additions and 12 deletions
+7 -1
View File
@@ -73,7 +73,13 @@ export class AzureDevOpsApi {
top: number,
): Promise<RepoBuild[]>;
// (undocumented)
getTeamMembers(team: Team): Promise<TeamMember[] | undefined>;
getTeamMembers({
projectId,
teamId,
}: {
projectId: string;
teamId: string;
}): Promise<TeamMember[] | undefined>;
}
// Warning: (ae-missing-release-tag) "createRouter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
@@ -241,20 +241,19 @@ export class AzureDevOpsApi {
);
}
public async getTeamMembers(team: Team): Promise<TeamMember[] | undefined> {
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<TeamMember[] | undefined> {
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,
@@ -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) => {