mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-03 21:08:25 +00:00 
			
		
		
		
	Fix potential assignee query for repo (#18994)
* 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: 6543 <6543@obermui.de> Co-authored-by: Gusted <williamzijl7@hotmail.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							5184c83f6b
						
					
				
				
					commit
					e46a8c90ea
				
			@@ -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
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -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))
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user