@@ -71,14 +71,12 @@ import (
7171 "strconv"
7272 "strings"
7373
74- actions_model "code.gitea.io/gitea/models/actions"
7574 auth_model "code.gitea.io/gitea/models/auth"
76- "code.gitea.io/gitea/models/db "
75+ group_model "code.gitea.io/gitea/models/group "
7776 "code.gitea.io/gitea/models/organization"
7877 "code.gitea.io/gitea/models/perm"
7978 access_model "code.gitea.io/gitea/models/perm/access"
8079 repo_model "code.gitea.io/gitea/models/repo"
81- group_model "code.gitea.io/gitea/models/group"
8280 shared_group_model "code.gitea.io/gitea/models/shared/group"
8381 "code.gitea.io/gitea/models/unit"
8482 user_model "code.gitea.io/gitea/models/user"
@@ -1181,11 +1179,13 @@ func Routes() *web.Router {
11811179 // (repo scope)
11821180 m .Group ("/starred" , func () {
11831181 m .Get ("" , user .GetMyStarredRepos )
1184- m . Group ( "/{username}/{group_id}?/{reponame}" , func () {
1182+ fn := func () {
11851183 m .Get ("" , user .IsStarring )
11861184 m .Put ("" , user .Star )
11871185 m .Delete ("" , user .Unstar )
1188- }, repoAssignment (), checkTokenPublicOnly ())
1186+ }
1187+ m .Group ("/{username}/{reponame}" , fn , repoAssignment (), checkTokenPublicOnly ())
1188+ m .Group ("/{username}/{group_id}/{reponame}" , fn , repoAssignment (), checkTokenPublicOnly ())
11891189 }, reqStarsEnabled (), tokenRequiresScopes (auth_model .AccessTokenScopeCategoryRepository ))
11901190 m .Get ("/times" , repo .ListMyTrackedTimes )
11911191 m .Get ("/stopwatches" , repo .GetStopwatches )
@@ -1232,8 +1232,7 @@ func Routes() *web.Router {
12321232
12331233 // (repo scope)
12341234 m .Post ("/migrate" , reqToken (), bind (api.MigrateRepoOptions {}), repo .Migrate )
1235-
1236- m .Group ("/{username}/{group_id}?/{reponame}" , func () {
1235+ fn := func () {
12371236 m .Get ("/compare/*" , reqRepoReader (unit .TypeCode ), repo .CompareDiff )
12381237
12391238 m .Combo ("" ).Get (reqAnyRepoReader (), repo .Get ).
@@ -1519,27 +1518,31 @@ func Routes() *web.Router {
15191518 }, reqAdmin (), reqToken ())
15201519
15211520 m .Methods ("HEAD,GET" , "/{ball_type:tarball|zipball|bundle}/*" , reqRepoReader (unit .TypeCode ), context .ReferencesGitRepo (true ), repo .DownloadArchive )
1522- }, repoAssignment (), checkTokenPublicOnly ())
1521+ }
1522+ m .Group ("/{username}/{reponame}" , fn , repoAssignment (), checkTokenPublicOnly ())
1523+ m .Group ("/{username}/{group_id}/{reponame}" , fn , repoAssignment (), checkTokenPublicOnly ())
15231524 }, tokenRequiresScopes (auth_model .AccessTokenScopeCategoryRepository ))
15241525
15251526 // Artifacts direct download endpoint authenticates via signed url
15261527 // it is protected by the "sig" parameter (to help to access private repo), so no need to use other middlewares
1527- m .Get ("/repos/{username}/{group_id}?/{reponame}/actions/artifacts/{artifact_id}/zip/raw" , repo .DownloadArtifactRaw )
1528+ m .Get ("/repos/{username}/{reponame}/actions/artifacts/{artifact_id}/zip/raw" , repo .DownloadArtifactRaw )
1529+ m .Get ("/repos/{username}/{group_id}/{reponame}/actions/artifacts/{artifact_id}/zip/raw" , repo .DownloadArtifactRaw )
15281530
15291531 // Notifications (requires notifications scope)
15301532 m .Group ("/repos" , func () {
1531- m . Group ( "/{username}/{group_id}?/{reponame}" , func () {
1533+ fn := func () {
15321534 m .Combo ("/notifications" , reqToken ()).
15331535 Get (notify .ListRepoNotifications ).
15341536 Put (notify .ReadRepoNotifications )
1535- }, repoAssignment (), checkTokenPublicOnly ())
1537+ }
1538+ m .Group ("/{username}/{reponame}" , fn , repoAssignment (), checkTokenPublicOnly ())
1539+ m .Group ("/{username}/{group_id}/{reponame}" , fn , repoAssignment (), checkTokenPublicOnly ())
15361540 }, tokenRequiresScopes (auth_model .AccessTokenScopeCategoryNotification ))
15371541
15381542 // Issue (requires issue scope)
15391543 m .Group ("/repos" , func () {
15401544 m .Get ("/issues/search" , repo .SearchIssues )
1541-
1542- m .Group ("/{username}/{group_id}?/{reponame}" , func () {
1545+ fn := func () {
15431546 m .Group ("/issues" , func () {
15441547 m .Combo ("" ).Get (repo .ListIssues ).
15451548 Post (reqToken (), mustNotBeArchived , bind (api.CreateIssueOption {}), reqRepoReader (unit .TypeIssues ), repo .CreateIssue )
@@ -1651,7 +1654,9 @@ func Routes() *web.Router {
16511654 Patch (reqToken (), reqRepoWriter (unit .TypeIssues , unit .TypePullRequests ), bind (api.EditMilestoneOption {}), repo .EditMilestone ).
16521655 Delete (reqToken (), reqRepoWriter (unit .TypeIssues , unit .TypePullRequests ), repo .DeleteMilestone )
16531656 })
1654- }, repoAssignment (), checkTokenPublicOnly ())
1657+ }
1658+ m .Group ("/{username}/{reponame}" , fn , repoAssignment (), checkTokenPublicOnly ())
1659+ m .Group ("/{username}/{group_id}/{reponame}" , fn , repoAssignment (), checkTokenPublicOnly ())
16551660 }, tokenRequiresScopes (auth_model .AccessTokenScopeCategoryIssue ))
16561661
16571662 // NOTE: these are Gitea package management API - see packages.CommonRoutes and packages.DockerContainerRoutes for endpoints that implement package manager APIs
0 commit comments