Skip to content

Commit e5ef362

Browse files
committed
Refuse creating an issue/PR via API calls too
1 parent 57a2e92 commit e5ef362

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

routers/api/v1/api.go

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ import (
7474
api "code.gitea.io/sdk/gitea"
7575

7676
"github.com/go-macaron/binding"
77-
"gopkg.in/macaron.v1"
77+
macaron "gopkg.in/macaron.v1"
7878
)
7979

8080
func sudo() macaron.Handler {
@@ -371,6 +371,12 @@ func mustEnableUserHeatmap(ctx *context.Context) {
371371
}
372372
}
373373

374+
func mustNotBeArchived(ctx *context.Context) {
375+
if ctx.Repo.Repository.IsArchived {
376+
ctx.Status(404)
377+
}
378+
}
379+
374380
// RegisterRoutes registers all v1 APIs routes to web application.
375381
// FIXME: custom form error response
376382
func RegisterRoutes(m *macaron.Macaron) {
@@ -518,11 +524,11 @@ func RegisterRoutes(m *macaron.Macaron) {
518524
}, mustEnableIssues)
519525
m.Group("/issues", func() {
520526
m.Combo("").Get(repo.ListIssues).
521-
Post(reqToken(), bind(api.CreateIssueOption{}), repo.CreateIssue)
527+
Post(reqToken(), mustNotBeArchived, bind(api.CreateIssueOption{}), repo.CreateIssue)
522528
m.Group("/comments", func() {
523529
m.Get("", repo.ListRepoIssueComments)
524530
m.Combo("/:id", reqToken()).
525-
Patch(bind(api.EditIssueCommentOption{}), repo.EditIssueComment).
531+
Patch(mustNotBeArchived, bind(api.EditIssueCommentOption{}), repo.EditIssueComment).
526532
Delete(repo.DeleteIssueComment)
527533
})
528534
m.Group("/:index", func() {
@@ -531,7 +537,7 @@ func RegisterRoutes(m *macaron.Macaron) {
531537

532538
m.Group("/comments", func() {
533539
m.Combo("").Get(repo.ListIssueComments).
534-
Post(reqToken(), bind(api.CreateIssueCommentOption{}), repo.CreateIssueComment)
540+
Post(reqToken(), mustNotBeArchived, bind(api.CreateIssueCommentOption{}), repo.CreateIssueComment)
535541
m.Combo("/:id", reqToken()).Patch(bind(api.EditIssueCommentOption{}), repo.EditIssueCommentDeprecated).
536542
Delete(repo.DeleteIssueCommentDeprecated)
537543
})
@@ -593,12 +599,12 @@ func RegisterRoutes(m *macaron.Macaron) {
593599
m.Get("/editorconfig/:filename", context.RepoRef(), reqRepoReader(models.UnitTypeCode), repo.GetEditorconfig)
594600
m.Group("/pulls", func() {
595601
m.Combo("").Get(bind(api.ListPullRequestsOptions{}), repo.ListPullRequests).
596-
Post(reqToken(), bind(api.CreatePullRequestOption{}), repo.CreatePullRequest)
602+
Post(reqToken(), mustNotBeArchived, bind(api.CreatePullRequestOption{}), repo.CreatePullRequest)
597603
m.Group("/:index", func() {
598604
m.Combo("").Get(repo.GetPullRequest).
599605
Patch(reqToken(), reqRepoWriter(models.UnitTypePullRequests), bind(api.EditPullRequestOption{}), repo.EditPullRequest)
600606
m.Combo("/merge").Get(repo.IsPullRequestMerged).
601-
Post(reqToken(), reqRepoWriter(models.UnitTypePullRequests), bind(auth.MergePullRequestForm{}), repo.MergePullRequest)
607+
Post(reqToken(), mustNotBeArchived, reqRepoWriter(models.UnitTypePullRequests), bind(auth.MergePullRequestForm{}), repo.MergePullRequest)
602608
})
603609
}, mustAllowPulls, reqRepoReader(models.UnitTypeCode), context.ReferencesGitRepo())
604610
m.Group("/statuses", func() {

0 commit comments

Comments
 (0)