Skip to content

Commit 7a550b3

Browse files
authored
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
1 parent 2b55422 commit 7a550b3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+117
-124
lines changed

cmd/admin.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,7 @@ func runChangePassword(c *cli.Context) error {
493493
return err
494494
}
495495

496-
if err = user_model.UpdateUserCols(db.DefaultContext, user, "passwd", "passwd_hash_algo", "salt"); err != nil {
496+
if err = user_model.UpdateUserCols(ctx, user, "passwd", "passwd_hash_algo", "salt"); err != nil {
497497
return err
498498
}
499499

modules/context/repo.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import (
1515
"strings"
1616

1717
"code.gitea.io/gitea/models"
18-
"code.gitea.io/gitea/models/db"
1918
repo_model "code.gitea.io/gitea/models/repo"
2019
unit_model "code.gitea.io/gitea/models/unit"
2120
user_model "code.gitea.io/gitea/models/user"
@@ -256,7 +255,7 @@ func RetrieveBaseRepo(ctx *Context, repo *repo_model.Repository) {
256255
}
257256
ctx.ServerError("GetBaseRepo", err)
258257
return
259-
} else if err = repo.BaseRepo.GetOwner(db.DefaultContext); err != nil {
258+
} else if err = repo.BaseRepo.GetOwner(ctx); err != nil {
260259
ctx.ServerError("BaseRepo.GetOwner", err)
261260
return
262261
}
@@ -273,7 +272,7 @@ func RetrieveTemplateRepo(ctx *Context, repo *repo_model.Repository) {
273272
}
274273
ctx.ServerError("GetTemplateRepo", err)
275274
return
276-
} else if err = templateRepo.GetOwner(db.DefaultContext); err != nil {
275+
} else if err = templateRepo.GetOwner(ctx); err != nil {
277276
ctx.ServerError("TemplateRepo.GetOwner", err)
278277
return
279278
}
@@ -341,7 +340,7 @@ func RedirectToRepo(ctx *Context, redirectRepoID int64) {
341340

342341
func repoAssignment(ctx *Context, repo *repo_model.Repository) {
343342
var err error
344-
if err = repo.GetOwner(db.DefaultContext); err != nil {
343+
if err = repo.GetOwner(ctx); err != nil {
345344
ctx.ServerError("GetOwner", err)
346345
return
347346
}

modules/doctor/checkOldArchives.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import (
1717
func checkOldArchives(ctx context.Context, logger log.Logger, autofix bool) error {
1818
numRepos := 0
1919
numReposUpdated := 0
20-
err := iterateRepositories(func(repo *repo_model.Repository) error {
20+
err := iterateRepositories(ctx, func(repo *repo_model.Repository) error {
2121
if repo.IsEmpty {
2222
return nil
2323
}

modules/doctor/fix16961.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ func fixBrokenRepoUnits16961(ctx context.Context, logger log.Logger, autofix boo
268268
count := 0
269269

270270
err := db.Iterate(
271-
db.DefaultContext,
271+
ctx,
272272
new(RepoUnit),
273273
builder.Gt{
274274
"id": 0,

modules/doctor/mergebase.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ import (
1818
"xorm.io/builder"
1919
)
2020

21-
func iteratePRs(repo *repo_model.Repository, each func(*repo_model.Repository, *models.PullRequest) error) error {
21+
func iteratePRs(ctx context.Context, repo *repo_model.Repository, each func(*repo_model.Repository, *models.PullRequest) error) error {
2222
return db.Iterate(
23-
db.DefaultContext,
23+
ctx,
2424
new(models.PullRequest),
2525
builder.Eq{"base_repo_id": repo.ID},
2626
func(idx int, bean interface{}) error {
@@ -33,9 +33,9 @@ func checkPRMergeBase(ctx context.Context, logger log.Logger, autofix bool) erro
3333
numRepos := 0
3434
numPRs := 0
3535
numPRsUpdated := 0
36-
err := iterateRepositories(func(repo *repo_model.Repository) error {
36+
err := iterateRepositories(ctx, func(repo *repo_model.Repository) error {
3737
numRepos++
38-
return iteratePRs(repo, func(repo *repo_model.Repository, pr *models.PullRequest) error {
38+
return iteratePRs(ctx, repo, func(repo *repo_model.Repository, pr *models.PullRequest) error {
3939
numPRs++
4040
pr.BaseRepo = repo
4141
repoPath := repo.RepoPath()

modules/doctor/misc.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ import (
2727
"xorm.io/builder"
2828
)
2929

30-
func iterateRepositories(each func(*repo_model.Repository) error) error {
30+
func iterateRepositories(ctx context.Context, each func(*repo_model.Repository) error) error {
3131
err := db.Iterate(
32-
db.DefaultContext,
32+
ctx,
3333
new(repo_model.Repository),
3434
builder.Gt{"id": 0},
3535
func(idx int, bean interface{}) error {
@@ -50,7 +50,7 @@ func checkScriptType(ctx context.Context, logger log.Logger, autofix bool) error
5050
}
5151

5252
func checkHooks(ctx context.Context, logger log.Logger, autofix bool) error {
53-
if err := iterateRepositories(func(repo *repo_model.Repository) error {
53+
if err := iterateRepositories(ctx, func(repo *repo_model.Repository) error {
5454
results, err := repository.CheckDelegateHooks(repo.RepoPath())
5555
if err != nil {
5656
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
8686
numRepos := 0
8787
numNeedUpdate := 0
8888

89-
if err := iterateRepositories(func(repo *repo_model.Repository) error {
89+
if err := iterateRepositories(ctx, func(repo *repo_model.Repository) error {
9090
numRepos++
9191
r, err := git.OpenRepositoryCtx(git.DefaultContext, repo.RepoPath())
9292
if err != nil {
@@ -132,13 +132,13 @@ func checkDaemonExport(ctx context.Context, logger log.Logger, autofix bool) err
132132
logger.Critical("Unable to create cache: %v", err)
133133
return err
134134
}
135-
if err := iterateRepositories(func(repo *repo_model.Repository) error {
135+
if err := iterateRepositories(ctx, func(repo *repo_model.Repository) error {
136136
numRepos++
137137

138138
if owner, has := cache.Get(repo.OwnerID); has {
139139
repo.Owner = owner.(*user_model.User)
140140
} else {
141-
if err := repo.GetOwner(db.DefaultContext); err != nil {
141+
if err := repo.GetOwner(ctx); err != nil {
142142
return err
143143
}
144144
cache.Add(repo.OwnerID, repo.Owner)

modules/repository/repo.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ func MigrateRepositoryGitData(ctx context.Context, u *user_model.User,
156156
}
157157
}
158158

159-
if err = models.UpdateRepoSize(db.DefaultContext, repo); err != nil {
159+
if err = models.UpdateRepoSize(ctx, repo); err != nil {
160160
log.Error("Failed to update size for repository: %v", err)
161161
}
162162

modules/test/context_tests.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import (
1414
"testing"
1515

1616
"code.gitea.io/gitea/models"
17-
"code.gitea.io/gitea/models/db"
1817
repo_model "code.gitea.io/gitea/models/repo"
1918
"code.gitea.io/gitea/models/unittest"
2019
user_model "code.gitea.io/gitea/models/user"
@@ -87,7 +86,7 @@ func LoadUser(t *testing.T, ctx *context.Context, userID int64) {
8786
// LoadGitRepo load a git repo into a test context. Requires that ctx.Repo has
8887
// already been populated.
8988
func LoadGitRepo(t *testing.T, ctx *context.Context) {
90-
assert.NoError(t, ctx.Repo.Repository.GetOwner(db.DefaultContext))
89+
assert.NoError(t, ctx.Repo.Repository.GetOwner(ctx))
9190
var err error
9291
ctx.Repo.GitRepo, err = git.OpenRepositoryCtx(ctx, ctx.Repo.Repository.RepoPath())
9392
assert.NoError(t, err)

routers/api/v1/org/org.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ func Edit(ctx *context.APIContext) {
346346
if form.RepoAdminChangeTeamAccess != nil {
347347
org.RepoAdminChangeTeamAccess = *form.RepoAdminChangeTeamAccess
348348
}
349-
if err := user_model.UpdateUserCols(db.DefaultContext, org.AsUser(),
349+
if err := user_model.UpdateUserCols(ctx, org.AsUser(),
350350
"full_name", "description", "website", "location",
351351
"visibility", "repo_admin_change_team_access",
352352
); err != nil {

routers/api/v1/repo/issue_stopwatch.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"net/http"
1010

1111
"code.gitea.io/gitea/models"
12-
"code.gitea.io/gitea/models/db"
1312
"code.gitea.io/gitea/modules/context"
1413
"code.gitea.io/gitea/modules/convert"
1514
"code.gitea.io/gitea/routers/api/v1/utils"
@@ -56,7 +55,7 @@ func StartIssueStopwatch(ctx *context.APIContext) {
5655
return
5756
}
5857

59-
if err := models.CreateIssueStopwatch(db.DefaultContext, ctx.Doer, issue); err != nil {
58+
if err := models.CreateIssueStopwatch(ctx, ctx.Doer, issue); err != nil {
6059
ctx.Error(http.StatusInternalServerError, "CreateOrStopIssueStopwatch", err)
6160
return
6261
}
@@ -105,7 +104,7 @@ func StopIssueStopwatch(ctx *context.APIContext) {
105104
return
106105
}
107106

108-
if err := models.FinishIssueStopwatch(db.DefaultContext, ctx.Doer, issue); err != nil {
107+
if err := models.FinishIssueStopwatch(ctx, ctx.Doer, issue); err != nil {
109108
ctx.Error(http.StatusInternalServerError, "CreateOrStopIssueStopwatch", err)
110109
return
111110
}

routers/api/v1/repo/key.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ func ListDeployKeys(ctx *context.APIContext) {
8787
Fingerprint: ctx.FormString("fingerprint"),
8888
}
8989

90-
keys, err := asymkey_model.ListDeployKeys(db.DefaultContext, opts)
90+
keys, err := asymkey_model.ListDeployKeys(ctx, opts)
9191
if err != nil {
9292
ctx.InternalServerError(err)
9393
return

routers/api/v1/repo/repo.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ func Search(ctx *context.APIContext) {
217217

218218
results := make([]*api.Repository, len(repos))
219219
for i, repo := range repos {
220-
if err = repo.GetOwner(db.DefaultContext); err != nil {
220+
if err = repo.GetOwner(ctx); err != nil {
221221
ctx.JSON(http.StatusInternalServerError, api.SearchError{
222222
OK: false,
223223
Error: err.Error(),

routers/api/v1/user/gpg_key.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import (
1818
)
1919

2020
func listGPGKeys(ctx *context.APIContext, uid int64, listOptions db.ListOptions) {
21-
keys, err := asymkey_model.ListGPGKeys(db.DefaultContext, uid, listOptions)
21+
keys, err := asymkey_model.ListGPGKeys(ctx, uid, listOptions)
2222
if err != nil {
2323
ctx.Error(http.StatusInternalServerError, "ListGPGKeys", err)
2424
return

routers/api/v1/user/repo.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
"net/http"
99

1010
"code.gitea.io/gitea/models"
11-
"code.gitea.io/gitea/models/db"
1211
"code.gitea.io/gitea/models/perm"
1312
user_model "code.gitea.io/gitea/models/user"
1413
"code.gitea.io/gitea/modules/context"
@@ -124,7 +123,7 @@ func ListMyRepos(ctx *context.APIContext) {
124123

125124
results := make([]*api.Repository, len(repos))
126125
for i, repo := range repos {
127-
if err = repo.GetOwner(db.DefaultContext); err != nil {
126+
if err = repo.GetOwner(ctx); err != nil {
128127
ctx.Error(http.StatusInternalServerError, "GetOwner", err)
129128
return
130129
}

routers/api/v1/utils/hook.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"net/http"
1010
"strings"
1111

12-
"code.gitea.io/gitea/models/db"
1312
"code.gitea.io/gitea/models/webhook"
1413
"code.gitea.io/gitea/modules/context"
1514
"code.gitea.io/gitea/modules/convert"
@@ -164,7 +163,7 @@ func addHook(ctx *context.APIContext, form *api.CreateHookOption, orgID, repoID
164163
if err := w.UpdateEvent(); err != nil {
165164
ctx.Error(http.StatusInternalServerError, "UpdateEvent", err)
166165
return nil, false
167-
} else if err := webhook.CreateWebhook(db.DefaultContext, w); err != nil {
166+
} else if err := webhook.CreateWebhook(ctx, w); err != nil {
168167
ctx.Error(http.StatusInternalServerError, "CreateWebhook", err)
169168
return nil, false
170169
}

routers/web/auth/auth.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ func resetLocale(ctx *context.Context, u *user_model.User) error {
107107
// If the user does not have a locale set, we save the current one.
108108
if len(u.Language) == 0 {
109109
u.Language = ctx.Locale.Language()
110-
if err := user_model.UpdateUserCols(db.DefaultContext, u, "language"); err != nil {
110+
if err := user_model.UpdateUserCols(ctx, u, "language"); err != nil {
111111
return err
112112
}
113113
}
@@ -333,7 +333,7 @@ func handleSignInFull(ctx *context.Context, u *user_model.User, remember, obeyRe
333333
// If the user does not have a locale set, we save the current one.
334334
if len(u.Language) == 0 {
335335
u.Language = ctx.Locale.Language()
336-
if err := user_model.UpdateUserCols(db.DefaultContext, u, "language"); err != nil {
336+
if err := user_model.UpdateUserCols(ctx, u, "language"); err != nil {
337337
ctx.ServerError("UpdateUserCols Language", fmt.Errorf("Error updating user language [user: %d, locale: %s]", u.ID, u.Language))
338338
return setting.AppSubURL + "/"
339339
}
@@ -350,7 +350,7 @@ func handleSignInFull(ctx *context.Context, u *user_model.User, remember, obeyRe
350350

351351
// Register last login
352352
u.SetLastLogin()
353-
if err := user_model.UpdateUserCols(db.DefaultContext, u, "last_login_unix"); err != nil {
353+
if err := user_model.UpdateUserCols(ctx, u, "last_login_unix"); err != nil {
354354
ctx.ServerError("UpdateUserCols", err)
355355
return setting.AppSubURL + "/"
356356
}
@@ -606,7 +606,7 @@ func handleUserCreated(ctx *context.Context, u *user_model.User, gothUser *goth.
606606
u.IsAdmin = true
607607
u.IsActive = true
608608
u.SetLastLogin()
609-
if err := user_model.UpdateUserCols(db.DefaultContext, u, "is_admin", "is_active", "last_login_unix"); err != nil {
609+
if err := user_model.UpdateUserCols(ctx, u, "is_admin", "is_active", "last_login_unix"); err != nil {
610610
ctx.ServerError("UpdateUser", err)
611611
return
612612
}
@@ -733,7 +733,7 @@ func handleAccountActivation(ctx *context.Context, user *user_model.User) {
733733
ctx.ServerError("UpdateUser", err)
734734
return
735735
}
736-
if err := user_model.UpdateUserCols(db.DefaultContext, user, "is_active", "rands"); err != nil {
736+
if err := user_model.UpdateUserCols(ctx, user, "is_active", "rands"); err != nil {
737737
if user_model.IsErrUserNotExist(err) {
738738
ctx.NotFound("UpdateUserCols", err)
739739
} else {

routers/web/auth/oauth.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import (
1616

1717
"code.gitea.io/gitea/models"
1818
"code.gitea.io/gitea/models/auth"
19-
"code.gitea.io/gitea/models/db"
2019
user_model "code.gitea.io/gitea/models/user"
2120
"code.gitea.io/gitea/modules/base"
2221
"code.gitea.io/gitea/modules/context"
@@ -1021,7 +1020,7 @@ func handleOAuth2SignIn(ctx *context.Context, source *auth.Source, u *user_model
10211020
cols = append(cols, "is_admin", "is_restricted")
10221021
}
10231022

1024-
if err := user_model.UpdateUserCols(db.DefaultContext, u, cols...); err != nil {
1023+
if err := user_model.UpdateUserCols(ctx, u, cols...); err != nil {
10251024
ctx.ServerError("UpdateUserCols", err)
10261025
return
10271026
}
@@ -1048,7 +1047,7 @@ func handleOAuth2SignIn(ctx *context.Context, source *auth.Source, u *user_model
10481047

10491048
changed := setUserGroupClaims(source, u, &gothUser)
10501049
if changed {
1051-
if err := user_model.UpdateUserCols(db.DefaultContext, u, "is_admin", "is_restricted"); err != nil {
1050+
if err := user_model.UpdateUserCols(ctx, u, "is_admin", "is_restricted"); err != nil {
10521051
ctx.ServerError("UpdateUserCols", err)
10531052
return
10541053
}

routers/web/auth/password.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"net/http"
1010

1111
"code.gitea.io/gitea/models/auth"
12-
"code.gitea.io/gitea/models/db"
1312
user_model "code.gitea.io/gitea/models/user"
1413
"code.gitea.io/gitea/modules/base"
1514
"code.gitea.io/gitea/modules/context"
@@ -232,7 +231,7 @@ func ResetPasswdPost(ctx *context.Context) {
232231
return
233232
}
234233
u.MustChangePassword = false
235-
if err := user_model.UpdateUserCols(db.DefaultContext, u, "must_change_password", "passwd", "passwd_hash_algo", "rands", "salt"); err != nil {
234+
if err := user_model.UpdateUserCols(ctx, u, "must_change_password", "passwd", "passwd_hash_algo", "rands", "salt"); err != nil {
236235
ctx.ServerError("UpdateUser", err)
237236
return
238237
}
@@ -327,7 +326,7 @@ func MustChangePasswordPost(ctx *context.Context) {
327326

328327
u.MustChangePassword = false
329328

330-
if err := user_model.UpdateUserCols(db.DefaultContext, u, "must_change_password", "passwd", "passwd_hash_algo", "salt"); err != nil {
329+
if err := user_model.UpdateUserCols(ctx, u, "must_change_password", "passwd", "passwd_hash_algo", "salt"); err != nil {
331330
ctx.ServerError("UpdateUser", err)
332331
return
333332
}

routers/web/org/org_labels.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ func InitializeLabels(ctx *context.Context) {
100100
return
101101
}
102102

103-
if err := models.InitializeLabels(db.DefaultContext, ctx.Org.Organization.ID, form.TemplateName, true); err != nil {
103+
if err := models.InitializeLabels(ctx, ctx.Org.Organization.ID, form.TemplateName, true); err != nil {
104104
if models.IsErrIssueLabelTemplateLoad(err) {
105105
originalErr := err.(models.ErrIssueLabelTemplateLoad).OriginalError
106106
ctx.Flash.Error(ctx.Tr("repo.issues.label_templates.fail_to_load_file", form.TemplateName, originalErr))

routers/web/repo/compare.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import (
1818
"strings"
1919

2020
"code.gitea.io/gitea/models"
21-
"code.gitea.io/gitea/models/db"
2221
repo_model "code.gitea.io/gitea/models/repo"
2322
"code.gitea.io/gitea/models/unit"
2423
user_model "code.gitea.io/gitea/models/user"
@@ -269,7 +268,7 @@ func ParseCompareInfo(ctx *context.Context) *CompareInfo {
269268
}
270269
return nil
271270
}
272-
if err := ci.HeadRepo.GetOwner(db.DefaultContext); err != nil {
271+
if err := ci.HeadRepo.GetOwner(ctx); err != nil {
273272
if user_model.IsErrUserNotExist(err) {
274273
ctx.NotFound("GetUserByName", nil)
275274
} else {

routers/web/repo/http.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121

2222
"code.gitea.io/gitea/models"
2323
"code.gitea.io/gitea/models/auth"
24-
"code.gitea.io/gitea/models/db"
2524
"code.gitea.io/gitea/models/perm"
2625
repo_model "code.gitea.io/gitea/models/repo"
2726
"code.gitea.io/gitea/models/unit"
@@ -159,7 +158,7 @@ func httpBase(ctx *context.Context) (h *serviceHandler) {
159158

160159
// don't allow anonymous pulls if organization is not public
161160
if isPublicPull {
162-
if err := repo.GetOwner(db.DefaultContext); err != nil {
161+
if err := repo.GetOwner(ctx); err != nil {
163162
ctx.ServerError("GetOwner", err)
164163
return
165164
}

0 commit comments

Comments
 (0)