mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 00:20:25 +08:00 
			
		
		
		
	Reduce usage of db.DefaultContext (#27073)
				
					
				
			Part of #27065 This reduces the usage of `db.DefaultContext`. I think I've got enough files for the first PR. When this is merged, I will continue working on this. Considering how many files this PR affect, I hope it won't take to long to merge, so I don't end up in the merge conflict hell. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
		@@ -4,6 +4,7 @@
 | 
			
		||||
package user
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"context"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
@@ -39,7 +40,7 @@ type SearchUserOptions struct {
 | 
			
		||||
	ExtraParamStrings map[string]string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (opts *SearchUserOptions) toSearchQueryBase() *xorm.Session {
 | 
			
		||||
func (opts *SearchUserOptions) toSearchQueryBase(ctx context.Context) *xorm.Session {
 | 
			
		||||
	var cond builder.Cond
 | 
			
		||||
	cond = builder.Eq{"type": opts.Type}
 | 
			
		||||
	if opts.IncludeReserved {
 | 
			
		||||
@@ -101,7 +102,7 @@ func (opts *SearchUserOptions) toSearchQueryBase() *xorm.Session {
 | 
			
		||||
		cond = cond.And(builder.Eq{"prohibit_login": opts.IsProhibitLogin.IsTrue()})
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	e := db.GetEngine(db.DefaultContext)
 | 
			
		||||
	e := db.GetEngine(ctx)
 | 
			
		||||
	if opts.IsTwoFactorEnabled.IsNone() {
 | 
			
		||||
		return e.Where(cond)
 | 
			
		||||
	}
 | 
			
		||||
@@ -122,8 +123,8 @@ func (opts *SearchUserOptions) toSearchQueryBase() *xorm.Session {
 | 
			
		||||
 | 
			
		||||
// SearchUsers takes options i.e. keyword and part of user name to search,
 | 
			
		||||
// it returns results in given range and number of total results.
 | 
			
		||||
func SearchUsers(opts *SearchUserOptions) (users []*User, _ int64, _ error) {
 | 
			
		||||
	sessCount := opts.toSearchQueryBase()
 | 
			
		||||
func SearchUsers(ctx context.Context, opts *SearchUserOptions) (users []*User, _ int64, _ error) {
 | 
			
		||||
	sessCount := opts.toSearchQueryBase(ctx)
 | 
			
		||||
	defer sessCount.Close()
 | 
			
		||||
	count, err := sessCount.Count(new(User))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
@@ -134,7 +135,7 @@ func SearchUsers(opts *SearchUserOptions) (users []*User, _ int64, _ error) {
 | 
			
		||||
		opts.OrderBy = db.SearchOrderByAlphabetically
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	sessQuery := opts.toSearchQueryBase().OrderBy(opts.OrderBy.String())
 | 
			
		||||
	sessQuery := opts.toSearchQueryBase(ctx).OrderBy(opts.OrderBy.String())
 | 
			
		||||
	defer sessQuery.Close()
 | 
			
		||||
	if opts.Page != 0 {
 | 
			
		||||
		sessQuery = db.SetSessionPagination(sessQuery, opts)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user