]> source.dussan.org Git - gitea.git/commitdiff
fix migrate API
authorUnknwon <u@gogs.io>
Thu, 3 Sep 2015 10:17:33 +0000 (06:17 -0400)
committerUnknwon <u@gogs.io>
Thu, 3 Sep 2015 10:17:33 +0000 (06:17 -0400)
cmd/web.go
modules/auth/repo_form.go
routers/api/v1/repo.go

index 5bde3379679a330f46f5b70c398e0fd1afeeb2fe..c2658a5cee3a956aaaeb211d6212888551f119b2 100644 (file)
@@ -229,11 +229,14 @@ func runWeb(ctx *cli.Context) {
                                Post(bind(api.CreateRepoOption{}), v1.CreateRepo)
                        m.Post("/org/:org/repos", middleware.ApiReqToken(), bind(api.CreateRepoOption{}), v1.CreateOrgRepo)
 
-                       // TODO: https://github.com/gogits/go-gogs-client/wiki
                        m.Group("/repos", func() {
                                m.Get("/search", v1.SearchRepos)
-                               m.Post("/migrate", bindIgnErr(auth.MigrateRepoForm{}), v1.MigrateRepo)
 
+                               m.Group("", func() {
+                                       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)
index 03dacbf88e0ae1c5f225e1fbe0cf80a710d2419b..4d90074386b332e774700d62b3a5f5e4bd1ab9bb 100644 (file)
@@ -35,10 +35,10 @@ type MigrateRepoForm struct {
        CloneAddr    string `binding:"Required"`
        AuthUsername string
        AuthPassword string
-       Mirror       bool
        Uid          int64  `binding:"Required"`
        RepoName     string `binding:"Required;AlphaDashDot;MaxSize(100)"`
        Private      bool
+       Mirror       bool
        Description  string `binding:"MaxSize(255)"`
 }
 
index 6e883a2084e3c32419c666d6686c41025517e221..07d836e5b39d411ae27bbb7b4033422a3e564a50 100644 (file)
@@ -192,23 +192,9 @@ func CreateOrgRepo(ctx *middleware.Context, opt api.CreateRepoOption) {
 }
 
 func MigrateRepo(ctx *middleware.Context, form auth.MigrateRepoForm) {
-       u, err := models.GetUserByName(ctx.Query("username"))
-       if err != nil {
-               if models.IsErrUserNotExist(err) {
-                       ctx.HandleAPI(422, err)
-               } else {
-                       ctx.HandleAPI(500, err)
-               }
-               return
-       }
-       if !u.ValidatePassword(ctx.Query("password")) {
-               ctx.HandleAPI(422, "Username or password is not correct.")
-               return
-       }
-
-       ctxUser := u
+       ctxUser := ctx.User
        // Not equal means current user is an organization.
-       if form.Uid != u.Id {
+       if form.Uid != ctxUser.Id {
                org, err := models.GetUserByID(form.Uid)
                if err != nil {
                        if models.IsErrUserNotExist(err) {
@@ -228,7 +214,7 @@ func MigrateRepo(ctx *middleware.Context, form auth.MigrateRepoForm) {
 
        if ctxUser.IsOrganization() {
                // Check ownership of organization.
-               if !ctxUser.IsOwnedBy(u.Id) {
+               if !ctxUser.IsOwnedBy(ctx.User.Id) {
                        ctx.HandleAPI(403, "Given user is not owner of organization.")
                        return
                }