summaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
Diffstat (limited to 'models')
-rw-r--r--models/repo.go26
1 files changed, 16 insertions, 10 deletions
diff --git a/models/repo.go b/models/repo.go
index 3a1f149199..c79c52d682 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -1834,7 +1834,7 @@ type SearchRepoOptions struct {
// SearchRepositoryByName takes keyword and part of repository name to search,
// it returns results in given range and number of total results.
-func SearchRepositoryByName(opts *SearchRepoOptions) (repos RepositoryList, _ int64, _ error) {
+func SearchRepositoryByName(opts *SearchRepoOptions) (repos RepositoryList, count int64, err error) {
var (
sess *xorm.Session
cond = builder.NewCond()
@@ -1870,7 +1870,7 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos RepositoryList, _ in
var ownerIds []int64
ownerIds = append(ownerIds, opts.Searcher.ID)
- err := opts.Searcher.GetOrganizations(true)
+ err = opts.Searcher.GetOrganizations(true)
if err != nil {
return nil, 0, fmt.Errorf("Organization: %v", err)
@@ -1891,15 +1891,21 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos RepositoryList, _ in
sess = x.
Join("INNER", "star", "star.repo_id = repository.id").
Where(cond)
+ count, err = x.
+ Join("INNER", "star", "star.repo_id = repository.id").
+ Where(cond).
+ Count(new(Repository))
+ if err != nil {
+ return nil, 0, fmt.Errorf("Count: %v", err)
+ }
} else {
sess = x.Where(cond)
- }
-
- var countSess xorm.Session
- countSess = *sess
- count, err := countSess.Count(new(Repository))
- if err != nil {
- return nil, 0, fmt.Errorf("Count: %v", err)
+ count, err = x.
+ Where(cond).
+ Count(new(Repository))
+ if err != nil {
+ return nil, 0, fmt.Errorf("Count: %v", err)
+ }
}
if err = sess.
@@ -1915,7 +1921,7 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos RepositoryList, _ in
}
}
- return repos, count, nil
+ return
}
// DeleteRepositoryArchives deletes all repositories' archives.