diff --git a/models/repo/repo_list.go b/models/repo/repo_list.go index daa60c81e9..a0eb0ce7c2 100644 --- a/models/repo/repo_list.go +++ b/models/repo/repo_list.go @@ -361,7 +361,7 @@ func SearchRepositoryCondition(opts *SearchRepoOptions) builder.Cond { } // Restrict repositories to those the OwnerID owns or contributes to as per opts.Collaborate - if opts.OwnerID > 0 { + if opts.OwnerID != 0 { accessCond := builder.NewCond() if !opts.Collaborate.ValueOrZeroValue() { accessCond = builder.Eq{"owner_id": opts.OwnerID} diff --git a/tests/integration/api_repo_test.go b/tests/integration/api_repo_test.go index 60c662c28a..29edff7ac0 100644 --- a/tests/integration/api_repo_test.go +++ b/tests/integration/api_repo_test.go @@ -149,6 +149,7 @@ func TestAPISearchRepo(t *testing.T) { org3 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 18}) user4 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 20}) orgUser := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 17}) + actionsUser := user_model.NewActionsUser() oldAPIDefaultNum := setting.API.DefaultPagingNum defer func() { @@ -266,6 +267,12 @@ func TestAPISearchRepo(t *testing.T) { user: {count: 1, includesPrivate: true}, user4: {count: 1, includesPrivate: true}, }}, + {name: "ForgejoActionsUser/UID", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d", actionsUser.ID), expectedResults: expectedResults{ + nil: {count: 0}, + actionsUser: {count: 0}, + user: {count: 0}, + user4: {count: 0}, + }}, } for _, testCase := range testCases {