diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go index cb89d06017..7c152e6d94 100644 --- a/routers/api/v1/api.go +++ b/routers/api/v1/api.go @@ -1162,7 +1162,7 @@ func Routes() *web.Router { // (repo scope) m.Group("/starred", func() { m.Get("", user.GetMyStarredRepos) - m.Group("/{username}/{reponame}", func() { + m.Group("/{username}/{group_id}?/{reponame}", func() { m.Get("", user.IsStarring) m.Put("", user.Star) m.Delete("", user.Unstar) @@ -1214,7 +1214,7 @@ func Routes() *web.Router { // (repo scope) m.Post("/migrate", reqToken(), bind(api.MigrateRepoOptions{}), repo.Migrate) - m.Group("/{username}/{reponame}", func() { + m.Group("/{username}/{group_id}?/{reponame}", func() { m.Get("/compare/*", reqRepoReader(unit.TypeCode), repo.CompareDiff) m.Combo("").Get(reqAnyRepoReader(), repo.Get). @@ -1517,11 +1517,11 @@ func Routes() *web.Router { // Artifacts direct download endpoint authenticates via signed url // it is protected by the "sig" parameter (to help to access private repo), so no need to use other middlewares - m.Get("/repos/{username}/{reponame}/actions/artifacts/{artifact_id}/zip/raw", repo.DownloadArtifactRaw) + m.Get("/repos/{username}/{group_id}?/{reponame}/actions/artifacts/{artifact_id}/zip/raw", repo.DownloadArtifactRaw) // Notifications (requires notifications scope) m.Group("/repos", func() { - m.Group("/{username}/{reponame}", func() { + m.Group("/{username}/{group_id}?/{reponame}", func() { m.Combo("/notifications", reqToken()). Get(notify.ListRepoNotifications). Put(notify.ReadRepoNotifications) @@ -1532,7 +1532,7 @@ func Routes() *web.Router { m.Group("/repos", func() { m.Get("/issues/search", repo.SearchIssues) - m.Group("/{username}/{reponame}", func() { + m.Group("/{username}/{group_id}?/{reponame}", func() { m.Group("/issues", func() { m.Combo("").Get(repo.ListIssues). Post(reqToken(), mustNotBeArchived, bind(api.CreateIssueOption{}), reqRepoReader(unit.TypeIssues), repo.CreateIssue) diff --git a/tests/integration/pull_merge_test.go b/tests/integration/pull_merge_test.go index 83cf1d7605..7641fb187a 100644 --- a/tests/integration/pull_merge_test.go +++ b/tests/integration/pull_merge_test.go @@ -384,7 +384,7 @@ func TestCantMergeUnrelated(t *testing.T) { OwnerID: user1.ID, Name: "repo1", }) - path := repo_model.RepoPath(user1.Name, repo1.Name) + path := repo_model.RepoPath(user1.Name, repo1.Name, repo1.GroupID) err := gitcmd.NewCommand("read-tree", "--empty").WithDir(path).Run(t.Context()) assert.NoError(t, err) diff --git a/tests/integration/repo_test.go b/tests/integration/repo_test.go index b036ffff35..d88f44873a 100644 --- a/tests/integration/repo_test.go +++ b/tests/integration/repo_test.go @@ -542,7 +542,7 @@ func TestGenerateRepository(t *testing.T) { require.NoError(t, err) require.NotNil(t, generatedRepo) - exist, err := util.IsExist(repo_model.RepoPath(user2.Name, generatedRepo.Name)) + exist, err := util.IsExist(repo_model.RepoPath(user2.Name, generatedRepo.Name, generatedRepo.GroupID)) require.NoError(t, err) require.True(t, exist) @@ -565,7 +565,7 @@ func TestGenerateRepository(t *testing.T) { // a failed creating because some mock data // create the repository directory so that the creation will fail after database record created. - assert.NoError(t, os.MkdirAll(repo_model.RepoPath(user2.Name, "generated-from-template-44"), os.ModePerm)) + assert.NoError(t, os.MkdirAll(repo_model.RepoPath(user2.Name, "generated-from-template-44", generatedRepo.GroupID), os.ModePerm)) generatedRepo2, err := repo_service.GenerateRepository(t.Context(), user2, user2, repo44, repo_service.GenerateRepoOptions{ Name: "generated-from-template-44", @@ -577,7 +577,7 @@ func TestGenerateRepository(t *testing.T) { // assert the cleanup is successful unittest.AssertNotExistsBean(t, &repo_model.Repository{OwnerName: user2.Name, Name: generatedRepo.Name}) - exist, err = util.IsExist(repo_model.RepoPath(user2.Name, generatedRepo.Name)) + exist, err = util.IsExist(repo_model.RepoPath(user2.Name, generatedRepo.Name, generatedRepo.GroupID)) assert.NoError(t, err) assert.False(t, exist) }