diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2017-04-29 12:33:25 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-29 12:33:25 +0800 |
commit | 61b08b5c01eef096e169d6070cb80c3c9fd55875 (patch) | |
tree | 801e8ab3685a04b2960ecf793273cfbaf2d70560 /routers/api/v1 | |
parent | cebe3a6b2fb91a4dbaa6bac3fe5ff5bccb52d019 (diff) | |
download | gitea-61b08b5c01eef096e169d6070cb80c3c9fd55875.tar.gz gitea-61b08b5c01eef096e169d6070cb80c3c9fd55875.zip |
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
Diffstat (limited to 'routers/api/v1')
-rw-r--r-- | routers/api/v1/user/repo.go | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/routers/api/v1/user/repo.go b/routers/api/v1/user/repo.go index 8b7ee92c62..cc08094fc5 100644 --- a/routers/api/v1/user/repo.go +++ b/routers/api/v1/user/repo.go @@ -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. |