Skip to content

Commit 9de7cb4

Browse files
committed
Improved IsArchived filtering in issue.GetUserIssueStats
1 parent 497301a commit 9de7cb4

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

models/issue.go

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1523,21 +1523,17 @@ func GetUserIssueStats(opts UserIssueStatsOptions) (*IssueStats, error) {
15231523
if len(opts.IssueIDs) > 0 {
15241524
cond = cond.And(builder.In("issue.id", opts.IssueIDs))
15251525
}
1526-
if opts.IsArchived != util.OptionalBoolNone {
1527-
relevantRepoIDs := []int64{}
1528-
r := []*Repository{}
1529-
s := x.Table("repository").Where(builder.Eq{"is_archived": opts.IsArchived.IsTrue()})
1530-
s.Select("id").Find(&relevantRepoIDs)
1531-
s.Find(&r)
1532-
cond = cond.And(builder.In("issue.repo_id", relevantRepoIDs))
1533-
}
15341526

15351527
sess := func(cond builder.Cond) *xorm.Session {
15361528
s := x.Where(cond)
15371529
if len(opts.LabelIDs) > 0 {
15381530
s.Join("INNER", "issue_label", "issue_label.issue_id = issue.id").
15391531
In("issue_label.label_id", opts.LabelIDs)
15401532
}
1533+
if opts.IsArchived != util.OptionalBoolNone {
1534+
s.Join("INNER", "repository", "issue.repo_id = repository.id").
1535+
And(builder.Eq{"repository.is_archived": opts.IsArchived.IsTrue()})
1536+
}
15411537
return s
15421538
}
15431539

0 commit comments

Comments
 (0)