Add repo mirror sync API endpoint (#1508)

* API: Add repo mirror sync

* Correct error message

* Change http status to 200
tokarchuk/v1.17
Jonas 8 years ago committed by Lunny Xiao
parent 2eeae84cbd
commit f995bcc87a
  1. 1
      routers/api/v1/api.go
  2. 12
      routers/api/v1/repo/repo.go

@ -402,6 +402,7 @@ func RegisterRoutes(m *macaron.Macaron) {
Patch(bind(api.EditReleaseOption{}), repo.EditRelease).
Delete(repo.DeleteRelease)
})
m.Post("/mirror-sync", repo.MirrorSync)
m.Get("/editorconfig/:filename", context.RepoRef(), repo.GetEditorconfig)
m.Group("/pulls", func() {
m.Combo("").Get(bind(api.ListPullRequestsOptions{}), repo.ListPullRequests).Post(reqRepoWriter(), bind(api.CreatePullRequestOption{}), repo.CreatePullRequest)

@ -269,3 +269,15 @@ func Delete(ctx *context.APIContext) {
log.Trace("Repository deleted: %s/%s", owner.Name, repo.Name)
ctx.Status(204)
}
// MirrorSync adds a mirrored repository to the sync queue
func MirrorSync(ctx *context.APIContext) {
repo := ctx.Repo.Repository
if !ctx.Repo.IsWriter() {
ctx.Error(403, "MirrorSync", "Must have write access")
}
go models.MirrorQueue.Add(repo.ID)
ctx.Status(200)
}

Loading…
Cancel
Save