From c441f8080e0095fde572abe390012feb681f56b1 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Thu, 23 Mar 2017 20:46:39 -0400 Subject: [PATCH] api/repo: add endpoint to sync mirror (#2235) --- routers/api/v1/api.go | 1 + routers/api/v1/repo/repo.go | 13 +++++++++++++ 2 files changed, 14 insertions(+) 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) +}