summaryrefslogtreecommitdiffstats
path: root/models/perm
diff options
context:
space:
mode:
authorKN4CK3R <admin@oldschoolhack.me>2022-11-19 09:12:33 +0100
committerGitHub <noreply@github.com>2022-11-19 16:12:33 +0800
commit044c754ea53f5b81f451451df53aea366f6f700a (patch)
tree45688c28a84f87f71ec3f99eb0e8456eb7d19c42 /models/perm
parentfefdb7ffd11bbfbff66dae8e88681ec840dedfde (diff)
downloadgitea-044c754ea53f5b81f451451df53aea366f6f700a.tar.gz
gitea-044c754ea53f5b81f451451df53aea366f6f700a.zip
Add `context.Context` to more methods (#21546)
This PR adds a context parameter to a bunch of methods. Some helper `xxxCtx()` methods got replaced with the normal name now. Co-authored-by: delvh <dev.lh@web.de> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Diffstat (limited to 'models/perm')
-rw-r--r--models/perm/access/access_test.go14
-rw-r--r--models/perm/access/repo_permission.go12
2 files changed, 11 insertions, 15 deletions
diff --git a/models/perm/access/access_test.go b/models/perm/access/access_test.go
index 7f58be4f39..dc707b971b 100644
--- a/models/perm/access/access_test.go
+++ b/models/perm/access/access_test.go
@@ -36,34 +36,34 @@ func TestAccessLevel(t *testing.T) {
// org. owned private repo
repo24 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 24})
- level, err := access_model.AccessLevel(user2, repo1)
+ level, err := access_model.AccessLevel(db.DefaultContext, user2, repo1)
assert.NoError(t, err)
assert.Equal(t, perm_model.AccessModeOwner, level)
- level, err = access_model.AccessLevel(user2, repo3)
+ level, err = access_model.AccessLevel(db.DefaultContext, user2, repo3)
assert.NoError(t, err)
assert.Equal(t, perm_model.AccessModeOwner, level)
- level, err = access_model.AccessLevel(user5, repo1)
+ level, err = access_model.AccessLevel(db.DefaultContext, user5, repo1)
assert.NoError(t, err)
assert.Equal(t, perm_model.AccessModeRead, level)
- level, err = access_model.AccessLevel(user5, repo3)
+ level, err = access_model.AccessLevel(db.DefaultContext, user5, repo3)
assert.NoError(t, err)
assert.Equal(t, perm_model.AccessModeNone, level)
// restricted user has no access to a public repo
- level, err = access_model.AccessLevel(user29, repo1)
+ level, err = access_model.AccessLevel(db.DefaultContext, user29, repo1)
assert.NoError(t, err)
assert.Equal(t, perm_model.AccessModeNone, level)
// ... unless he's a collaborator
- level, err = access_model.AccessLevel(user29, repo4)
+ level, err = access_model.AccessLevel(db.DefaultContext, user29, repo4)
assert.NoError(t, err)
assert.Equal(t, perm_model.AccessModeWrite, level)
// ... or a team member
- level, err = access_model.AccessLevel(user29, repo24)
+ level, err = access_model.AccessLevel(db.DefaultContext, user29, repo24)
assert.NoError(t, err)
assert.Equal(t, perm_model.AccessModeRead, level)
}
diff --git a/models/perm/access/repo_permission.go b/models/perm/access/repo_permission.go
index 93e3bdd6d8..3b709a3e85 100644
--- a/models/perm/access/repo_permission.go
+++ b/models/perm/access/repo_permission.go
@@ -326,17 +326,13 @@ func IsUserRepoAdmin(ctx context.Context, repo *repo_model.Repository, user *use
// AccessLevel returns the Access a user has to a repository. Will return NoneAccess if the
// user does not have access.
-func AccessLevel(user *user_model.User, repo *repo_model.Repository) (perm_model.AccessMode, error) { //nolint
- return AccessLevelUnit(user, repo, unit.TypeCode)
+func AccessLevel(ctx context.Context, user *user_model.User, repo *repo_model.Repository) (perm_model.AccessMode, error) { //nolint
+ return AccessLevelUnit(ctx, user, repo, unit.TypeCode)
}
// AccessLevelUnit returns the Access a user has to a repository's. Will return NoneAccess if the
// user does not have access.
-func AccessLevelUnit(user *user_model.User, repo *repo_model.Repository, unitType unit.Type) (perm_model.AccessMode, error) { //nolint
- return accessLevelUnit(db.DefaultContext, user, repo, unitType)
-}
-
-func accessLevelUnit(ctx context.Context, user *user_model.User, repo *repo_model.Repository, unitType unit.Type) (perm_model.AccessMode, error) {
+func AccessLevelUnit(ctx context.Context, user *user_model.User, repo *repo_model.Repository, unitType unit.Type) (perm_model.AccessMode, error) { //nolint
perm, err := GetUserRepoPermission(ctx, repo, user)
if err != nil {
return perm_model.AccessModeNone, err
@@ -346,7 +342,7 @@ func accessLevelUnit(ctx context.Context, user *user_model.User, repo *repo_mode
// HasAccessUnit returns true if user has testMode to the unit of the repository
func HasAccessUnit(ctx context.Context, user *user_model.User, repo *repo_model.Repository, unitType unit.Type, testMode perm_model.AccessMode) (bool, error) {
- mode, err := accessLevelUnit(ctx, user, repo, unitType)
+ mode, err := AccessLevelUnit(ctx, user, repo, unitType)
return testMode <= mode, err
}