@@ -1042,6 +1042,13 @@ func Routes() *web.Router {
10421042
10431043 m .Get ("/subscriptions" , user .GetWatchedRepos )
10441044 }, context .UserAssignmentAPI (), checkTokenPublicOnly ())
1045+
1046+ m .Group ("/{username}" , func () {
1047+ m .Group ("/projects" , func () {
1048+ m .Get ("" , projects .ListUserProjects )
1049+ m .Post ("" , bind (api.NewProjectOption {}), projects .CreateUserProject )
1050+ }, tokenRequiresScopes (auth_model .AccessTokenScopeCategoryProject ))
1051+ }, context .UserAssignmentAPI ())
10451052 }, tokenRequiresScopes (auth_model .AccessTokenScopeCategoryUser ), reqToken ())
10461053
10471054 // Users (requires user scope)
@@ -1162,11 +1169,6 @@ func Routes() *web.Router {
11621169 m .Delete ("" , user .UnblockUser )
11631170 }, context .UserAssignmentAPI (), checkTokenPublicOnly ())
11641171 })
1165-
1166- m .Group ("/projects" , func () {
1167- m .Get ("" , projects .ListUserProjects )
1168- m .Post ("" , bind (api.NewProjectPayload {}), projects .CreateUserProject )
1169- })
11701172 }, tokenRequiresScopes (auth_model .AccessTokenScopeCategoryUser ), reqToken ())
11711173
11721174 // Repositories (requires repo scope, org scope)
@@ -1475,8 +1477,8 @@ func Routes() *web.Router {
14751477 m .Methods ("HEAD,GET" , "/{ball_type:tarball|zipball|bundle}/*" , reqRepoReader (unit .TypeCode ), repo .DownloadArchive )
14761478
14771479 m .Group ("/projects" , func () {
1478- m .Post ("" , bind (api.NewProjectPayload {}), projects .CreateRepoProject )
1479- })
1480+ m .Post ("" , bind (api.NewProjectOption {}), projects .CreateRepoProject )
1481+ }, tokenRequiresScopes ( auth_model . AccessTokenScopeCategoryProject ) )
14801482 }, repoAssignment (), checkTokenPublicOnly ())
14811483 }, tokenRequiresScopes (auth_model .AccessTokenScopeCategoryRepository ))
14821484
@@ -1699,9 +1701,9 @@ func Routes() *web.Router {
16991701 }, reqToken (), reqOrgOwnership ())
17001702
17011703 m .Group ("/projects" , func () {
1702- m .Post ("" , bind (api.NewProjectPayload {}), projects .CreateOrgProject )
1704+ m .Post ("" , bind (api.NewProjectOption {}), projects .CreateOrgProject )
17031705 m .Get ("" , projects .ListOrgProjects )
1704- })
1706+ }, tokenRequiresScopes ( auth_model . AccessTokenScopeCategoryProject ) )
17051707 }, tokenRequiresScopes (auth_model .AccessTokenScopeCategoryOrganization ), orgAssignment (true ), checkTokenPublicOnly ())
17061708 m .Group ("/teams/{teamid}" , func () {
17071709 m .Combo ("" ).Get (reqToken (), org .GetTeam ).
@@ -1724,6 +1726,13 @@ func Routes() *web.Router {
17241726 m .Get ("/activities/feeds" , org .ListTeamActivityFeeds )
17251727 }, tokenRequiresScopes (auth_model .AccessTokenScopeCategoryOrganization ), orgAssignment (false , true ), reqToken (), reqTeamMembership (), checkTokenPublicOnly ())
17261728
1729+ // Projects
1730+ m .Group ("/projects" , func () {
1731+ m .Get ("{project_id}" , projects .GetProject )
1732+ m .Patch ("{project_id}" , bind (api.UpdateProjectOption {}), projects .UpdateProject )
1733+ m .Delete ("{project_id}" , projects .DeleteProject )
1734+ }, tokenRequiresScopes (auth_model .AccessTokenScopeCategoryProject ), reqToken ())
1735+
17271736 m .Group ("/admin" , func () {
17281737 m .Group ("/cron" , func () {
17291738 m .Get ("" , admin .ListCronTasks )
0 commit comments