aboutsummaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/db/backup.go2
-rw-r--r--internal/route/api/v1/api.go1
-rw-r--r--internal/route/api/v1/repo/repo.go26
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() {