@@ -675,7 +675,7 @@ func mustEnableWiki(ctx *context.APIContext) {
675675
676676func mustNotBeArchived (ctx * context.APIContext ) {
677677 if ctx .Repo .Repository .IsArchived {
678- ctx .NotFound ( )
678+ ctx .Error ( http . StatusLocked , "RepoArchived" , fmt . Errorf ( "%s is archived" , ctx . Repo . Repository . LogString ()) )
679679 return
680680 }
681681}
@@ -1108,23 +1108,23 @@ func Routes() *web.Route {
11081108 m .Group ("/branches" , func () {
11091109 m .Get ("" , repo .ListBranches )
11101110 m .Get ("/*" , repo .GetBranch )
1111- m .Delete ("/*" , reqToken (), reqRepoWriter (unit .TypeCode ), repo .DeleteBranch )
1112- m .Post ("" , reqToken (), reqRepoWriter (unit .TypeCode ), bind (api.CreateBranchRepoOption {}), repo .CreateBranch )
1111+ m .Delete ("/*" , reqToken (), reqRepoWriter (unit .TypeCode ), mustNotBeArchived , repo .DeleteBranch )
1112+ m .Post ("" , reqToken (), reqRepoWriter (unit .TypeCode ), mustNotBeArchived , bind (api.CreateBranchRepoOption {}), repo .CreateBranch )
11131113 }, context .ReferencesGitRepo (), reqRepoReader (unit .TypeCode ))
11141114 m .Group ("/branch_protections" , func () {
11151115 m .Get ("" , repo .ListBranchProtections )
1116- m .Post ("" , bind (api.CreateBranchProtectionOption {}), repo .CreateBranchProtection )
1116+ m .Post ("" , bind (api.CreateBranchProtectionOption {}), mustNotBeArchived , repo .CreateBranchProtection )
11171117 m .Group ("/{name}" , func () {
11181118 m .Get ("" , repo .GetBranchProtection )
1119- m .Patch ("" , bind (api.EditBranchProtectionOption {}), repo .EditBranchProtection )
1119+ m .Patch ("" , bind (api.EditBranchProtectionOption {}), mustNotBeArchived , repo .EditBranchProtection )
11201120 m .Delete ("" , repo .DeleteBranchProtection )
11211121 })
11221122 }, reqToken (), reqAdmin ())
11231123 m .Group ("/tags" , func () {
11241124 m .Get ("" , repo .ListTags )
11251125 m .Get ("/*" , repo .GetTag )
1126- m .Post ("" , reqToken (), reqRepoWriter (unit .TypeCode ), bind (api.CreateTagOption {}), repo .CreateTag )
1127- m .Delete ("/*" , reqToken (), repo .DeleteTag )
1126+ m .Post ("" , reqToken (), reqRepoWriter (unit .TypeCode ), mustNotBeArchived , bind (api.CreateTagOption {}), repo .CreateTag )
1127+ m .Delete ("/*" , reqToken (), reqRepoWriter ( unit . TypeCode ), mustNotBeArchived , repo .DeleteTag )
11281128 }, reqRepoReader (unit .TypeCode ), context .ReferencesGitRepo (true ))
11291129 m .Group ("/keys" , func () {
11301130 m .Combo ("" ).Get (repo .ListDeployKeys ).
@@ -1245,15 +1245,15 @@ func Routes() *web.Route {
12451245 m .Get ("/tags/{sha}" , repo .GetAnnotatedTag )
12461246 m .Get ("/notes/{sha}" , repo .GetNote )
12471247 }, context .ReferencesGitRepo (true ), reqRepoReader (unit .TypeCode ))
1248- m .Post ("/diffpatch" , reqRepoWriter (unit .TypeCode ), reqToken (), bind (api.ApplyDiffPatchFileOptions {}), repo .ApplyDiffPatch )
1248+ m .Post ("/diffpatch" , reqRepoWriter (unit .TypeCode ), reqToken (), bind (api.ApplyDiffPatchFileOptions {}), mustNotBeArchived , repo .ApplyDiffPatch )
12491249 m .Group ("/contents" , func () {
12501250 m .Get ("" , repo .GetContentsList )
1251- m .Post ("" , reqToken (), bind (api.ChangeFilesOptions {}), reqRepoBranchWriter , repo .ChangeFiles )
1251+ m .Post ("" , reqToken (), bind (api.ChangeFilesOptions {}), reqRepoBranchWriter , mustNotBeArchived , repo .ChangeFiles )
12521252 m .Get ("/*" , repo .GetContents )
12531253 m .Group ("/*" , func () {
1254- m .Post ("" , bind (api.CreateFileOptions {}), reqRepoBranchWriter , repo .CreateFile )
1255- m .Put ("" , bind (api.UpdateFileOptions {}), reqRepoBranchWriter , repo .UpdateFile )
1256- m .Delete ("" , bind (api.DeleteFileOptions {}), reqRepoBranchWriter , repo .DeleteFile )
1254+ m .Post ("" , bind (api.CreateFileOptions {}), reqRepoBranchWriter , mustNotBeArchived , repo .CreateFile )
1255+ m .Put ("" , bind (api.UpdateFileOptions {}), reqRepoBranchWriter , mustNotBeArchived , repo .UpdateFile )
1256+ m .Delete ("" , bind (api.DeleteFileOptions {}), reqRepoBranchWriter , mustNotBeArchived , repo .DeleteFile )
12571257 }, reqToken ())
12581258 }, reqRepoReader (unit .TypeCode ))
12591259 m .Get ("/signing-key.gpg" , misc .SigningKey )
0 commit comments