aboutsummaryrefslogtreecommitdiff
path: root/routers/api
diff options
context:
space:
mode:
Diffstat (limited to 'routers/api')
-rw-r--r--routers/api/v1/api.go1
-rw-r--r--routers/api/v1/repo/repo.go13
2 files changed, 14 insertions, 0 deletions
diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go
index ad235540..3e83c559 100644
--- a/routers/api/v1/api.go
+++ b/routers/api/v1/api.go
@@ -308,6 +308,7 @@ func RegisterRoutes(m *macaron.Macaron) {
Patch(reqRepoWriter(), bind(api.EditMilestoneOption{}), repo.EditMilestone).
Delete(reqRepoWriter(), repo.DeleteMilestone)
})
+ m.Post("/mirror-sync", repo.MirrorSync)
m.Get("/editorconfig/:filename", context.RepoRef(), repo.GetEditorconfig)
}, repoAssignment())
}, reqToken())
diff --git a/routers/api/v1/repo/repo.go b/routers/api/v1/repo/repo.go
index 99ae391d..326ff25e 100644
--- a/routers/api/v1/repo/repo.go
+++ b/routers/api/v1/repo/repo.go
@@ -359,3 +359,16 @@ func ListForks(ctx *context.APIContext) {
ctx.JSON(200, &apiForks)
}
+
+func MirrorSync(ctx *context.APIContext) {
+ _, repo := parseOwnerAndRepo(ctx)
+ if ctx.Written() {
+ return
+ } else if !repo.IsMirror {
+ ctx.Status(404)
+ return
+ }
+
+ go models.MirrorQueue.Add(repo.ID)
+ ctx.Status(202)
+}