Skip to content

Commit ac14715

Browse files
committed
Optimised the Bussiness Logic function and moved repo_ids to PullRequestAnalyticsService
1 parent 2f1637a commit ac14715

File tree

3 files changed

+8
-21
lines changed

3 files changed

+8
-21
lines changed

backend/analytics_server/mhq/api/resources/code_resouces.py

-5
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,3 @@ def adapt_team_repos(team_repos: List[TeamRepos]) -> List[Dict[str, any]]:
172172
}
173173
for team_repo in team_repos
174174
]
175-
176-
def get_non_paginated_merged_without_review(prs: List[PullRequest]) -> List[Dict[str,any]]:
177-
return {
178-
"data": []
179-
}

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

+4-1
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@ def get_prs_by_ids(self, pr_ids: List[str]) -> List[PullRequest]:
1616
def get_prs_merged_without_review(
1717
self, team_id: str, interval: Interval, pr_filter: dict
1818
) -> List[PullRequest]:
19+
team_repos = self.code_repo_service.get_team_repos(team_id)
20+
repo_ids = [team_repo.id for team_repo in team_repos]
21+
1922
return self.code_repo_service.get_prs_merged_without_review(
20-
team_id, interval, pr_filter
23+
repo_ids, interval, pr_filter
2124
)
2225

2326
def get_team_repos(self, team_id: str) -> List[OrgRepo]:

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

+4-15
Original file line numberDiff line numberDiff line change
@@ -369,26 +369,15 @@ def get_team_repos(self, team_id) -> List[OrgRepo]:
369369

370370
@rollback_on_exc
371371
def get_prs_merged_without_review(
372-
self, team_id: str, interval: Interval, pr_filter: PRFilter = None
372+
self, repo_ids: List[str], interval: Interval, pr_filter: PRFilter = None
373373
) -> List[PullRequest]:
374-
AllOrg = self.get_team_repos(team_id)
375-
AllOrg_ids = [tr.id for tr in AllOrg]
376374
query = (
377375
self._db.session.query(PullRequest)
378-
.filter(PullRequest.repo_id.in_(AllOrg_ids))
376+
.filter(PullRequest.repo_id.in_(repo_ids))
379377
.filter(PullRequest.state == PullRequestState.MERGED)
380-
.filter(PullRequest.merge_time == None)
381-
.filter(
382-
or_(
383-
PullRequest.created_at.between(
384-
interval.from_time, interval.to_time
385-
),
386-
PullRequest.updated_at.between(
387-
interval.from_time, interval.to_time
388-
),
389-
)
390-
)
378+
.filter(PullRequest.merge_time.is_(None))
391379
)
380+
query = self._filter_prs_merged_in_interval(query, interval)
392381
query = self._filter_prs(query, pr_filter)
393382

394383
return query.all()

0 commit comments

Comments
 (0)