Skip to content

Commit

Permalink
Cleaning up the filter code
Browse files Browse the repository at this point in the history
  • Loading branch information
StanleyGoldman committed Mar 4, 2019
1 parent c7c3ded commit fd8a023
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions src/github/pullRequestManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import Logger from '../common/logger';
import { EXTENSION_ID } from '../constants';
import { fromPRUri } from '../common/uri';
import { convertRESTPullRequestToRawPullRequest, convertPullRequestsGetCommentsResponseItemToComment, convertIssuesCreateCommentResponseToComment, parseGraphQLTimelineEvents, convertRESTTimelineEvents, getRelatedUsersFromTimelineEvents, parseGraphQLComment, getReactionGroup, convertRESTUserToAccount, convertRESTReviewEvent, parseGraphQLReviewEvent } from './utils';
import { PendingReviewIdResponse, TimelineEventsResponse, PullRequestCommentsResponse, AddCommentResponse, SubmitReviewResponse, DeleteReviewResponse, EditCommentResponse, DeleteReactionResponse, AddReactionResponse } from './graphql';
import { PendingReviewIdResponse, TimelineEventsResponse, PullRequestCommentsResponse, AddCommentResponse, SubmitReviewResponse, DeleteReviewResponse, EditCommentResponse, DeleteReactionResponse, AddReactionResponse, PullRequestListItem } from './graphql';
const queries = require('./queries.gql');

interface PageInformation {
Expand Down Expand Up @@ -601,19 +601,22 @@ export class PullRequestManager {
let pullRequestItems = pullRequestResponseData.repository.pullRequests.nodes;

if (type !== PRType.All) {

let pullRequestFilter: (item: PullRequestListItem) => boolean;

if (type === PRType.Mine) {
pullRequestItems = pullRequestItems.filter(pr => pr.author.login === currentUserLogin);
pullRequestFilter = pr => pr.author.login === currentUserLogin;
} else if (type === PRType.RequestReview) {
pullRequestItems = pullRequestItems
.filter(pr => pr.reviewRequests.nodes
.findIndex(reviewRequest => reviewRequest.requestedReviewer.login === currentUserLogin) !== -1);
pullRequestFilter = pr => pr.reviewRequests.nodes
.findIndex(reviewRequest => reviewRequest.requestedReviewer.login === currentUserLogin) !== -1;
} else if (type === PRType.AssignedToMe) {
pullRequestItems = pullRequestItems
.filter(pr => pr.assignees.nodes
.findIndex(asignee => asignee.login === currentUserLogin) !== -1);
pullRequestFilter = pr => pr.assignees.nodes
.findIndex(asignee => asignee.login === currentUserLogin) !== -1;
} else {
throw new Error('Unexpected pull request filter');
}

pullRequestItems = pullRequestItems.filter(pullRequestFilter);
}

const pullRequests: PullRequestModel[] = pullRequestItems.map(pullRequestItem => {
Expand Down

0 comments on commit fd8a023

Please sign in to comment.