Create a new function to build search repository condition (#10858)

Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
This commit is contained in:
Lunny Xiao 2020-03-29 13:27:06 +08:00 committed by GitHub
parent 48890ce546
commit 61f603cd8a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -190,12 +190,8 @@ const (
SearchOrderByForksReverse SearchOrderBy = "num_forks DESC" SearchOrderByForksReverse SearchOrderBy = "num_forks DESC"
) )
// SearchRepository returns repositories based on search options, // SearchRepositoryCondition creates a query condition according search repository options
// it returns results in given range and number of total results. func SearchRepositoryCondition(opts *SearchRepoOptions) builder.Cond {
func SearchRepository(opts *SearchRepoOptions) (RepositoryList, int64, error) {
if opts.Page <= 0 {
opts.Page = 1
}
var cond = builder.NewCond() var cond = builder.NewCond()
if opts.Private { if opts.Private {
@ -298,6 +294,17 @@ func SearchRepository(opts *SearchRepoOptions) (RepositoryList, int64, error) {
if opts.Actor != nil && opts.Actor.IsRestricted { if opts.Actor != nil && opts.Actor.IsRestricted {
cond = cond.And(accessibleRepositoryCondition(opts.Actor)) cond = cond.And(accessibleRepositoryCondition(opts.Actor))
} }
return cond
}
// SearchRepository returns repositories based on search options,
// it returns results in given range and number of total results.
func SearchRepository(opts *SearchRepoOptions) (RepositoryList, int64, error) {
cond := SearchRepositoryCondition(opts)
if opts.Page <= 0 {
opts.Page = 1
}
if len(opts.OrderBy) == 0 { if len(opts.OrderBy) == 0 {
opts.OrderBy = SearchOrderByAlphabetically opts.OrderBy = SearchOrderByAlphabetically