|
|
|
@ -675,7 +675,7 @@ func mustEnableWiki(ctx *context.APIContext) { |
|
|
|
|
|
|
|
|
|
func mustNotBeArchived(ctx *context.APIContext) { |
|
|
|
|
if ctx.Repo.Repository.IsArchived { |
|
|
|
|
ctx.NotFound() |
|
|
|
|
ctx.Error(http.StatusLocked, "RepoArchived", fmt.Errorf("%s is archived", ctx.Repo.Repository.LogString())) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -1108,23 +1108,23 @@ func Routes() *web.Route { |
|
|
|
|
m.Group("/branches", func() { |
|
|
|
|
m.Get("", repo.ListBranches) |
|
|
|
|
m.Get("/*", repo.GetBranch) |
|
|
|
|
m.Delete("/*", reqToken(), reqRepoWriter(unit.TypeCode), repo.DeleteBranch) |
|
|
|
|
m.Post("", reqToken(), reqRepoWriter(unit.TypeCode), bind(api.CreateBranchRepoOption{}), repo.CreateBranch) |
|
|
|
|
m.Delete("/*", reqToken(), reqRepoWriter(unit.TypeCode), mustNotBeArchived, repo.DeleteBranch) |
|
|
|
|
m.Post("", reqToken(), reqRepoWriter(unit.TypeCode), mustNotBeArchived, bind(api.CreateBranchRepoOption{}), repo.CreateBranch) |
|
|
|
|
}, context.ReferencesGitRepo(), reqRepoReader(unit.TypeCode)) |
|
|
|
|
m.Group("/branch_protections", func() { |
|
|
|
|
m.Get("", repo.ListBranchProtections) |
|
|
|
|
m.Post("", bind(api.CreateBranchProtectionOption{}), repo.CreateBranchProtection) |
|
|
|
|
m.Post("", bind(api.CreateBranchProtectionOption{}), mustNotBeArchived, repo.CreateBranchProtection) |
|
|
|
|
m.Group("/{name}", func() { |
|
|
|
|
m.Get("", repo.GetBranchProtection) |
|
|
|
|
m.Patch("", bind(api.EditBranchProtectionOption{}), repo.EditBranchProtection) |
|
|
|
|
m.Patch("", bind(api.EditBranchProtectionOption{}), mustNotBeArchived, repo.EditBranchProtection) |
|
|
|
|
m.Delete("", repo.DeleteBranchProtection) |
|
|
|
|
}) |
|
|
|
|
}, reqToken(), reqAdmin()) |
|
|
|
|
m.Group("/tags", func() { |
|
|
|
|
m.Get("", repo.ListTags) |
|
|
|
|
m.Get("/*", repo.GetTag) |
|
|
|
|
m.Post("", reqToken(), reqRepoWriter(unit.TypeCode), bind(api.CreateTagOption{}), repo.CreateTag) |
|
|
|
|
m.Delete("/*", reqToken(), repo.DeleteTag) |
|
|
|
|
m.Post("", reqToken(), reqRepoWriter(unit.TypeCode), mustNotBeArchived, bind(api.CreateTagOption{}), repo.CreateTag) |
|
|
|
|
m.Delete("/*", reqToken(), reqRepoWriter(unit.TypeCode), mustNotBeArchived, repo.DeleteTag) |
|
|
|
|
}, reqRepoReader(unit.TypeCode), context.ReferencesGitRepo(true)) |
|
|
|
|
m.Group("/keys", func() { |
|
|
|
|
m.Combo("").Get(repo.ListDeployKeys). |
|
|
|
@ -1245,15 +1245,15 @@ func Routes() *web.Route { |
|
|
|
|
m.Get("/tags/{sha}", repo.GetAnnotatedTag) |
|
|
|
|
m.Get("/notes/{sha}", repo.GetNote) |
|
|
|
|
}, context.ReferencesGitRepo(true), reqRepoReader(unit.TypeCode)) |
|
|
|
|
m.Post("/diffpatch", reqRepoWriter(unit.TypeCode), reqToken(), bind(api.ApplyDiffPatchFileOptions{}), repo.ApplyDiffPatch) |
|
|
|
|
m.Post("/diffpatch", reqRepoWriter(unit.TypeCode), reqToken(), bind(api.ApplyDiffPatchFileOptions{}), mustNotBeArchived, repo.ApplyDiffPatch) |
|
|
|
|
m.Group("/contents", func() { |
|
|
|
|
m.Get("", repo.GetContentsList) |
|
|
|
|
m.Post("", reqToken(), bind(api.ChangeFilesOptions{}), reqRepoBranchWriter, repo.ChangeFiles) |
|
|
|
|
m.Post("", reqToken(), bind(api.ChangeFilesOptions{}), reqRepoBranchWriter, mustNotBeArchived, repo.ChangeFiles) |
|
|
|
|
m.Get("/*", repo.GetContents) |
|
|
|
|
m.Group("/*", func() { |
|
|
|
|
m.Post("", bind(api.CreateFileOptions{}), reqRepoBranchWriter, repo.CreateFile) |
|
|
|
|
m.Put("", bind(api.UpdateFileOptions{}), reqRepoBranchWriter, repo.UpdateFile) |
|
|
|
|
m.Delete("", bind(api.DeleteFileOptions{}), reqRepoBranchWriter, repo.DeleteFile) |
|
|
|
|
m.Post("", bind(api.CreateFileOptions{}), reqRepoBranchWriter, mustNotBeArchived, repo.CreateFile) |
|
|
|
|
m.Put("", bind(api.UpdateFileOptions{}), reqRepoBranchWriter, mustNotBeArchived, repo.UpdateFile) |
|
|
|
|
m.Delete("", bind(api.DeleteFileOptions{}), reqRepoBranchWriter, mustNotBeArchived, repo.DeleteFile) |
|
|
|
|
}, reqToken()) |
|
|
|
|
}, reqRepoReader(unit.TypeCode)) |
|
|
|
|
m.Get("/signing-key.gpg", misc.SigningKey) |
|
|
|
|