Use `ctx` instead of `db.DefaultContext` in some packages(routers/services/modules) (#19163)
* Remove `db.DefaultContext` usage in routers, use `ctx` directly * Use `ctx` directly if there is one, remove some `db.DefaultContext` in `services` * Use ctx instead of db.DefaultContext for `cmd` and some `modules` packages * fix incorrect context usage
This commit is contained in:
		
							parent
							
								
									2b55422cd7
								
							
						
					
					
						commit
						7a550b3af2
					
				| 
						 | 
				
			
			@ -493,7 +493,7 @@ func runChangePassword(c *cli.Context) error {
 | 
			
		|||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err = user_model.UpdateUserCols(db.DefaultContext, user, "passwd", "passwd_hash_algo", "salt"); err != nil {
 | 
			
		||||
	if err = user_model.UpdateUserCols(ctx, user, "passwd", "passwd_hash_algo", "salt"); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,7 +15,6 @@ import (
 | 
			
		|||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	repo_model "code.gitea.io/gitea/models/repo"
 | 
			
		||||
	unit_model "code.gitea.io/gitea/models/unit"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
| 
						 | 
				
			
			@ -256,7 +255,7 @@ func RetrieveBaseRepo(ctx *Context, repo *repo_model.Repository) {
 | 
			
		|||
		}
 | 
			
		||||
		ctx.ServerError("GetBaseRepo", err)
 | 
			
		||||
		return
 | 
			
		||||
	} else if err = repo.BaseRepo.GetOwner(db.DefaultContext); err != nil {
 | 
			
		||||
	} else if err = repo.BaseRepo.GetOwner(ctx); err != nil {
 | 
			
		||||
		ctx.ServerError("BaseRepo.GetOwner", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -273,7 +272,7 @@ func RetrieveTemplateRepo(ctx *Context, repo *repo_model.Repository) {
 | 
			
		|||
		}
 | 
			
		||||
		ctx.ServerError("GetTemplateRepo", err)
 | 
			
		||||
		return
 | 
			
		||||
	} else if err = templateRepo.GetOwner(db.DefaultContext); err != nil {
 | 
			
		||||
	} else if err = templateRepo.GetOwner(ctx); err != nil {
 | 
			
		||||
		ctx.ServerError("TemplateRepo.GetOwner", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -341,7 +340,7 @@ func RedirectToRepo(ctx *Context, redirectRepoID int64) {
 | 
			
		|||
 | 
			
		||||
func repoAssignment(ctx *Context, repo *repo_model.Repository) {
 | 
			
		||||
	var err error
 | 
			
		||||
	if err = repo.GetOwner(db.DefaultContext); err != nil {
 | 
			
		||||
	if err = repo.GetOwner(ctx); err != nil {
 | 
			
		||||
		ctx.ServerError("GetOwner", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,7 @@ import (
 | 
			
		|||
func checkOldArchives(ctx context.Context, logger log.Logger, autofix bool) error {
 | 
			
		||||
	numRepos := 0
 | 
			
		||||
	numReposUpdated := 0
 | 
			
		||||
	err := iterateRepositories(func(repo *repo_model.Repository) error {
 | 
			
		||||
	err := iterateRepositories(ctx, func(repo *repo_model.Repository) error {
 | 
			
		||||
		if repo.IsEmpty {
 | 
			
		||||
			return nil
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -268,7 +268,7 @@ func fixBrokenRepoUnits16961(ctx context.Context, logger log.Logger, autofix boo
 | 
			
		|||
	count := 0
 | 
			
		||||
 | 
			
		||||
	err := db.Iterate(
 | 
			
		||||
		db.DefaultContext,
 | 
			
		||||
		ctx,
 | 
			
		||||
		new(RepoUnit),
 | 
			
		||||
		builder.Gt{
 | 
			
		||||
			"id": 0,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,9 +18,9 @@ import (
 | 
			
		|||
	"xorm.io/builder"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func iteratePRs(repo *repo_model.Repository, each func(*repo_model.Repository, *models.PullRequest) error) error {
 | 
			
		||||
func iteratePRs(ctx context.Context, repo *repo_model.Repository, each func(*repo_model.Repository, *models.PullRequest) error) error {
 | 
			
		||||
	return db.Iterate(
 | 
			
		||||
		db.DefaultContext,
 | 
			
		||||
		ctx,
 | 
			
		||||
		new(models.PullRequest),
 | 
			
		||||
		builder.Eq{"base_repo_id": repo.ID},
 | 
			
		||||
		func(idx int, bean interface{}) error {
 | 
			
		||||
| 
						 | 
				
			
			@ -33,9 +33,9 @@ func checkPRMergeBase(ctx context.Context, logger log.Logger, autofix bool) erro
 | 
			
		|||
	numRepos := 0
 | 
			
		||||
	numPRs := 0
 | 
			
		||||
	numPRsUpdated := 0
 | 
			
		||||
	err := iterateRepositories(func(repo *repo_model.Repository) error {
 | 
			
		||||
	err := iterateRepositories(ctx, func(repo *repo_model.Repository) error {
 | 
			
		||||
		numRepos++
 | 
			
		||||
		return iteratePRs(repo, func(repo *repo_model.Repository, pr *models.PullRequest) error {
 | 
			
		||||
		return iteratePRs(ctx, repo, func(repo *repo_model.Repository, pr *models.PullRequest) error {
 | 
			
		||||
			numPRs++
 | 
			
		||||
			pr.BaseRepo = repo
 | 
			
		||||
			repoPath := repo.RepoPath()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,9 +27,9 @@ import (
 | 
			
		|||
	"xorm.io/builder"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func iterateRepositories(each func(*repo_model.Repository) error) error {
 | 
			
		||||
func iterateRepositories(ctx context.Context, each func(*repo_model.Repository) error) error {
 | 
			
		||||
	err := db.Iterate(
 | 
			
		||||
		db.DefaultContext,
 | 
			
		||||
		ctx,
 | 
			
		||||
		new(repo_model.Repository),
 | 
			
		||||
		builder.Gt{"id": 0},
 | 
			
		||||
		func(idx int, bean interface{}) error {
 | 
			
		||||
| 
						 | 
				
			
			@ -50,7 +50,7 @@ func checkScriptType(ctx context.Context, logger log.Logger, autofix bool) error
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
func checkHooks(ctx context.Context, logger log.Logger, autofix bool) error {
 | 
			
		||||
	if err := iterateRepositories(func(repo *repo_model.Repository) error {
 | 
			
		||||
	if err := iterateRepositories(ctx, func(repo *repo_model.Repository) error {
 | 
			
		||||
		results, err := repository.CheckDelegateHooks(repo.RepoPath())
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			logger.Critical("Unable to check delegate hooks for repo %-v. ERROR: %v", repo, err)
 | 
			
		||||
| 
						 | 
				
			
			@ -86,7 +86,7 @@ func checkEnablePushOptions(ctx context.Context, logger log.Logger, autofix bool
 | 
			
		|||
	numRepos := 0
 | 
			
		||||
	numNeedUpdate := 0
 | 
			
		||||
 | 
			
		||||
	if err := iterateRepositories(func(repo *repo_model.Repository) error {
 | 
			
		||||
	if err := iterateRepositories(ctx, func(repo *repo_model.Repository) error {
 | 
			
		||||
		numRepos++
 | 
			
		||||
		r, err := git.OpenRepositoryCtx(git.DefaultContext, repo.RepoPath())
 | 
			
		||||
		if err != nil {
 | 
			
		||||
| 
						 | 
				
			
			@ -132,13 +132,13 @@ func checkDaemonExport(ctx context.Context, logger log.Logger, autofix bool) err
 | 
			
		|||
		logger.Critical("Unable to create cache: %v", err)
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	if err := iterateRepositories(func(repo *repo_model.Repository) error {
 | 
			
		||||
	if err := iterateRepositories(ctx, func(repo *repo_model.Repository) error {
 | 
			
		||||
		numRepos++
 | 
			
		||||
 | 
			
		||||
		if owner, has := cache.Get(repo.OwnerID); has {
 | 
			
		||||
			repo.Owner = owner.(*user_model.User)
 | 
			
		||||
		} else {
 | 
			
		||||
			if err := repo.GetOwner(db.DefaultContext); err != nil {
 | 
			
		||||
			if err := repo.GetOwner(ctx); err != nil {
 | 
			
		||||
				return err
 | 
			
		||||
			}
 | 
			
		||||
			cache.Add(repo.OwnerID, repo.Owner)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -156,7 +156,7 @@ func MigrateRepositoryGitData(ctx context.Context, u *user_model.User,
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err = models.UpdateRepoSize(db.DefaultContext, repo); err != nil {
 | 
			
		||||
	if err = models.UpdateRepoSize(ctx, repo); err != nil {
 | 
			
		||||
		log.Error("Failed to update size for repository: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,7 +14,6 @@ import (
 | 
			
		|||
	"testing"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	repo_model "code.gitea.io/gitea/models/repo"
 | 
			
		||||
	"code.gitea.io/gitea/models/unittest"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
| 
						 | 
				
			
			@ -87,7 +86,7 @@ func LoadUser(t *testing.T, ctx *context.Context, userID int64) {
 | 
			
		|||
// LoadGitRepo load a git repo into a test context. Requires that ctx.Repo has
 | 
			
		||||
// already been populated.
 | 
			
		||||
func LoadGitRepo(t *testing.T, ctx *context.Context) {
 | 
			
		||||
	assert.NoError(t, ctx.Repo.Repository.GetOwner(db.DefaultContext))
 | 
			
		||||
	assert.NoError(t, ctx.Repo.Repository.GetOwner(ctx))
 | 
			
		||||
	var err error
 | 
			
		||||
	ctx.Repo.GitRepo, err = git.OpenRepositoryCtx(ctx, ctx.Repo.Repository.RepoPath())
 | 
			
		||||
	assert.NoError(t, err)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -346,7 +346,7 @@ func Edit(ctx *context.APIContext) {
 | 
			
		|||
	if form.RepoAdminChangeTeamAccess != nil {
 | 
			
		||||
		org.RepoAdminChangeTeamAccess = *form.RepoAdminChangeTeamAccess
 | 
			
		||||
	}
 | 
			
		||||
	if err := user_model.UpdateUserCols(db.DefaultContext, org.AsUser(),
 | 
			
		||||
	if err := user_model.UpdateUserCols(ctx, org.AsUser(),
 | 
			
		||||
		"full_name", "description", "website", "location",
 | 
			
		||||
		"visibility", "repo_admin_change_team_access",
 | 
			
		||||
	); err != nil {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,6 @@ import (
 | 
			
		|||
	"net/http"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	"code.gitea.io/gitea/modules/context"
 | 
			
		||||
	"code.gitea.io/gitea/modules/convert"
 | 
			
		||||
	"code.gitea.io/gitea/routers/api/v1/utils"
 | 
			
		||||
| 
						 | 
				
			
			@ -56,7 +55,7 @@ func StartIssueStopwatch(ctx *context.APIContext) {
 | 
			
		|||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := models.CreateIssueStopwatch(db.DefaultContext, ctx.Doer, issue); err != nil {
 | 
			
		||||
	if err := models.CreateIssueStopwatch(ctx, ctx.Doer, issue); err != nil {
 | 
			
		||||
		ctx.Error(http.StatusInternalServerError, "CreateOrStopIssueStopwatch", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -105,7 +104,7 @@ func StopIssueStopwatch(ctx *context.APIContext) {
 | 
			
		|||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := models.FinishIssueStopwatch(db.DefaultContext, ctx.Doer, issue); err != nil {
 | 
			
		||||
	if err := models.FinishIssueStopwatch(ctx, ctx.Doer, issue); err != nil {
 | 
			
		||||
		ctx.Error(http.StatusInternalServerError, "CreateOrStopIssueStopwatch", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -87,7 +87,7 @@ func ListDeployKeys(ctx *context.APIContext) {
 | 
			
		|||
		Fingerprint: ctx.FormString("fingerprint"),
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	keys, err := asymkey_model.ListDeployKeys(db.DefaultContext, opts)
 | 
			
		||||
	keys, err := asymkey_model.ListDeployKeys(ctx, opts)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		ctx.InternalServerError(err)
 | 
			
		||||
		return
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -217,7 +217,7 @@ func Search(ctx *context.APIContext) {
 | 
			
		|||
 | 
			
		||||
	results := make([]*api.Repository, len(repos))
 | 
			
		||||
	for i, repo := range repos {
 | 
			
		||||
		if err = repo.GetOwner(db.DefaultContext); err != nil {
 | 
			
		||||
		if err = repo.GetOwner(ctx); err != nil {
 | 
			
		||||
			ctx.JSON(http.StatusInternalServerError, api.SearchError{
 | 
			
		||||
				OK:    false,
 | 
			
		||||
				Error: err.Error(),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,7 @@ import (
 | 
			
		|||
)
 | 
			
		||||
 | 
			
		||||
func listGPGKeys(ctx *context.APIContext, uid int64, listOptions db.ListOptions) {
 | 
			
		||||
	keys, err := asymkey_model.ListGPGKeys(db.DefaultContext, uid, listOptions)
 | 
			
		||||
	keys, err := asymkey_model.ListGPGKeys(ctx, uid, listOptions)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		ctx.Error(http.StatusInternalServerError, "ListGPGKeys", err)
 | 
			
		||||
		return
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,7 +8,6 @@ import (
 | 
			
		|||
	"net/http"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	"code.gitea.io/gitea/models/perm"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
	"code.gitea.io/gitea/modules/context"
 | 
			
		||||
| 
						 | 
				
			
			@ -124,7 +123,7 @@ func ListMyRepos(ctx *context.APIContext) {
 | 
			
		|||
 | 
			
		||||
	results := make([]*api.Repository, len(repos))
 | 
			
		||||
	for i, repo := range repos {
 | 
			
		||||
		if err = repo.GetOwner(db.DefaultContext); err != nil {
 | 
			
		||||
		if err = repo.GetOwner(ctx); err != nil {
 | 
			
		||||
			ctx.Error(http.StatusInternalServerError, "GetOwner", err)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,6 @@ import (
 | 
			
		|||
	"net/http"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	"code.gitea.io/gitea/models/webhook"
 | 
			
		||||
	"code.gitea.io/gitea/modules/context"
 | 
			
		||||
	"code.gitea.io/gitea/modules/convert"
 | 
			
		||||
| 
						 | 
				
			
			@ -164,7 +163,7 @@ func addHook(ctx *context.APIContext, form *api.CreateHookOption, orgID, repoID
 | 
			
		|||
	if err := w.UpdateEvent(); err != nil {
 | 
			
		||||
		ctx.Error(http.StatusInternalServerError, "UpdateEvent", err)
 | 
			
		||||
		return nil, false
 | 
			
		||||
	} else if err := webhook.CreateWebhook(db.DefaultContext, w); err != nil {
 | 
			
		||||
	} else if err := webhook.CreateWebhook(ctx, w); err != nil {
 | 
			
		||||
		ctx.Error(http.StatusInternalServerError, "CreateWebhook", err)
 | 
			
		||||
		return nil, false
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -107,7 +107,7 @@ func resetLocale(ctx *context.Context, u *user_model.User) error {
 | 
			
		|||
	// If the user does not have a locale set, we save the current one.
 | 
			
		||||
	if len(u.Language) == 0 {
 | 
			
		||||
		u.Language = ctx.Locale.Language()
 | 
			
		||||
		if err := user_model.UpdateUserCols(db.DefaultContext, u, "language"); err != nil {
 | 
			
		||||
		if err := user_model.UpdateUserCols(ctx, u, "language"); err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -333,7 +333,7 @@ func handleSignInFull(ctx *context.Context, u *user_model.User, remember, obeyRe
 | 
			
		|||
	// If the user does not have a locale set, we save the current one.
 | 
			
		||||
	if len(u.Language) == 0 {
 | 
			
		||||
		u.Language = ctx.Locale.Language()
 | 
			
		||||
		if err := user_model.UpdateUserCols(db.DefaultContext, u, "language"); err != nil {
 | 
			
		||||
		if err := user_model.UpdateUserCols(ctx, u, "language"); err != nil {
 | 
			
		||||
			ctx.ServerError("UpdateUserCols Language", fmt.Errorf("Error updating user language [user: %d, locale: %s]", u.ID, u.Language))
 | 
			
		||||
			return setting.AppSubURL + "/"
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -350,7 +350,7 @@ func handleSignInFull(ctx *context.Context, u *user_model.User, remember, obeyRe
 | 
			
		|||
 | 
			
		||||
	// Register last login
 | 
			
		||||
	u.SetLastLogin()
 | 
			
		||||
	if err := user_model.UpdateUserCols(db.DefaultContext, u, "last_login_unix"); err != nil {
 | 
			
		||||
	if err := user_model.UpdateUserCols(ctx, u, "last_login_unix"); err != nil {
 | 
			
		||||
		ctx.ServerError("UpdateUserCols", err)
 | 
			
		||||
		return setting.AppSubURL + "/"
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -606,7 +606,7 @@ func handleUserCreated(ctx *context.Context, u *user_model.User, gothUser *goth.
 | 
			
		|||
		u.IsAdmin = true
 | 
			
		||||
		u.IsActive = true
 | 
			
		||||
		u.SetLastLogin()
 | 
			
		||||
		if err := user_model.UpdateUserCols(db.DefaultContext, u, "is_admin", "is_active", "last_login_unix"); err != nil {
 | 
			
		||||
		if err := user_model.UpdateUserCols(ctx, u, "is_admin", "is_active", "last_login_unix"); err != nil {
 | 
			
		||||
			ctx.ServerError("UpdateUser", err)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -733,7 +733,7 @@ func handleAccountActivation(ctx *context.Context, user *user_model.User) {
 | 
			
		|||
		ctx.ServerError("UpdateUser", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	if err := user_model.UpdateUserCols(db.DefaultContext, user, "is_active", "rands"); err != nil {
 | 
			
		||||
	if err := user_model.UpdateUserCols(ctx, user, "is_active", "rands"); err != nil {
 | 
			
		||||
		if user_model.IsErrUserNotExist(err) {
 | 
			
		||||
			ctx.NotFound("UpdateUserCols", err)
 | 
			
		||||
		} else {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,6 @@ import (
 | 
			
		|||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/auth"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
	"code.gitea.io/gitea/modules/base"
 | 
			
		||||
	"code.gitea.io/gitea/modules/context"
 | 
			
		||||
| 
						 | 
				
			
			@ -1021,7 +1020,7 @@ func handleOAuth2SignIn(ctx *context.Context, source *auth.Source, u *user_model
 | 
			
		|||
			cols = append(cols, "is_admin", "is_restricted")
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if err := user_model.UpdateUserCols(db.DefaultContext, u, cols...); err != nil {
 | 
			
		||||
		if err := user_model.UpdateUserCols(ctx, u, cols...); err != nil {
 | 
			
		||||
			ctx.ServerError("UpdateUserCols", err)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -1048,7 +1047,7 @@ func handleOAuth2SignIn(ctx *context.Context, source *auth.Source, u *user_model
 | 
			
		|||
 | 
			
		||||
	changed := setUserGroupClaims(source, u, &gothUser)
 | 
			
		||||
	if changed {
 | 
			
		||||
		if err := user_model.UpdateUserCols(db.DefaultContext, u, "is_admin", "is_restricted"); err != nil {
 | 
			
		||||
		if err := user_model.UpdateUserCols(ctx, u, "is_admin", "is_restricted"); err != nil {
 | 
			
		||||
			ctx.ServerError("UpdateUserCols", err)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,6 @@ import (
 | 
			
		|||
	"net/http"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models/auth"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
	"code.gitea.io/gitea/modules/base"
 | 
			
		||||
	"code.gitea.io/gitea/modules/context"
 | 
			
		||||
| 
						 | 
				
			
			@ -232,7 +231,7 @@ func ResetPasswdPost(ctx *context.Context) {
 | 
			
		|||
		return
 | 
			
		||||
	}
 | 
			
		||||
	u.MustChangePassword = false
 | 
			
		||||
	if err := user_model.UpdateUserCols(db.DefaultContext, u, "must_change_password", "passwd", "passwd_hash_algo", "rands", "salt"); err != nil {
 | 
			
		||||
	if err := user_model.UpdateUserCols(ctx, u, "must_change_password", "passwd", "passwd_hash_algo", "rands", "salt"); err != nil {
 | 
			
		||||
		ctx.ServerError("UpdateUser", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -327,7 +326,7 @@ func MustChangePasswordPost(ctx *context.Context) {
 | 
			
		|||
 | 
			
		||||
	u.MustChangePassword = false
 | 
			
		||||
 | 
			
		||||
	if err := user_model.UpdateUserCols(db.DefaultContext, u, "must_change_password", "passwd", "passwd_hash_algo", "salt"); err != nil {
 | 
			
		||||
	if err := user_model.UpdateUserCols(ctx, u, "must_change_password", "passwd", "passwd_hash_algo", "salt"); err != nil {
 | 
			
		||||
		ctx.ServerError("UpdateUser", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -100,7 +100,7 @@ func InitializeLabels(ctx *context.Context) {
 | 
			
		|||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := models.InitializeLabels(db.DefaultContext, ctx.Org.Organization.ID, form.TemplateName, true); err != nil {
 | 
			
		||||
	if err := models.InitializeLabels(ctx, ctx.Org.Organization.ID, form.TemplateName, true); err != nil {
 | 
			
		||||
		if models.IsErrIssueLabelTemplateLoad(err) {
 | 
			
		||||
			originalErr := err.(models.ErrIssueLabelTemplateLoad).OriginalError
 | 
			
		||||
			ctx.Flash.Error(ctx.Tr("repo.issues.label_templates.fail_to_load_file", form.TemplateName, originalErr))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,6 @@ import (
 | 
			
		|||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	repo_model "code.gitea.io/gitea/models/repo"
 | 
			
		||||
	"code.gitea.io/gitea/models/unit"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
| 
						 | 
				
			
			@ -269,7 +268,7 @@ func ParseCompareInfo(ctx *context.Context) *CompareInfo {
 | 
			
		|||
				}
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
			if err := ci.HeadRepo.GetOwner(db.DefaultContext); err != nil {
 | 
			
		||||
			if err := ci.HeadRepo.GetOwner(ctx); err != nil {
 | 
			
		||||
				if user_model.IsErrUserNotExist(err) {
 | 
			
		||||
					ctx.NotFound("GetUserByName", nil)
 | 
			
		||||
				} else {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,7 +21,6 @@ import (
 | 
			
		|||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/auth"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	"code.gitea.io/gitea/models/perm"
 | 
			
		||||
	repo_model "code.gitea.io/gitea/models/repo"
 | 
			
		||||
	"code.gitea.io/gitea/models/unit"
 | 
			
		||||
| 
						 | 
				
			
			@ -159,7 +158,7 @@ func httpBase(ctx *context.Context) (h *serviceHandler) {
 | 
			
		|||
 | 
			
		||||
	// don't allow anonymous pulls if organization is not public
 | 
			
		||||
	if isPublicPull {
 | 
			
		||||
		if err := repo.GetOwner(db.DefaultContext); err != nil {
 | 
			
		||||
		if err := repo.GetOwner(ctx); err != nil {
 | 
			
		||||
			ctx.ServerError("GetOwner", err)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1944,7 +1944,7 @@ func UpdatePullReviewRequest(ctx *context.Context) {
 | 
			
		|||
		}
 | 
			
		||||
		if reviewID < 0 {
 | 
			
		||||
			// negative reviewIDs represent team requests
 | 
			
		||||
			if err := issue.Repo.GetOwner(db.DefaultContext); err != nil {
 | 
			
		||||
			if err := issue.Repo.GetOwner(ctx); err != nil {
 | 
			
		||||
				ctx.ServerError("issue.Repo.GetOwner", err)
 | 
			
		||||
				return
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,7 +12,6 @@ import (
 | 
			
		|||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	issuesModel "code.gitea.io/gitea/models/issues"
 | 
			
		||||
	"code.gitea.io/gitea/models/unit"
 | 
			
		||||
	"code.gitea.io/gitea/modules/context"
 | 
			
		||||
| 
						 | 
				
			
			@ -32,7 +31,7 @@ func GetContentHistoryOverview(ctx *context.Context) {
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	lang := ctx.Locale.Language()
 | 
			
		||||
	editedHistoryCountMap, _ := issuesModel.QueryIssueContentHistoryEditedCountMap(db.DefaultContext, issue.ID)
 | 
			
		||||
	editedHistoryCountMap, _ := issuesModel.QueryIssueContentHistoryEditedCountMap(ctx, issue.ID)
 | 
			
		||||
	ctx.JSON(http.StatusOK, map[string]interface{}{
 | 
			
		||||
		"i18n": map[string]interface{}{
 | 
			
		||||
			"textEdited":                   i18n.Tr(lang, "repo.issues.content_history.edited"),
 | 
			
		||||
| 
						 | 
				
			
			@ -52,7 +51,7 @@ func GetContentHistoryList(ctx *context.Context) {
 | 
			
		|||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	items, _ := issuesModel.FetchIssueContentHistoryList(db.DefaultContext, issue.ID, commentID)
 | 
			
		||||
	items, _ := issuesModel.FetchIssueContentHistoryList(ctx, issue.ID, commentID)
 | 
			
		||||
 | 
			
		||||
	// render history list to HTML for frontend dropdown items: (name, value)
 | 
			
		||||
	// name is HTML of "avatar + userName + userAction + timeSince"
 | 
			
		||||
| 
						 | 
				
			
			@ -119,7 +118,7 @@ func GetContentHistoryDetail(ctx *context.Context) {
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	historyID := ctx.FormInt64("history_id")
 | 
			
		||||
	history, prevHistory, err := issuesModel.GetIssueContentHistoryAndPrev(db.DefaultContext, historyID)
 | 
			
		||||
	history, prevHistory, err := issuesModel.GetIssueContentHistoryAndPrev(ctx, historyID)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		ctx.JSON(http.StatusNotFound, map[string]interface{}{
 | 
			
		||||
			"message": "Can not find the content history",
 | 
			
		||||
| 
						 | 
				
			
			@ -196,7 +195,7 @@ func SoftDeleteContentHistory(ctx *context.Context) {
 | 
			
		|||
			return
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	if history, err = issuesModel.GetIssueContentHistoryByID(db.DefaultContext, historyID); err != nil {
 | 
			
		||||
	if history, err = issuesModel.GetIssueContentHistoryByID(ctx, historyID); err != nil {
 | 
			
		||||
		log.Error("can not get issue content history %v. err=%v", historyID, err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -209,7 +208,7 @@ func SoftDeleteContentHistory(ctx *context.Context) {
 | 
			
		|||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err = issuesModel.SoftDeleteIssueContentHistory(db.DefaultContext, historyID)
 | 
			
		||||
	err = issuesModel.SoftDeleteIssueContentHistory(ctx, historyID)
 | 
			
		||||
	log.Debug("soft delete issue content history. issue=%d, comment=%d, history=%d", issue.ID, commentID, historyID)
 | 
			
		||||
	ctx.JSON(http.StatusOK, map[string]interface{}{
 | 
			
		||||
		"ok": err == nil,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,7 +39,7 @@ func InitializeLabels(ctx *context.Context) {
 | 
			
		|||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := models.InitializeLabels(db.DefaultContext, ctx.Repo.Repository.ID, form.TemplateName, false); err != nil {
 | 
			
		||||
	if err := models.InitializeLabels(ctx, ctx.Repo.Repository.ID, form.TemplateName, false); err != nil {
 | 
			
		||||
		if models.IsErrIssueLabelTemplateLoad(err) {
 | 
			
		||||
			originalErr := err.(models.ErrIssueLabelTemplateLoad).OriginalError
 | 
			
		||||
			ctx.Flash.Error(ctx.Tr("repo.issues.label_templates.fail_to_load_file", form.TemplateName, originalErr))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -99,7 +99,7 @@ func getForkRepository(ctx *context.Context) *repo_model.Repository {
 | 
			
		|||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := forkRepo.GetOwner(db.DefaultContext); err != nil {
 | 
			
		||||
	if err := forkRepo.GetOwner(ctx); err != nil {
 | 
			
		||||
		ctx.ServerError("GetOwner", err)
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -1255,7 +1255,7 @@ func CleanUpPullRequest(ctx *context.Context) {
 | 
			
		|||
	} else if err = pr.LoadBaseRepo(); err != nil {
 | 
			
		||||
		ctx.ServerError("LoadBaseRepo", err)
 | 
			
		||||
		return
 | 
			
		||||
	} else if err = pr.HeadRepo.GetOwner(db.DefaultContext); err != nil {
 | 
			
		||||
	} else if err = pr.HeadRepo.GetOwner(ctx); err != nil {
 | 
			
		||||
		ctx.ServerError("HeadRepo.GetOwner", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -353,7 +353,7 @@ func RedirectDownload(ctx *context.Context) {
 | 
			
		|||
	)
 | 
			
		||||
	tagNames := []string{vTag}
 | 
			
		||||
	curRepo := ctx.Repo.Repository
 | 
			
		||||
	releases, err := models.GetReleasesByRepoIDAndNames(db.DefaultContext, curRepo.ID, tagNames)
 | 
			
		||||
	releases, err := models.GetReleasesByRepoIDAndNames(ctx, curRepo.ID, tagNames)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		if repo_model.IsErrAttachmentNotExist(err) {
 | 
			
		||||
			ctx.Error(http.StatusNotFound)
 | 
			
		||||
| 
						 | 
				
			
			@ -394,7 +394,7 @@ func Download(ctx *context.Context) {
 | 
			
		|||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	archiver, err := repo_model.GetRepoArchiver(db.DefaultContext, aReq.RepoID, aReq.Type, aReq.CommitID)
 | 
			
		||||
	archiver, err := repo_model.GetRepoArchiver(ctx, aReq.RepoID, aReq.Type, aReq.CommitID)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		ctx.ServerError("models.GetRepoArchiver", err)
 | 
			
		||||
		return
 | 
			
		||||
| 
						 | 
				
			
			@ -424,7 +424,7 @@ func Download(ctx *context.Context) {
 | 
			
		|||
				return
 | 
			
		||||
			}
 | 
			
		||||
			times++
 | 
			
		||||
			archiver, err = repo_model.GetRepoArchiver(db.DefaultContext, aReq.RepoID, aReq.Type, aReq.CommitID)
 | 
			
		||||
			archiver, err = repo_model.GetRepoArchiver(ctx, aReq.RepoID, aReq.Type, aReq.CommitID)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				ctx.ServerError("archiver_service.StartArchive", err)
 | 
			
		||||
				return
 | 
			
		||||
| 
						 | 
				
			
			@ -480,7 +480,7 @@ func InitiateDownload(ctx *context.Context) {
 | 
			
		|||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	archiver, err := repo_model.GetRepoArchiver(db.DefaultContext, aReq.RepoID, aReq.Type, aReq.CommitID)
 | 
			
		||||
	archiver, err := repo_model.GetRepoArchiver(ctx, aReq.RepoID, aReq.Type, aReq.CommitID)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		ctx.ServerError("archiver_service.StartArchive", err)
 | 
			
		||||
		return
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -595,7 +595,7 @@ func SettingsPost(ctx *context.Context) {
 | 
			
		|||
			ctx.Error(http.StatusNotFound)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		if err := repo.GetOwner(db.DefaultContext); err != nil {
 | 
			
		||||
		if err := repo.GetOwner(ctx); err != nil {
 | 
			
		||||
			ctx.ServerError("Convert Fork", err)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -1055,7 +1055,7 @@ func DeployKeys(ctx *context.Context) {
 | 
			
		|||
	ctx.Data["PageIsSettingsKeys"] = true
 | 
			
		||||
	ctx.Data["DisableSSH"] = setting.SSH.Disabled
 | 
			
		||||
 | 
			
		||||
	keys, err := asymkey_model.ListDeployKeys(db.DefaultContext, &asymkey_model.ListDeployKeysOptions{RepoID: ctx.Repo.Repository.ID})
 | 
			
		||||
	keys, err := asymkey_model.ListDeployKeys(ctx, &asymkey_model.ListDeployKeysOptions{RepoID: ctx.Repo.Repository.ID})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		ctx.ServerError("ListDeployKeys", err)
 | 
			
		||||
		return
 | 
			
		||||
| 
						 | 
				
			
			@ -1071,7 +1071,7 @@ func DeployKeysPost(ctx *context.Context) {
 | 
			
		|||
	ctx.Data["Title"] = ctx.Tr("repo.settings.deploy_keys")
 | 
			
		||||
	ctx.Data["PageIsSettingsKeys"] = true
 | 
			
		||||
 | 
			
		||||
	keys, err := asymkey_model.ListDeployKeys(db.DefaultContext, &asymkey_model.ListDeployKeysOptions{RepoID: ctx.Repo.Repository.ID})
 | 
			
		||||
	keys, err := asymkey_model.ListDeployKeys(ctx, &asymkey_model.ListDeployKeysOptions{RepoID: ctx.Repo.Repository.ID})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		ctx.ServerError("ListDeployKeys", err)
 | 
			
		||||
		return
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -884,7 +884,7 @@ func renderCode(ctx *context.Context) {
 | 
			
		|||
			ctx.ServerError("UpdateRepositoryCols", err)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		if err = models.UpdateRepoSize(db.DefaultContext, ctx.Repo.Repository); err != nil {
 | 
			
		||||
		if err = models.UpdateRepoSize(ctx, ctx.Repo.Repository); err != nil {
 | 
			
		||||
			ctx.ServerError("UpdateRepoSize", err)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -1017,7 +1017,7 @@ func Forks(ctx *context.Context) {
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	for _, fork := range forks {
 | 
			
		||||
		if err = fork.GetOwner(db.DefaultContext); err != nil {
 | 
			
		||||
		if err = fork.GetOwner(ctx); err != nil {
 | 
			
		||||
			ctx.ServerError("GetOwner", err)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,7 +13,6 @@ import (
 | 
			
		|||
	"path"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	"code.gitea.io/gitea/models/perm"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
	"code.gitea.io/gitea/models/webhook"
 | 
			
		||||
| 
						 | 
				
			
			@ -227,7 +226,7 @@ func GiteaHooksNewPost(ctx *context.Context) {
 | 
			
		|||
	if err := w.UpdateEvent(); err != nil {
 | 
			
		||||
		ctx.ServerError("UpdateEvent", err)
 | 
			
		||||
		return
 | 
			
		||||
	} else if err := webhook.CreateWebhook(db.DefaultContext, w); err != nil {
 | 
			
		||||
	} else if err := webhook.CreateWebhook(ctx, w); err != nil {
 | 
			
		||||
		ctx.ServerError("CreateWebhook", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -281,7 +280,7 @@ func newGogsWebhookPost(ctx *context.Context, form forms.NewGogshookForm, kind w
 | 
			
		|||
	if err := w.UpdateEvent(); err != nil {
 | 
			
		||||
		ctx.ServerError("UpdateEvent", err)
 | 
			
		||||
		return
 | 
			
		||||
	} else if err := webhook.CreateWebhook(db.DefaultContext, w); err != nil {
 | 
			
		||||
	} else if err := webhook.CreateWebhook(ctx, w); err != nil {
 | 
			
		||||
		ctx.ServerError("CreateWebhook", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -333,7 +332,7 @@ func DiscordHooksNewPost(ctx *context.Context) {
 | 
			
		|||
	if err := w.UpdateEvent(); err != nil {
 | 
			
		||||
		ctx.ServerError("UpdateEvent", err)
 | 
			
		||||
		return
 | 
			
		||||
	} else if err := webhook.CreateWebhook(db.DefaultContext, w); err != nil {
 | 
			
		||||
	} else if err := webhook.CreateWebhook(ctx, w); err != nil {
 | 
			
		||||
		ctx.ServerError("CreateWebhook", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -376,7 +375,7 @@ func DingtalkHooksNewPost(ctx *context.Context) {
 | 
			
		|||
	if err := w.UpdateEvent(); err != nil {
 | 
			
		||||
		ctx.ServerError("UpdateEvent", err)
 | 
			
		||||
		return
 | 
			
		||||
	} else if err := webhook.CreateWebhook(db.DefaultContext, w); err != nil {
 | 
			
		||||
	} else if err := webhook.CreateWebhook(ctx, w); err != nil {
 | 
			
		||||
		ctx.ServerError("CreateWebhook", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -428,7 +427,7 @@ func TelegramHooksNewPost(ctx *context.Context) {
 | 
			
		|||
	if err := w.UpdateEvent(); err != nil {
 | 
			
		||||
		ctx.ServerError("UpdateEvent", err)
 | 
			
		||||
		return
 | 
			
		||||
	} else if err := webhook.CreateWebhook(db.DefaultContext, w); err != nil {
 | 
			
		||||
	} else if err := webhook.CreateWebhook(ctx, w); err != nil {
 | 
			
		||||
		ctx.ServerError("CreateWebhook", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -483,7 +482,7 @@ func MatrixHooksNewPost(ctx *context.Context) {
 | 
			
		|||
	if err := w.UpdateEvent(); err != nil {
 | 
			
		||||
		ctx.ServerError("UpdateEvent", err)
 | 
			
		||||
		return
 | 
			
		||||
	} else if err := webhook.CreateWebhook(db.DefaultContext, w); err != nil {
 | 
			
		||||
	} else if err := webhook.CreateWebhook(ctx, w); err != nil {
 | 
			
		||||
		ctx.ServerError("CreateWebhook", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -526,7 +525,7 @@ func MSTeamsHooksNewPost(ctx *context.Context) {
 | 
			
		|||
	if err := w.UpdateEvent(); err != nil {
 | 
			
		||||
		ctx.ServerError("UpdateEvent", err)
 | 
			
		||||
		return
 | 
			
		||||
	} else if err := webhook.CreateWebhook(db.DefaultContext, w); err != nil {
 | 
			
		||||
	} else if err := webhook.CreateWebhook(ctx, w); err != nil {
 | 
			
		||||
		ctx.ServerError("CreateWebhook", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -586,7 +585,7 @@ func SlackHooksNewPost(ctx *context.Context) {
 | 
			
		|||
	if err := w.UpdateEvent(); err != nil {
 | 
			
		||||
		ctx.ServerError("UpdateEvent", err)
 | 
			
		||||
		return
 | 
			
		||||
	} else if err := webhook.CreateWebhook(db.DefaultContext, w); err != nil {
 | 
			
		||||
	} else if err := webhook.CreateWebhook(ctx, w); err != nil {
 | 
			
		||||
		ctx.ServerError("CreateWebhook", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -629,7 +628,7 @@ func FeishuHooksNewPost(ctx *context.Context) {
 | 
			
		|||
	if err := w.UpdateEvent(); err != nil {
 | 
			
		||||
		ctx.ServerError("UpdateEvent", err)
 | 
			
		||||
		return
 | 
			
		||||
	} else if err := webhook.CreateWebhook(db.DefaultContext, w); err != nil {
 | 
			
		||||
	} else if err := webhook.CreateWebhook(ctx, w); err != nil {
 | 
			
		||||
		ctx.ServerError("CreateWebhook", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -673,7 +672,7 @@ func WechatworkHooksNewPost(ctx *context.Context) {
 | 
			
		|||
	if err := w.UpdateEvent(); err != nil {
 | 
			
		||||
		ctx.ServerError("UpdateEvent", err)
 | 
			
		||||
		return
 | 
			
		||||
	} else if err := webhook.CreateWebhook(db.DefaultContext, w); err != nil {
 | 
			
		||||
	} else if err := webhook.CreateWebhook(ctx, w); err != nil {
 | 
			
		||||
		ctx.ServerError("CreateWebhook", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -726,7 +725,7 @@ func PackagistHooksNewPost(ctx *context.Context) {
 | 
			
		|||
	if err := w.UpdateEvent(); err != nil {
 | 
			
		||||
		ctx.ServerError("UpdateEvent", err)
 | 
			
		||||
		return
 | 
			
		||||
	} else if err := webhook.CreateWebhook(db.DefaultContext, w); err != nil {
 | 
			
		||||
	} else if err := webhook.CreateWebhook(ctx, w); err != nil {
 | 
			
		||||
		ctx.ServerError("CreateWebhook", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -74,7 +74,7 @@ func Dashboard(ctx *context.Context) {
 | 
			
		|||
	ctx.Data["Title"] = ctxUser.DisplayName() + " - " + ctx.Tr("dashboard")
 | 
			
		||||
	ctx.Data["PageIsDashboard"] = true
 | 
			
		||||
	ctx.Data["PageIsNews"] = true
 | 
			
		||||
	cnt, _ := models.GetOrganizationCount(db.DefaultContext, ctxUser)
 | 
			
		||||
	cnt, _ := models.GetOrganizationCount(ctx, ctxUser)
 | 
			
		||||
	ctx.Data["UserOrgsCount"] = cnt
 | 
			
		||||
 | 
			
		||||
	var uid int64
 | 
			
		||||
| 
						 | 
				
			
			@ -730,7 +730,7 @@ func ShowSSHKeys(ctx *context.Context, uid int64) {
 | 
			
		|||
 | 
			
		||||
// ShowGPGKeys output all the public GPG keys of user by uid
 | 
			
		||||
func ShowGPGKeys(ctx *context.Context, uid int64) {
 | 
			
		||||
	keys, err := asymkey_model.ListGPGKeys(db.DefaultContext, uid, db.ListOptions{})
 | 
			
		||||
	keys, err := asymkey_model.ListGPGKeys(ctx, uid, db.ListOptions{})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		ctx.ServerError("ListGPGKeys", err)
 | 
			
		||||
		return
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,7 +11,6 @@ import (
 | 
			
		|||
	"time"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
	"code.gitea.io/gitea/modules/base"
 | 
			
		||||
	"code.gitea.io/gitea/modules/context"
 | 
			
		||||
| 
						 | 
				
			
			@ -75,7 +74,7 @@ func AccountPost(ctx *context.Context) {
 | 
			
		|||
			ctx.ServerError("UpdateUser", err)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		if err := user_model.UpdateUserCols(db.DefaultContext, ctx.Doer, "salt", "passwd_hash_algo", "passwd"); err != nil {
 | 
			
		||||
		if err := user_model.UpdateUserCols(ctx, ctx.Doer, "salt", "passwd_hash_algo", "passwd"); err != nil {
 | 
			
		||||
			ctx.ServerError("UpdateUser", err)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -269,7 +269,7 @@ func loadKeysData(ctx *context.Context) {
 | 
			
		|||
	}
 | 
			
		||||
	ctx.Data["ExternalKeys"] = externalKeys
 | 
			
		||||
 | 
			
		||||
	gpgkeys, err := asymkey_model.ListGPGKeys(db.DefaultContext, ctx.Doer.ID, db.ListOptions{})
 | 
			
		||||
	gpgkeys, err := asymkey_model.ListGPGKeys(ctx, ctx.Doer.ID, db.ListOptions{})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		ctx.ServerError("ListGPGKeys", err)
 | 
			
		||||
		return
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -185,7 +185,7 @@ func UpdateAvatarSetting(ctx *context.Context, form *forms.AvatarForm, ctxUser *
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := user_model.UpdateUserCols(db.DefaultContext, ctxUser, "avatar", "avatar_email", "use_custom_avatar"); err != nil {
 | 
			
		||||
	if err := user_model.UpdateUserCols(ctx, ctxUser, "avatar", "avatar_email", "use_custom_avatar"); err != nil {
 | 
			
		||||
		return fmt.Errorf("UpdateUser: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -143,7 +143,7 @@ Loop:
 | 
			
		|||
		case always:
 | 
			
		||||
			break Loop
 | 
			
		||||
		case pubkey:
 | 
			
		||||
			keys, err := asymkey_model.ListGPGKeys(db.DefaultContext, u.ID, db.ListOptions{})
 | 
			
		||||
			keys, err := asymkey_model.ListGPGKeys(ctx, u.ID, db.ListOptions{})
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				return false, "", nil, err
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			@ -179,7 +179,7 @@ Loop:
 | 
			
		|||
		case always:
 | 
			
		||||
			break Loop
 | 
			
		||||
		case pubkey:
 | 
			
		||||
			keys, err := asymkey_model.ListGPGKeys(db.DefaultContext, u.ID, db.ListOptions{})
 | 
			
		||||
			keys, err := asymkey_model.ListGPGKeys(ctx, u.ID, db.ListOptions{})
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				return false, "", nil, err
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			@ -232,7 +232,7 @@ Loop:
 | 
			
		|||
		case always:
 | 
			
		||||
			break Loop
 | 
			
		||||
		case pubkey:
 | 
			
		||||
			keys, err := asymkey_model.ListGPGKeys(db.DefaultContext, u.ID, db.ListOptions{})
 | 
			
		||||
			keys, err := asymkey_model.ListGPGKeys(ctx, u.ID, db.ListOptions{})
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				return false, "", nil, err
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			@ -294,7 +294,7 @@ Loop:
 | 
			
		|||
		case always:
 | 
			
		||||
			break Loop
 | 
			
		||||
		case pubkey:
 | 
			
		||||
			keys, err := asymkey_model.ListGPGKeys(db.DefaultContext, u.ID, db.ListOptions{})
 | 
			
		||||
			keys, err := asymkey_model.ListGPGKeys(ctx, u.ID, db.ListOptions{})
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				return false, "", nil, err
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -202,7 +202,7 @@ func (source *Source) Sync(ctx context.Context, updateExisting bool) error {
 | 
			
		|||
				log.Trace("SyncExternalUsers[%s]: Deactivating user %s", source.authSource.Name, usr.Name)
 | 
			
		||||
 | 
			
		||||
				usr.IsActive = false
 | 
			
		||||
				err = user_model.UpdateUserCols(db.DefaultContext, usr, "is_active")
 | 
			
		||||
				err = user_model.UpdateUserCols(ctx, usr, "is_active")
 | 
			
		||||
				if err != nil {
 | 
			
		||||
					log.Error("SyncExternalUsers[%s]: Error deactivating user %s: %v", source.authSource.Name, usr.Name, err)
 | 
			
		||||
				}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,6 +7,7 @@ package mailer
 | 
			
		|||
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"context"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"html/template"
 | 
			
		||||
	"mime"
 | 
			
		||||
| 
						 | 
				
			
			@ -414,6 +415,7 @@ func SendIssueAssignedMail(issue *models.Issue, doer *user_model.User, content s
 | 
			
		|||
 | 
			
		||||
	for lang, tos := range langMap {
 | 
			
		||||
		msgs, err := composeIssueCommentMessages(&mailCommentContext{
 | 
			
		||||
			Context:    context.TODO(), // TODO: use a correct context
 | 
			
		||||
			Issue:      issue,
 | 
			
		||||
			Doer:       doer,
 | 
			
		||||
			ActionType: models.ActionType(0),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,6 @@ import (
 | 
			
		|||
	"fmt"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	repo_model "code.gitea.io/gitea/models/repo"
 | 
			
		||||
	"code.gitea.io/gitea/models/unit"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
| 
						 | 
				
			
			@ -81,7 +80,7 @@ func mailIssueCommentToParticipants(ctx *mailCommentContext, mentions []*user_mo
 | 
			
		|||
	// =========== Repo watchers ===========
 | 
			
		||||
	// Make repo watchers last, since it's likely the list with the most users
 | 
			
		||||
	if !(ctx.Issue.IsPull && ctx.Issue.PullRequest.IsWorkInProgress() && ctx.ActionType != models.ActionCreatePullRequest) {
 | 
			
		||||
		ids, err = repo_model.GetRepoWatchersIDs(db.DefaultContext, ctx.Issue.RepoID)
 | 
			
		||||
		ids, err = repo_model.GetRepoWatchersIDs(ctx, ctx.Issue.RepoID)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return fmt.Errorf("GetRepoWatchersIDs(%d): %v", ctx.Issue.RepoID, err)
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -186,6 +185,7 @@ func MailParticipants(issue *models.Issue, doer *user_model.User, opType models.
 | 
			
		|||
	}
 | 
			
		||||
	if err := mailIssueCommentToParticipants(
 | 
			
		||||
		&mailCommentContext{
 | 
			
		||||
			Context:    context.TODO(), // TODO: use a correct context
 | 
			
		||||
			Issue:      issue,
 | 
			
		||||
			Doer:       doer,
 | 
			
		||||
			ActionType: opType,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,6 @@ import (
 | 
			
		|||
	"context"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	repo_model "code.gitea.io/gitea/models/repo"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
	"code.gitea.io/gitea/modules/base"
 | 
			
		||||
| 
						 | 
				
			
			@ -32,7 +31,7 @@ func MailNewRelease(ctx context.Context, rel *models.Release) {
 | 
			
		|||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	watcherIDList, err := repo_model.GetRepoWatchersIDs(db.DefaultContext, rel.RepoID)
 | 
			
		||||
	watcherIDList, err := repo_model.GetRepoWatchersIDs(ctx, rel.RepoID)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Error("GetRepoWatchersIDs(%d): %v", rel.RepoID, err)
 | 
			
		||||
		return
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,6 +6,7 @@ package mailer
 | 
			
		|||
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"context"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"html/template"
 | 
			
		||||
	"strings"
 | 
			
		||||
| 
						 | 
				
			
			@ -70,6 +71,7 @@ func TestComposeIssueCommentMessage(t *testing.T) {
 | 
			
		|||
 | 
			
		||||
	recipients := []*user_model.User{{Name: "Test", Email: "test@gitea.com"}, {Name: "Test2", Email: "test2@gitea.com"}}
 | 
			
		||||
	msgs, err := composeIssueCommentMessages(&mailCommentContext{
 | 
			
		||||
		Context: context.TODO(), // TODO: use a correct context
 | 
			
		||||
		Issue:   issue, Doer: doer, ActionType: models.ActionCommentIssue,
 | 
			
		||||
		Content: "test body", Comment: comment,
 | 
			
		||||
	}, "en-US", recipients, false, "issue comment")
 | 
			
		||||
| 
						 | 
				
			
			@ -99,6 +101,7 @@ func TestComposeIssueMessage(t *testing.T) {
 | 
			
		|||
 | 
			
		||||
	recipients := []*user_model.User{{Name: "Test", Email: "test@gitea.com"}, {Name: "Test2", Email: "test2@gitea.com"}}
 | 
			
		||||
	msgs, err := composeIssueCommentMessages(&mailCommentContext{
 | 
			
		||||
		Context: context.TODO(), // TODO: use a correct context
 | 
			
		||||
		Issue:   issue, Doer: doer, ActionType: models.ActionCreateIssue,
 | 
			
		||||
		Content: "test body",
 | 
			
		||||
	}, "en-US", recipients, false, "issue create")
 | 
			
		||||
| 
						 | 
				
			
			@ -145,12 +148,14 @@ func TestTemplateSelection(t *testing.T) {
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	msg := testComposeIssueCommentMessage(t, &mailCommentContext{
 | 
			
		||||
		Context: context.TODO(), // TODO: use a correct context
 | 
			
		||||
		Issue:   issue, Doer: doer, ActionType: models.ActionCreateIssue,
 | 
			
		||||
		Content: "test body",
 | 
			
		||||
	}, recipients, false, "TestTemplateSelection")
 | 
			
		||||
	expect(t, msg, "issue/new/subject", "issue/new/body")
 | 
			
		||||
 | 
			
		||||
	msg = testComposeIssueCommentMessage(t, &mailCommentContext{
 | 
			
		||||
		Context: context.TODO(), // TODO: use a correct context
 | 
			
		||||
		Issue:   issue, Doer: doer, ActionType: models.ActionCommentIssue,
 | 
			
		||||
		Content: "test body", Comment: comment,
 | 
			
		||||
	}, recipients, false, "TestTemplateSelection")
 | 
			
		||||
| 
						 | 
				
			
			@ -159,12 +164,14 @@ func TestTemplateSelection(t *testing.T) {
 | 
			
		|||
	pull := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 2, Repo: repo, Poster: doer}).(*models.Issue)
 | 
			
		||||
	comment = unittest.AssertExistsAndLoadBean(t, &models.Comment{ID: 4, Issue: pull}).(*models.Comment)
 | 
			
		||||
	msg = testComposeIssueCommentMessage(t, &mailCommentContext{
 | 
			
		||||
		Context: context.TODO(), // TODO: use a correct context
 | 
			
		||||
		Issue:   pull, Doer: doer, ActionType: models.ActionCommentPull,
 | 
			
		||||
		Content: "test body", Comment: comment,
 | 
			
		||||
	}, recipients, false, "TestTemplateSelection")
 | 
			
		||||
	expect(t, msg, "pull/comment/subject", "pull/comment/body")
 | 
			
		||||
 | 
			
		||||
	msg = testComposeIssueCommentMessage(t, &mailCommentContext{
 | 
			
		||||
		Context: context.TODO(), // TODO: use a correct context
 | 
			
		||||
		Issue:   issue, Doer: doer, ActionType: models.ActionCloseIssue,
 | 
			
		||||
		Content: "test body", Comment: comment,
 | 
			
		||||
	}, recipients, false, "TestTemplateSelection")
 | 
			
		||||
| 
						 | 
				
			
			@ -184,6 +191,7 @@ func TestTemplateServices(t *testing.T) {
 | 
			
		|||
 | 
			
		||||
		recipients := []*user_model.User{{Name: "Test", Email: "test@gitea.com"}}
 | 
			
		||||
		msg := testComposeIssueCommentMessage(t, &mailCommentContext{
 | 
			
		||||
			Context: context.TODO(), // TODO: use a correct context
 | 
			
		||||
			Issue:   issue, Doer: doer, ActionType: actionType,
 | 
			
		||||
			Content: "test body", Comment: comment,
 | 
			
		||||
		}, recipients, fromMention, "TestTemplateServices")
 | 
			
		||||
| 
						 | 
				
			
			@ -226,7 +234,7 @@ func testComposeIssueCommentMessage(t *testing.T, ctx *mailCommentContext, recip
 | 
			
		|||
func TestGenerateAdditionalHeaders(t *testing.T) {
 | 
			
		||||
	doer, _, issue, _ := prepareMailerTest(t)
 | 
			
		||||
 | 
			
		||||
	ctx := &mailCommentContext{Issue: issue, Doer: doer}
 | 
			
		||||
	ctx := &mailCommentContext{Context: context.TODO() /* TODO: use a correct context */, Issue: issue, Doer: doer}
 | 
			
		||||
	recipient := &user_model.User{Name: "Test", Email: "test@gitea.com"}
 | 
			
		||||
 | 
			
		||||
	headers := generateAdditionalHeaders(ctx, "dummy-reason", recipient)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -817,7 +817,7 @@ func (g *GiteaLocalUploader) Finish() error {
 | 
			
		|||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := models.UpdateRepoStats(db.DefaultContext, g.repo.ID); err != nil {
 | 
			
		||||
	if err := models.UpdateRepoStats(g.ctx, g.repo.ID); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,7 +12,6 @@ import (
 | 
			
		|||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	admin_model "code.gitea.io/gitea/models/admin"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	repo_model "code.gitea.io/gitea/models/repo"
 | 
			
		||||
	"code.gitea.io/gitea/modules/cache"
 | 
			
		||||
	"code.gitea.io/gitea/modules/git"
 | 
			
		||||
| 
						 | 
				
			
			@ -287,7 +286,7 @@ func runSync(ctx context.Context, m *repo_model.Mirror) ([]*mirrorSyncResult, bo
 | 
			
		|||
	gitRepo.Close()
 | 
			
		||||
 | 
			
		||||
	log.Trace("SyncMirrors [repo: %-v]: updating size of repository", m.Repo)
 | 
			
		||||
	if err := models.UpdateRepoSize(db.DefaultContext, m.Repo); err != nil {
 | 
			
		||||
	if err := models.UpdateRepoSize(ctx, m.Repo); err != nil {
 | 
			
		||||
		log.Error("SyncMirrors [repo: %-v]: failed to update size for mirror repository: %v", m.Repo, err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,7 +13,6 @@ import (
 | 
			
		|||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	repo_model "code.gitea.io/gitea/models/repo"
 | 
			
		||||
	"code.gitea.io/gitea/models/unit"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
| 
						 | 
				
			
			@ -168,7 +167,7 @@ func manuallyMerged(ctx context.Context, pr *models.PullRequest) bool {
 | 
			
		|||
		// When the commit author is unknown set the BaseRepo owner as merger
 | 
			
		||||
		if merger == nil {
 | 
			
		||||
			if pr.BaseRepo.Owner == nil {
 | 
			
		||||
				if err = pr.BaseRepo.GetOwner(db.DefaultContext); err != nil {
 | 
			
		||||
				if err = pr.BaseRepo.GetOwner(ctx); err != nil {
 | 
			
		||||
					log.Error("BaseRepo.GetOwner[%d]: %v", pr.ID, err)
 | 
			
		||||
					return false
 | 
			
		||||
				}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,6 @@ import (
 | 
			
		|||
	"time"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	repo_model "code.gitea.io/gitea/models/repo"
 | 
			
		||||
	"code.gitea.io/gitea/models/unit"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
| 
						 | 
				
			
			@ -80,7 +79,7 @@ func Merge(ctx context.Context, pr *models.PullRequest, doer *user_model.User, b
 | 
			
		|||
	if err := pr.Issue.LoadRepo(); err != nil {
 | 
			
		||||
		log.Error("loadRepo for issue [%d]: %v", pr.ID, err)
 | 
			
		||||
	}
 | 
			
		||||
	if err := pr.Issue.Repo.GetOwner(db.DefaultContext); err != nil {
 | 
			
		||||
	if err := pr.Issue.Repo.GetOwner(ctx); err != nil {
 | 
			
		||||
		log.Error("GetOwner for issue repo [%d]: %v", pr.ID, err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -487,7 +486,7 @@ func rawMerge(ctx context.Context, pr *models.PullRequest, doer *user_model.User
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	var headUser *user_model.User
 | 
			
		||||
	err = pr.HeadRepo.GetOwner(db.DefaultContext)
 | 
			
		||||
	err = pr.HeadRepo.GetOwner(ctx)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		if !user_model.IsErrUserNotExist(err) {
 | 
			
		||||
			log.Error("Can't find user: %d for head repository - %v", pr.HeadRepo.OwnerID, err)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -69,7 +69,7 @@ func NewPullRequest(ctx context.Context, repo *repo_model.Repository, pull *mode
 | 
			
		|||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	mentions, err := pull.FindAndUpdateIssueMentions(db.DefaultContext, pull.Poster, pull.Content)
 | 
			
		||||
	mentions, err := pull.FindAndUpdateIssueMentions(ctx, pull.Poster, pull.Content)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -61,7 +61,7 @@ func CreateCodeComment(ctx context.Context, doer *user_model.User, gitRepo *git.
 | 
			
		|||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		mentions, err := issue.FindAndUpdateIssueMentions(db.DefaultContext, doer, comment.Content)
 | 
			
		||||
		mentions, err := issue.FindAndUpdateIssueMentions(ctx, doer, comment.Content)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,7 +13,6 @@ import (
 | 
			
		|||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	repo_model "code.gitea.io/gitea/models/repo"
 | 
			
		||||
	"code.gitea.io/gitea/modules/git"
 | 
			
		||||
	"code.gitea.io/gitea/modules/log"
 | 
			
		||||
| 
						 | 
				
			
			@ -38,10 +37,10 @@ func createTemporaryRepo(ctx context.Context, pr *models.PullRequest) (string, e
 | 
			
		|||
		return "", &repo_model.ErrRepoNotExist{
 | 
			
		||||
			ID: pr.BaseRepoID,
 | 
			
		||||
		}
 | 
			
		||||
	} else if err := pr.HeadRepo.GetOwner(db.DefaultContext); err != nil {
 | 
			
		||||
	} else if err := pr.HeadRepo.GetOwner(ctx); err != nil {
 | 
			
		||||
		log.Error("HeadRepo.GetOwner: %v", err)
 | 
			
		||||
		return "", fmt.Errorf("HeadRepo.GetOwner: %v", err)
 | 
			
		||||
	} else if err := pr.BaseRepo.GetOwner(db.DefaultContext); err != nil {
 | 
			
		||||
	} else if err := pr.BaseRepo.GetOwner(ctx); err != nil {
 | 
			
		||||
		log.Error("BaseRepo.GetOwner: %v", err)
 | 
			
		||||
		return "", fmt.Errorf("BaseRepo.GetOwner: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -130,7 +130,7 @@ func CreateRelease(gitRepo *git.Repository, rel *models.Release, attachmentUUIDs
 | 
			
		|||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err = models.AddReleaseAttachments(db.DefaultContext, rel.ID, attachmentUUIDs); err != nil {
 | 
			
		||||
	if err = models.AddReleaseAttachments(gitRepo.Ctx, rel.ID, attachmentUUIDs); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -319,7 +319,7 @@ func DeleteReleaseByID(ctx context.Context, id int64, doer *user_model.User, del
 | 
			
		|||
	} else {
 | 
			
		||||
		rel.IsTag = true
 | 
			
		||||
 | 
			
		||||
		if err = models.UpdateRelease(db.DefaultContext, rel); err != nil {
 | 
			
		||||
		if err = models.UpdateRelease(ctx, rel); err != nil {
 | 
			
		||||
			return fmt.Errorf("Update: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,7 +27,7 @@ func GitFsck(ctx context.Context, timeout time.Duration, args []string) error {
 | 
			
		|||
	log.Trace("Doing: GitFsck")
 | 
			
		||||
 | 
			
		||||
	if err := db.Iterate(
 | 
			
		||||
		db.DefaultContext,
 | 
			
		||||
		ctx,
 | 
			
		||||
		new(repo_model.Repository),
 | 
			
		||||
		builder.Expr("id>0 AND is_fsck_enabled=?", true),
 | 
			
		||||
		func(idx int, bean interface{}) error {
 | 
			
		||||
| 
						 | 
				
			
			@ -62,7 +62,7 @@ func GitGcRepos(ctx context.Context, timeout time.Duration, args ...string) erro
 | 
			
		|||
	args = append([]string{"gc"}, args...)
 | 
			
		||||
 | 
			
		||||
	if err := db.Iterate(
 | 
			
		||||
		db.DefaultContext,
 | 
			
		||||
		ctx,
 | 
			
		||||
		new(repo_model.Repository),
 | 
			
		||||
		builder.Gt{"id": 0},
 | 
			
		||||
		func(idx int, bean interface{}) error {
 | 
			
		||||
| 
						 | 
				
			
			@ -97,7 +97,7 @@ func GitGcRepos(ctx context.Context, timeout time.Duration, args ...string) erro
 | 
			
		|||
			}
 | 
			
		||||
 | 
			
		||||
			// Now update the size of the repository
 | 
			
		||||
			if err := models.UpdateRepoSize(db.DefaultContext, repo); err != nil {
 | 
			
		||||
			if err := models.UpdateRepoSize(ctx, repo); err != nil {
 | 
			
		||||
				log.Error("Updating size as part of garbage collection failed for %v. Stdout: %s\nError: %v", repo, stdout, err)
 | 
			
		||||
				desc := fmt.Sprintf("Updating size as part of garbage collection failed for %s. Stdout: %s\nError: %v", repo.RepoPath(), stdout, err)
 | 
			
		||||
				if err = admin_model.CreateRepositoryNotice(desc); err != nil {
 | 
			
		||||
| 
						 | 
				
			
			@ -119,7 +119,7 @@ func GitGcRepos(ctx context.Context, timeout time.Duration, args ...string) erro
 | 
			
		|||
func gatherMissingRepoRecords(ctx context.Context) ([]*repo_model.Repository, error) {
 | 
			
		||||
	repos := make([]*repo_model.Repository, 0, 10)
 | 
			
		||||
	if err := db.Iterate(
 | 
			
		||||
		db.DefaultContext,
 | 
			
		||||
		ctx,
 | 
			
		||||
		new(repo_model.Repository),
 | 
			
		||||
		builder.Gt{"id": 0},
 | 
			
		||||
		func(idx int, bean interface{}) error {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,7 @@ func SyncRepositoryHooks(ctx context.Context) error {
 | 
			
		|||
	log.Trace("Doing: SyncRepositoryHooks")
 | 
			
		||||
 | 
			
		||||
	if err := db.Iterate(
 | 
			
		||||
		db.DefaultContext,
 | 
			
		||||
		ctx,
 | 
			
		||||
		new(repo_model.Repository),
 | 
			
		||||
		builder.Gt{"id": 0},
 | 
			
		||||
		func(idx int, bean interface{}) error {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -95,7 +95,7 @@ func pushUpdates(optsList []*repo_module.PushUpdateOptions) error {
 | 
			
		|||
	}
 | 
			
		||||
	defer gitRepo.Close()
 | 
			
		||||
 | 
			
		||||
	if err = models.UpdateRepoSize(db.DefaultContext, repo); err != nil {
 | 
			
		||||
	if err = models.UpdateRepoSize(ctx, repo); err != nil {
 | 
			
		||||
		log.Error("Failed to update size for repository: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -78,7 +78,7 @@ func DeleteUser(u *user_model.User) error {
 | 
			
		|||
	path := user_model.UserPath(u.Name)
 | 
			
		||||
	if err := util.RemoveAll(path); err != nil {
 | 
			
		||||
		err = fmt.Errorf("Failed to RemoveAll %s: %v", path, err)
 | 
			
		||||
		_ = admin_model.CreateNotice(db.DefaultContext, admin_model.NoticeTask, fmt.Sprintf("delete user '%s': %v", u.Name, err))
 | 
			
		||||
		_ = admin_model.CreateNotice(ctx, admin_model.NoticeTask, fmt.Sprintf("delete user '%s': %v", u.Name, err))
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -86,7 +86,7 @@ func DeleteUser(u *user_model.User) error {
 | 
			
		|||
		avatarPath := u.CustomAvatarRelativePath()
 | 
			
		||||
		if err := storage.Avatars.Delete(avatarPath); err != nil {
 | 
			
		||||
			err = fmt.Errorf("Failed to remove %s: %v", avatarPath, err)
 | 
			
		||||
			_ = admin_model.CreateNotice(db.DefaultContext, admin_model.NoticeTask, fmt.Sprintf("delete user '%s': %v", u.Name, err))
 | 
			
		||||
			_ = admin_model.CreateNotice(ctx, admin_model.NoticeTask, fmt.Sprintf("delete user '%s': %v", u.Name, err))
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue