+25
-16
appview/issues/issues.go
+25
-16
appview/issues/issues.go
···
806
806
807
807
keyword := params.Get("q")
808
808
809
-
var ids []int64
809
+
var issues []models.Issue
810
810
searchOpts := models.IssueSearchOptions{
811
811
Keyword: keyword,
812
812
RepoAt: f.RepoAt().String(),
···
819
819
l.Error("failed to search for issues", "err", err)
820
820
return
821
821
}
822
-
ids = res.Hits
823
-
l.Debug("searched issues with indexer", "count", len(ids))
822
+
l.Debug("searched issues with indexer", "count", len(res.Hits))
823
+
824
+
issues, err = db.GetIssues(
825
+
rp.db,
826
+
db.FilterIn("id", res.Hits),
827
+
)
828
+
if err != nil {
829
+
l.Error("failed to get issues", "err", err)
830
+
rp.pages.Notice(w, "issues", "Failed to load issues. Try again later.")
831
+
return
832
+
}
833
+
824
834
} else {
825
-
ids, err = db.GetIssueIDs(rp.db, searchOpts)
835
+
openInt := 0
836
+
if isOpen {
837
+
openInt = 1
838
+
}
839
+
issues, err = db.GetIssuesPaginated(
840
+
rp.db,
841
+
page,
842
+
db.FilterEq("repo_at", f.RepoAt()),
843
+
db.FilterEq("open", openInt),
844
+
)
826
845
if err != nil {
827
-
l.Error("failed to search for issues", "err", err)
846
+
l.Error("failed to get issues", "err", err)
847
+
rp.pages.Notice(w, "issues", "Failed to load issues. Try again later.")
828
848
return
829
849
}
830
-
l.Debug("indexed all issues from the db", "count", len(ids))
831
-
}
832
-
833
-
issues, err := db.GetIssues(
834
-
rp.db,
835
-
db.FilterIn("id", ids),
836
-
)
837
-
if err != nil {
838
-
l.Error("failed to get issues", "err", err)
839
-
rp.pages.Notice(w, "issues", "Failed to load issues. Try again later.")
840
-
return
841
850
}
842
851
843
852
labelDefs, err := db.GetLabelDefinitions(