diff options
author | Unknwon <joe2010xtmf@163.com> | 2014-08-26 18:11:15 +0800 |
---|---|---|
committer | Unknwon <joe2010xtmf@163.com> | 2014-08-26 18:11:15 +0800 |
commit | 74b31566cf5caaf6bf73584e621d56ca99c048d1 (patch) | |
tree | 078a8428e5241d13600482301444684720a77283 /routers/api | |
parent | f2c263c54facdcbc9375a47535c0389fd7d05875 (diff) | |
download | gitea-74b31566cf5caaf6bf73584e621d56ca99c048d1.tar.gz gitea-74b31566cf5caaf6bf73584e621d56ca99c048d1.zip |
Finsih add/remove repo in organization
Diffstat (limited to 'routers/api')
-rw-r--r-- | routers/api/v1/repos.go | 57 | ||||
-rw-r--r-- | routers/api/v1/repositories.go | 13 | ||||
-rw-r--r-- | routers/api/v1/users.go | 22 |
3 files changed, 72 insertions, 20 deletions
diff --git a/routers/api/v1/repos.go b/routers/api/v1/repos.go new file mode 100644 index 0000000000..67cf9e654c --- /dev/null +++ b/routers/api/v1/repos.go @@ -0,0 +1,57 @@ +// Copyright 2014 The Gogs Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package v1 + +import ( + "path" + + "github.com/Unknwon/com" + + "github.com/gogits/gogs/models" + "github.com/gogits/gogs/modules/middleware" +) + +type repo struct { + RepoLink string `json:"repolink"` +} + +func SearchRepos(ctx *middleware.Context) { + opt := models.SearchOption{ + Keyword: path.Base(ctx.Query("q")), + Uid: com.StrTo(ctx.Query("uid")).MustInt64(), + Limit: com.StrTo(ctx.Query("limit")).MustInt(), + } + if opt.Limit == 0 { + opt.Limit = 10 + } + + repos, err := models.SearchRepositoryByName(opt) + if err != nil { + ctx.JSON(500, map[string]interface{}{ + "ok": false, + "error": err.Error(), + }) + return + } + + results := make([]*repo, len(repos)) + for i := range repos { + if err = repos[i].GetOwner(); err != nil { + ctx.JSON(500, map[string]interface{}{ + "ok": false, + "error": err.Error(), + }) + return + } + results[i] = &repo{ + RepoLink: path.Join(repos[i].Owner.Name, repos[i].Name), + } + } + + ctx.Render.JSON(200, map[string]interface{}{ + "ok": true, + "data": results, + }) +} diff --git a/routers/api/v1/repositories.go b/routers/api/v1/repositories.go deleted file mode 100644 index 11c8b6b2e3..0000000000 --- a/routers/api/v1/repositories.go +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2014 The Gogs Authors. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package v1 - -import ( - "github.com/gogits/gogs/modules/middleware" -) - -func SearchOrgRepositoreis(ctx *middleware.Context) { - -} diff --git a/routers/api/v1/users.go b/routers/api/v1/users.go index fe67033748..062c3680fc 100644 --- a/routers/api/v1/users.go +++ b/routers/api/v1/users.go @@ -17,21 +17,29 @@ type user struct { } func SearchUsers(ctx *middleware.Context) { - q := ctx.Query("q") - limit, err := com.StrTo(ctx.Query("limit")).Int() - if err != nil { - limit = 10 + opt := models.SearchOption{ + Keyword: ctx.Query("q"), + Limit: com.StrTo(ctx.Query("limit")).MustInt(), + } + if opt.Limit == 0 { + opt.Limit = 10 } - us, err := models.SearchUserByName(q, limit) + us, err := models.SearchUserByName(opt) if err != nil { - ctx.JSON(500, nil) + ctx.JSON(500, map[string]interface{}{ + "ok": false, + "error": err.Error(), + }) return } results := make([]*user, len(us)) for i := range us { - results[i] = &user{us[i].Name, us[i].AvatarLink()} + results[i] = &user{ + UserName: us[i].Name, + AvatarLink: us[i].AvatarLink(), + } } ctx.Render.JSON(200, map[string]interface{}{ |