m.Post("/migrate", bindIgnErr(auth.MigrateRepoForm{}), v1.MigrateRepo)
}, middleware.ApiReqToken())
- // TODO: https://github.com/gogits/go-gogs-client/wiki
m.Group("/:username/:reponame", func() {
m.Combo("/hooks").Get(v1.ListRepoHooks).
Post(bind(api.CreateHookOption{}), v1.CreateRepoHook)
}
type MigrateRepoForm struct {
- CloneAddr string `binding:"Required"`
- AuthUsername string
- AuthPassword string
- Uid int64 `binding:"Required"`
- RepoName string `binding:"Required;AlphaDashDot;MaxSize(100)"`
- Private bool
- Mirror bool
- Description string `binding:"MaxSize(255)"`
+ CloneAddr string `json:"clone_addr" binding:"Required"`
+ AuthUsername string `json:"auth_username"`
+ AuthPassword string `json:"auth_password"`
+ Uid int64 `json:"uid" binding:"Required"`
+ RepoName string `json:"repo_name" binding:"Required;AlphaDashDot;MaxSize(100)"`
+ Private bool `json:"mirror"`
+ Mirror bool `json:"private"`
+ Description string `json:"description" binding:"MaxSize(255)"`
}
func (f *MigrateRepoForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
}
log.Trace("Repository migrated: %s/%s", ctxUser.Name, form.RepoName)
- ctx.WriteHeader(200)
+ ctx.JSON(201, ToApiRepository(ctxUser, repo, api.Permission{true, true, true}))
}