bug fixed for API to get user's repos (#1622)

* bug fixed for API to get user's repos

* add tests and fix another place

* test user2 since user1 has no repos
This commit is contained in:
Lunny Xiao 2017-04-29 12:33:25 +08:00 committed by GitHub
parent cebe3a6b2f
commit 61b08b5c01
2 changed files with 30 additions and 4 deletions

View file

@ -9,15 +9,18 @@ import (
// listUserRepos - List the repositories owned by the given user.
func listUserRepos(ctx *context.APIContext, u *models.User) {
userID := u.ID
showPrivateRepos := (ctx.User.ID == userID || ctx.User.IsAdmin) && ctx.IsSigned
showPrivateRepos := ctx.IsSigned && (ctx.User.ID == userID || ctx.User.IsAdmin)
ownRepos, err := models.GetUserRepositories(userID, showPrivateRepos, 1, u.NumRepos, "")
if err != nil {
ctx.Error(500, "GetUserRepositories", err)
return
}
accessibleRepos, err := getAccessibleRepos(ctx)
if err != nil {
ctx.Error(500, "GetAccessibleRepos", err)
var accessibleRepos []*api.Repository
if ctx.User != nil {
accessibleRepos, err = getAccessibleRepos(ctx)
if err != nil {
ctx.Error(500, "GetAccessibleRepos", err)
}
}
apiRepos := make([]*api.Repository, len(ownRepos)+len(accessibleRepos))
// Set owned repositories.