MCPcopy
hub / github.com/cli/cli / preloadPrReviews

Function preloadPrReviews

pkg/cmd/pr/shared/finder.go:444–482  ·  view source on GitHub ↗
(httpClient *http.Client, repo ghrepo.Interface, pr *api.PullRequest)

Source from the content-addressed store, hash-verified

442}
443
444func preloadPrReviews(httpClient *http.Client, repo ghrepo.Interface, pr *api.PullRequest) error {
445 if !pr.Reviews.PageInfo.HasNextPage {
446 return nil
447 }
448
449 type response struct {
450 Node struct {
451 PullRequest struct {
452 Reviews api.PullRequestReviews `graphql:"reviews(first: 100, after: $endCursor)"`
453 } `graphql:"...on PullRequest"`
454 } `graphql:"node(id: $id)"`
455 }
456
457 variables := map[string]interface{}{
458 "id": githubv4.ID(pr.ID),
459 "endCursor": githubv4.String(pr.Reviews.PageInfo.EndCursor),
460 }
461
462 gql := api.NewClientFromHTTP(httpClient)
463
464 for {
465 var query response
466 err := gql.Query(repo.RepoHost(), "ReviewsForPullRequest", &query, variables)
467 if err != nil {
468 return err
469 }
470
471 pr.Reviews.Nodes = append(pr.Reviews.Nodes, query.Node.PullRequest.Reviews.Nodes...)
472 pr.Reviews.TotalCount = len(pr.Reviews.Nodes)
473
474 if !query.Node.PullRequest.Reviews.PageInfo.HasNextPage {
475 break
476 }
477 variables["endCursor"] = githubv4.String(query.Node.PullRequest.Reviews.PageInfo.EndCursor)
478 }
479
480 pr.Reviews.PageInfo.HasNextPage = false
481 return nil
482}
483
484func preloadPrComments(client *http.Client, repo ghrepo.Interface, pr *api.PullRequest) error {
485 if !pr.Comments.PageInfo.HasNextPage {

Callers 1

FindMethod · 0.85

Calls 5

NewClientFromHTTPFunction · 0.92
IDMethod · 0.65
QueryMethod · 0.65
RepoHostMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected