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
tokarchuk/v1.17
Lunny Xiao 8 years ago committed by GitHub
parent cebe3a6b2f
commit 61b08b5c01
  1. 23
      integrations/api_repo_test.go
  2. 7
      routers/api/v1/user/repo.go

@ -0,0 +1,23 @@
// Copyright 2017 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package integrations
import (
"net/http"
"testing"
"code.gitea.io/gitea/models"
"github.com/stretchr/testify/assert"
)
func TestAPIUserReposNotLogin(t *testing.T) {
assert.NoError(t, models.LoadFixtures())
req, err := http.NewRequest("GET", "/api/v1/users/user2/repos", nil)
assert.NoError(t, err)
resp := MakeRequest(req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
}

@ -9,16 +9,19 @@ import (
// listUserRepos - List the repositories owned by the given user. // listUserRepos - List the repositories owned by the given user.
func listUserRepos(ctx *context.APIContext, u *models.User) { func listUserRepos(ctx *context.APIContext, u *models.User) {
userID := u.ID 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, "") ownRepos, err := models.GetUserRepositories(userID, showPrivateRepos, 1, u.NumRepos, "")
if err != nil { if err != nil {
ctx.Error(500, "GetUserRepositories", err) ctx.Error(500, "GetUserRepositories", err)
return return
} }
accessibleRepos, err := getAccessibleRepos(ctx) var accessibleRepos []*api.Repository
if ctx.User != nil {
accessibleRepos, err = getAccessibleRepos(ctx)
if err != nil { if err != nil {
ctx.Error(500, "GetAccessibleRepos", err) ctx.Error(500, "GetAccessibleRepos", err)
} }
}
apiRepos := make([]*api.Repository, len(ownRepos)+len(accessibleRepos)) apiRepos := make([]*api.Repository, len(ownRepos)+len(accessibleRepos))
// Set owned repositories. // Set owned repositories.
for i := range ownRepos { for i := range ownRepos {

Loading…
Cancel
Save