aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOtto Richter (fnetX)2022-03-04 17:12:34 +0100
committerGitHub2022-03-05 00:12:34 +0800
commitda985b25ce98827a0a89ff69ccc9279b4da85ca7 (patch)
treec37a6bd308a48f174aec00f70bc1dbac5162ee5d
parentae9c51df7c98a5a392f145d8a43b07cf52fe0919 (diff)
Fix potential assignee query for repo (#18994) (#18999)
* Fix potential assignee query for repo * Add tests for `GetRepoAssignees` - As per https://github.com/go-gitea/gitea/pull/18994#issuecomment-1058506640 Co-authored-by: Gusted <williamzijl7@hotmail.com>
-rw-r--r--models/repo.go2
-rw-r--r--models/repo_test.go18
2 files changed, 19 insertions, 1 deletions
diff --git a/models/repo.go b/models/repo.go
index d637b8808..e82fd5ded 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -153,7 +153,7 @@ func getRepoAssignees(ctx context.Context, repo *repo_model.Repository) (_ []*us
userIDs := make([]int64, 0, 10)
if err = e.Table("access").
Where("repo_id = ? AND mode >= ?", repo.ID, perm.AccessModeWrite).
- Select("id").
+ Select("user_id").
Find(&userIDs); err != nil {
return nil, err
}
diff --git a/models/repo_test.go b/models/repo_test.go
index c0790e532..ea250be97 100644
--- a/models/repo_test.go
+++ b/models/repo_test.go
@@ -167,3 +167,21 @@ func TestLinkedRepository(t *testing.T) {
})
}
}
+
+func TestRepoAssignees(t *testing.T) {
+ assert.NoError(t, unittest.PrepareTestDatabase())
+
+ repo2 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2}).(*repo_model.Repository)
+ users, err := GetRepoAssignees(repo2)
+ assert.NoError(t, err)
+ assert.Len(t, users, 1)
+ assert.Equal(t, users[0].ID, int64(2))
+
+ repo21 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 21}).(*repo_model.Repository)
+ users, err = GetRepoAssignees(repo21)
+ assert.NoError(t, err)
+ assert.Len(t, users, 3)
+ assert.Equal(t, users[0].ID, int64(15))
+ assert.Equal(t, users[1].ID, int64(18))
+ assert.Equal(t, users[2].ID, int64(16))
+}