Kaynağa Gözat

api/repo: add endpoint to sync mirror (#2235)

Unknwon 8 yıl önce
ebeveyn
işleme
c441f8080e
2 değiştirilmiş dosya ile 14 ekleme ve 0 silme
  1. 1 0
      routers/api/v1/api.go
  2. 13 0
      routers/api/v1/repo/repo.go

+ 1 - 0
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())

+ 13 - 0
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)
+}