forked from gitea/gitea
refactor: repo counts for SearchRepositoryByName func (#1045)
This commit is contained in:
parent
c0ea3963be
commit
f1412142e0
|
@ -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,16 +1891,22 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos RepositoryList, _ in
|
|||
sess = x.
|
||||
Join("INNER", "star", "star.repo_id = repository.id").
|
||||
Where(cond)
|
||||
} else {
|
||||
sess = x.Where(cond)
|
||||
}
|
||||
|
||||
var countSess xorm.Session
|
||||
countSess = *sess
|
||||
count, err := countSess.Count(new(Repository))
|
||||
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)
|
||||
count, err = x.
|
||||
Where(cond).
|
||||
Count(new(Repository))
|
||||
if err != nil {
|
||||
return nil, 0, fmt.Errorf("Count: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
if err = sess.
|
||||
Limit(opts.PageSize, (opts.Page-1)*opts.PageSize).
|
||||
|
@ -1915,7 +1921,7 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos RepositoryList, _ in
|
|||
}
|
||||
}
|
||||
|
||||
return repos, count, nil
|
||||
return
|
||||
}
|
||||
|
||||
// DeleteRepositoryArchives deletes all repositories' archives.
|
||||
|
|
Loading…
Reference in New Issue