@@ -1196,11 +1196,13 @@ func Routes() *web.Router {
11961196 // (repo scope)
11971197 m .Group ("/starred" , func () {
11981198 m .Get ("" , user .GetMyStarredRepos )
1199- m . Group ( "/{username}/{group_id}?/{reponame}" , func () {
1199+ fn := func () {
12001200 m .Get ("" , user .IsStarring )
12011201 m .Put ("" , user .Star )
12021202 m .Delete ("" , user .Unstar )
1203- }, repoAssignment (), checkTokenPublicOnly ())
1203+ }
1204+ m .Group ("/{username}/{reponame}" , fn , repoAssignment (), checkTokenPublicOnly ())
1205+ m .Group ("/{username}/{group_id}/{reponame}" , fn , repoAssignment (), checkTokenPublicOnly ())
12041206 }, reqStarsEnabled (), tokenRequiresScopes (auth_model .AccessTokenScopeCategoryRepository ))
12051207 m .Get ("/times" , repo .ListMyTrackedTimes )
12061208 m .Get ("/stopwatches" , repo .GetStopwatches )
@@ -1247,8 +1249,7 @@ func Routes() *web.Router {
12471249
12481250 // (repo scope)
12491251 m .Post ("/migrate" , reqToken (), bind (api.MigrateRepoOptions {}), repo .Migrate )
1250-
1251- m .Group ("/{username}/{group_id}?/{reponame}" , func () {
1252+ fn := func () {
12521253 m .Get ("/compare/*" , reqRepoReader (unit .TypeCode ), repo .CompareDiff )
12531254
12541255 m .Combo ("" ).Get (reqAnyRepoReader (), repo .Get ).
@@ -1534,27 +1535,31 @@ func Routes() *web.Router {
15341535 }, reqAdmin (), reqToken ())
15351536
15361537 m .Methods ("HEAD,GET" , "/{ball_type:tarball|zipball|bundle}/*" , reqRepoReader (unit .TypeCode ), repo .DownloadArchive )
1537- }, repoAssignment (), checkTokenPublicOnly ())
1538+ }
1539+ m .Group ("/{username}/{reponame}" , fn , repoAssignment (), checkTokenPublicOnly ())
1540+ m .Group ("/{username}/{group_id}/{reponame}" , fn , repoAssignment (), checkTokenPublicOnly ())
15381541 }, tokenRequiresScopes (auth_model .AccessTokenScopeCategoryRepository ))
15391542
15401543 // Artifacts direct download endpoint authenticates via signed url
15411544 // it is protected by the "sig" parameter (to help to access private repo), so no need to use other middlewares
1542- m .Get ("/repos/{username}/{group_id}?/{reponame}/actions/artifacts/{artifact_id}/zip/raw" , repo .DownloadArtifactRaw )
1545+ m .Get ("/repos/{username}/{reponame}/actions/artifacts/{artifact_id}/zip/raw" , repo .DownloadArtifactRaw )
1546+ m .Get ("/repos/{username}/{group_id}/{reponame}/actions/artifacts/{artifact_id}/zip/raw" , repo .DownloadArtifactRaw )
15431547
15441548 // Notifications (requires notifications scope)
15451549 m .Group ("/repos" , func () {
1546- m . Group ( "/{username}/{group_id}?/{reponame}" , func () {
1550+ fn := func () {
15471551 m .Combo ("/notifications" , reqToken ()).
15481552 Get (notify .ListRepoNotifications ).
15491553 Put (notify .ReadRepoNotifications )
1550- }, repoAssignment (), checkTokenPublicOnly ())
1554+ }
1555+ m .Group ("/{username}/{reponame}" , fn , repoAssignment (), checkTokenPublicOnly ())
1556+ m .Group ("/{username}/{group_id}/{reponame}" , fn , repoAssignment (), checkTokenPublicOnly ())
15511557 }, tokenRequiresScopes (auth_model .AccessTokenScopeCategoryNotification ))
15521558
15531559 // Issue (requires issue scope)
15541560 m .Group ("/repos" , func () {
15551561 m .Get ("/issues/search" , repo .SearchIssues )
1556-
1557- m .Group ("/{username}/{group_id}?/{reponame}" , func () {
1562+ fn := func () {
15581563 m .Group ("/issues" , func () {
15591564 m .Combo ("" ).Get (repo .ListIssues ).
15601565 Post (reqToken (), mustNotBeArchived , bind (api.CreateIssueOption {}), reqRepoReader (unit .TypeIssues ), repo .CreateIssue )
@@ -1666,7 +1671,9 @@ func Routes() *web.Router {
16661671 Patch (reqToken (), reqRepoWriter (unit .TypeIssues , unit .TypePullRequests ), bind (api.EditMilestoneOption {}), repo .EditMilestone ).
16671672 Delete (reqToken (), reqRepoWriter (unit .TypeIssues , unit .TypePullRequests ), repo .DeleteMilestone )
16681673 })
1669- }, repoAssignment (), checkTokenPublicOnly ())
1674+ }
1675+ m .Group ("/{username}/{reponame}" , fn , repoAssignment (), checkTokenPublicOnly ())
1676+ m .Group ("/{username}/{group_id}/{reponame}" , fn , repoAssignment (), checkTokenPublicOnly ())
16701677 }, tokenRequiresScopes (auth_model .AccessTokenScopeCategoryIssue ))
16711678
16721679 // NOTE: these are Gitea package management API - see packages.CommonRoutes and packages.DockerContainerRoutes for endpoints that implement package manager APIs
0 commit comments