@@ -460,10 +460,15 @@ func (s service) ListEvents(ctx context.Context, rs string, id uint64, opt *chan event RequestedReviewer struct { githubqlActor `graphql:"...on Actor"` } } `graphql:"...on ReviewRequestRemovedEvent"` PullRequestReview struct { Author githubqlActor CreatedAt githubql.DateTime State githubql.PullRequestReviewState } `graphql:"...on PullRequestReview"` } } `graphql:"timeline(first:100)"` // TODO: Paginate? } `graphql:"pullRequest(number:$prNumber)"` } `graphql:"repository(owner:$repositoryOwner,name:$repositoryName)"` } @@ -522,10 +527,20 @@ func (s service) ListEvents(ctx context.Context, rs string, id uint64, opt *chan case "ReviewRequestRemovedEvent": e.Actor = ghActor(event.ReviewRequestRemovedEvent.Actor) e.CreatedAt = event.ReviewRequestRemovedEvent.CreatedAt.Time // TODO: Move RequestedReviewer field to changes-only events (it doesn't apply to issues). e.RequestedReviewer = ghActor(event.ReviewRequestRemovedEvent.RequestedReviewer.githubqlActor) case "PullRequestReview": switch event.PullRequestReview.State { case githubql.PullRequestReviewStateApproved: // TODO: Make this a thing that ListComments returns, etc. After all, it can have a non-empty body. e.Type = "ApprovedEvent" default: continue } e.Actor = ghActor(event.PullRequestReview.Author) e.CreatedAt = event.PullRequestReview.CreatedAt.Time default: continue } events = append(events, e) }