refactor: Code review improvements around getTeamMembers parameters.
Signed-off-by: Marley Powell <Marley.Powell@exclaimer.com>
This commit is contained in:
@@ -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) => {
|
||||
|
||||
Reference in New Issue
Block a user