diff options
Diffstat (limited to 'internal/route/api')
-rw-r--r-- | internal/route/api/v1/api.go | 1 | ||||
-rw-r--r-- | internal/route/api/v1/repo/repo.go | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/internal/route/api/v1/api.go b/internal/route/api/v1/api.go index 542c386e..a662f55f 100644 --- a/internal/route/api/v1/api.go +++ b/internal/route/api/v1/api.go @@ -355,6 +355,7 @@ func RegisterRoutes(m *macaron.Macaron) { }, reqRepoWriter()) m.Patch("/issue-tracker", reqRepoWriter(), bind(api.EditIssueTrackerOption{}), repo.IssueTracker) + m.Patch("/wiki", reqRepoWriter(), bind(api.EditWikiOption{}), repo.Wiki) m.Post("/mirror-sync", reqRepoWriter(), repo.MirrorSync) m.Get("/editorconfig/:filename", context.RepoRef(), repo.GetEditorconfig) }, repoAssignment()) diff --git a/internal/route/api/v1/repo/repo.go b/internal/route/api/v1/repo/repo.go index 138f39e8..11548ec4 100644 --- a/internal/route/api/v1/repo/repo.go +++ b/internal/route/api/v1/repo/repo.go @@ -390,6 +390,32 @@ func IssueTracker(c *context.APIContext, form api.EditIssueTrackerOption) { c.NoContent() } +func Wiki(c *context.APIContext, form api.EditWikiOption) { + _, repo := parseOwnerAndRepo(c) + if c.Written() { + return + } + + if form.AllowPublicWiki != nil { + repo.AllowPublicWiki = *form.AllowPublicWiki + } + if form.EnableExternalWiki != nil { + repo.EnableExternalWiki = *form.EnableExternalWiki + } + if form.EnableWiki != nil { + repo.EnableWiki = *form.EnableWiki + } + if form.ExternalWikiURL != nil { + repo.ExternalWikiURL = *form.ExternalWikiURL + } + if err := db.UpdateRepository(repo, false); err != nil { + c.Error(err, "update repository") + return + } + + c.NoContent() +} + func MirrorSync(c *context.APIContext) { _, repo := parseOwnerAndRepo(c) if c.Written() { |