@@ -14,7 +14,7 @@ import { IComment, IReviewThread, Reaction, SPECIAL_COMMENT_AUTHORS, SubjectType
1414import { DiffHunk , parseDiffHunk } from '../common/diffHunk' ;
1515import { GitHubRef } from '../common/githubRef' ;
1616import Logger from '../common/logger' ;
17- import { Remote } from '../common/remote' ;
17+ import { GitHubRemote , Remote } from '../common/remote' ;
1818import { Resource } from '../common/resources' ;
1919import { GITHUB_ENTERPRISE , OVERRIDE_DEFAULT_BRANCH , PR_SETTINGS_NAMESPACE , URI } from '../common/settingKeys' ;
2020import * as Common from '../common/timelineEvent' ;
@@ -594,6 +594,38 @@ function parseAuthor(
594594 }
595595}
596596
597+ export function parseGraphQLReviewers ( data : GraphQL . GetReviewRequestsResponse , remote : GitHubRemote ) : ( IAccount | ITeam ) [ ] {
598+ if ( ! data . repository ) {
599+ return [ ] ;
600+ }
601+ const reviewers : ( IAccount | ITeam ) [ ] = [ ] ;
602+ for ( const reviewer of data . repository . pullRequest . reviewRequests . nodes ) {
603+ if ( reviewer . requestedReviewer ?. login ) {
604+ const account : IAccount = {
605+ login : reviewer . requestedReviewer . login ,
606+ url : reviewer . requestedReviewer . url ,
607+ avatarUrl : getAvatarWithEnterpriseFallback ( reviewer . requestedReviewer . avatarUrl , undefined , remote . isEnterprise ) ,
608+ email : reviewer . requestedReviewer . email ,
609+ name : reviewer . requestedReviewer . name ,
610+ id : reviewer . requestedReviewer . id ,
611+ specialDisplayName : SPECIAL_COMMENT_AUTHORS [ reviewer . requestedReviewer . login ] ? ( reviewer . requestedReviewer . name ?? SPECIAL_COMMENT_AUTHORS [ reviewer . requestedReviewer . login ] . name ) : undefined ,
612+ } ;
613+ reviewers . push ( account ) ;
614+ } else if ( reviewer . requestedReviewer ) {
615+ const team : ITeam = {
616+ name : reviewer . requestedReviewer . name ,
617+ url : reviewer . requestedReviewer . url ,
618+ avatarUrl : getAvatarWithEnterpriseFallback ( reviewer . requestedReviewer . avatarUrl , undefined , remote . isEnterprise ) ,
619+ id : reviewer . requestedReviewer . id ! ,
620+ org : remote . owner ,
621+ slug : reviewer . requestedReviewer . slug !
622+ } ;
623+ reviewers . push ( team ) ;
624+ }
625+ }
626+ return reviewers ;
627+ }
628+
597629function parseActor (
598630 author : { login : string ; url : string ; avatarUrl : string ; } | null ,
599631 githubRepository : GitHubRepository ,
0 commit comments