diff options
author | Pavel M <paullus325@gmail.com> | 2021-11-10 08:29:27 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-10 13:29:27 +0800 |
commit | de3161155b4e14a2e39e079f026ef1fe31d4eec4 (patch) | |
tree | 6f6c4596d510eb07435f533e5e491fd6bf2769be | |
parent | 8938855b40777f04ec1c637ad38ee9d12001d042 (diff) |
api: EditWiki implementation (#5860)
Co-authored-by: Joe Chen <jc@unknwon.io>
-rw-r--r-- | internal/db/backup.go | 2 | ||||
-rw-r--r-- | internal/route/api/v1/api.go | 1 | ||||
-rw-r--r-- | internal/route/api/v1/repo/repo.go | 26 |
3 files changed, 28 insertions, 1 deletions
diff --git a/internal/db/backup.go b/internal/db/backup.go index 2f76bb04..f4dec721 100644 --- a/internal/db/backup.go +++ b/internal/db/backup.go @@ -89,7 +89,7 @@ func dumpTable(db *gorm.DB, table interface{}, w io.Writer) error { return errors.Wrap(err, "encode JSON") } } - return nil + return rows.Err() } func dumpLegacyTables(dirPath string, verbose bool) error { 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() { |