Skip to content

Commit d6bbf30

Browse files
committed
Added methods for feature Prs_not_reviwed_Merged in PUllrequestAnalysisService
Signed-off-by: RISHIKESHk07 <rishikeshkuppala@gmail.com>
1 parent ffc623d commit d6bbf30

File tree

3 files changed

+32
-0
lines changed

3 files changed

+32
-0
lines changed

backend/analytics_server/mhq/api/pull_requests.py

+10
Original file line numberDiff line numberDiff line change
@@ -167,3 +167,13 @@ def get_team_lead_time_trends(
167167
week.isoformat(): adapt_lead_time_metrics(average_lead_time_metrics)
168168
for week, average_lead_time_metrics in weekly_lead_time_metrics_avg_map.items()
169169
}
170+
171+
@app.route("/teams/<team_id>/prs/merged_not_reviwed", methods={"GET"})
172+
def merge_not_reviwed(team_id : str):
173+
query_validator = get_query_validator()
174+
team: Team = query_validator.team_validator(team_id)
175+
pr_analytics = get_pr_analytics_service()
176+
result = pr_analytics.get_prs_not_reviewed_merged(team.id)
177+
return result
178+
# return {'message':'hellothere'}
179+

backend/analytics_server/mhq/service/code/pr_analytics.py

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ def __init__(self, code_repo_service: CodeRepoService):
1010

1111
def get_prs_by_ids(self, pr_ids: List[str]) -> List[PullRequest]:
1212
return self.code_repo_service.get_prs_by_ids(pr_ids)
13+
14+
def get_prs_not_reviewed_merged(self,team_id):
15+
return self.code_repo_service.get_prs_not_reviewed_merged(team_id)
1316

1417
def get_team_repos(self, team_id: str) -> List[OrgRepo]:
1518
return self.code_repo_service.get_team_repos(team_id)

backend/analytics_server/mhq/store/repos/code.py

+19
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,25 @@ def get_team_repos(self, team_id) -> List[OrgRepo]:
328328

329329
team_repo_ids = [tr.org_repo_id for tr in team_repos]
330330
return self.get_repos_by_ids(team_repo_ids)
331+
332+
@rollback_on_exc
333+
def get_prs_not_reviewed_merged(self,team_id):
334+
AllOrg = self.get_team_repos(team_id)
335+
AllOrg_ids = [tr.id for tr in AllOrg]
336+
print(AllOrg)
337+
AllPullRequestEventReviweinOrgIds = (self._db.session.query(PullRequestEvent)
338+
.filter(PullRequestEvent.org_repo_id.in_(AllOrg_ids))
339+
.all()
340+
)
341+
ListofReviwedPrs = [ tr.pull_request_id for tr in AllPullRequestEventReviweinOrgIds]
342+
AllPullRequestMergedNotReviwed = (self._db.session.query(PullRequest)
343+
.filter(PullRequest.id.not_in(ListofReviwedPrs))
344+
.filter(PullRequest.state == PullRequestState.MERGED)
345+
.all())
346+
print(AllPullRequestMergedNotReviwed)
347+
348+
return {"countofMergedReviewedPrs": len(AllPullRequestEventReviweinOrgIds),"countOfMergedNOtReviwedPrs":len(AllPullRequestMergedNotReviwed)}
349+
331350

332351
@rollback_on_exc
333352
def get_team_repos_by_team_id(self, team_id: str) -> List[TeamRepos]:

0 commit comments

Comments
 (0)