aboutsummaryrefslogtreecommitdiff
path: root/routers/api/v1/user
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2017-06-11 00:34:14 -0400
committerUnknwon <u@gogs.io>2017-06-11 00:34:14 -0400
commit4400d2fdd933204044aeb18ce7d8613c53aa87c0 (patch)
tree841e91d5294c49b7335170fbc4b9ff79e882f91a /routers/api/v1/user
parent6197a7639a88f7fb0fee8927e1d501504ae770ff (diff)
Refactoring: rename package routers -> routes
Diffstat (limited to 'routers/api/v1/user')
-rw-r--r--routers/api/v1/user/app.go40
-rw-r--r--routers/api/v1/user/email.go82
-rw-r--r--routers/api/v1/user/follower.go120
-rw-r--r--routers/api/v1/user/key.go120
-rw-r--r--routers/api/v1/user/user.go75
5 files changed, 0 insertions, 437 deletions
diff --git a/routers/api/v1/user/app.go b/routers/api/v1/user/app.go
deleted file mode 100644
index bda1e23f..00000000
--- a/routers/api/v1/user/app.go
+++ /dev/null
@@ -1,40 +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 user
-
-import (
- api "github.com/gogits/go-gogs-client"
-
- "github.com/gogits/gogs/models"
- "github.com/gogits/gogs/pkg/context"
-)
-
-// https://github.com/gogits/go-gogs-client/wiki/Users#list-access-tokens-for-a-user
-func ListAccessTokens(c *context.APIContext) {
- tokens, err := models.ListAccessTokens(c.User.ID)
- if err != nil {
- c.Error(500, "ListAccessTokens", err)
- return
- }
-
- apiTokens := make([]*api.AccessToken, len(tokens))
- for i := range tokens {
- apiTokens[i] = &api.AccessToken{tokens[i].Name, tokens[i].Sha1}
- }
- c.JSON(200, &apiTokens)
-}
-
-// https://github.com/gogits/go-gogs-client/wiki/Users#create-a-access-token
-func CreateAccessToken(c *context.APIContext, form api.CreateAccessTokenOption) {
- t := &models.AccessToken{
- UID: c.User.ID,
- Name: form.Name,
- }
- if err := models.NewAccessToken(t); err != nil {
- c.Error(500, "NewAccessToken", err)
- return
- }
- c.JSON(201, &api.AccessToken{t.Name, t.Sha1})
-}
diff --git a/routers/api/v1/user/email.go b/routers/api/v1/user/email.go
deleted file mode 100644
index 7c527a1a..00000000
--- a/routers/api/v1/user/email.go
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2015 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 user
-
-import (
- api "github.com/gogits/go-gogs-client"
-
- "github.com/gogits/gogs/models"
- "github.com/gogits/gogs/pkg/context"
- "github.com/gogits/gogs/pkg/setting"
- "github.com/gogits/gogs/routers/api/v1/convert"
-)
-
-// https://github.com/gogits/go-gogs-client/wiki/Users-Emails#list-email-addresses-for-a-user
-func ListEmails(c *context.APIContext) {
- emails, err := models.GetEmailAddresses(c.User.ID)
- if err != nil {
- c.Error(500, "GetEmailAddresses", err)
- return
- }
- apiEmails := make([]*api.Email, len(emails))
- for i := range emails {
- apiEmails[i] = convert.ToEmail(emails[i])
- }
- c.JSON(200, &apiEmails)
-}
-
-// https://github.com/gogits/go-gogs-client/wiki/Users-Emails#add-email-addresses
-func AddEmail(c *context.APIContext, form api.CreateEmailOption) {
- if len(form.Emails) == 0 {
- c.Status(422)
- return
- }
-
- emails := make([]*models.EmailAddress, len(form.Emails))
- for i := range form.Emails {
- emails[i] = &models.EmailAddress{
- UID: c.User.ID,
- Email: form.Emails[i],
- IsActivated: !setting.Service.RegisterEmailConfirm,
- }
- }
-
- if err := models.AddEmailAddresses(emails); err != nil {
- if models.IsErrEmailAlreadyUsed(err) {
- c.Error(422, "", "Email address has been used: "+err.(models.ErrEmailAlreadyUsed).Email)
- } else {
- c.Error(500, "AddEmailAddresses", err)
- }
- return
- }
-
- apiEmails := make([]*api.Email, len(emails))
- for i := range emails {
- apiEmails[i] = convert.ToEmail(emails[i])
- }
- c.JSON(201, &apiEmails)
-}
-
-// https://github.com/gogits/go-gogs-client/wiki/Users-Emails#delete-email-addresses
-func DeleteEmail(c *context.APIContext, form api.CreateEmailOption) {
- if len(form.Emails) == 0 {
- c.Status(204)
- return
- }
-
- emails := make([]*models.EmailAddress, len(form.Emails))
- for i := range form.Emails {
- emails[i] = &models.EmailAddress{
- UID: c.User.ID,
- Email: form.Emails[i],
- }
- }
-
- if err := models.DeleteEmailAddresses(emails); err != nil {
- c.Error(500, "DeleteEmailAddresses", err)
- return
- }
- c.Status(204)
-}
diff --git a/routers/api/v1/user/follower.go b/routers/api/v1/user/follower.go
deleted file mode 100644
index 6bbd4c7e..00000000
--- a/routers/api/v1/user/follower.go
+++ /dev/null
@@ -1,120 +0,0 @@
-// Copyright 2015 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 user
-
-import (
- api "github.com/gogits/go-gogs-client"
-
- "github.com/gogits/gogs/models"
- "github.com/gogits/gogs/pkg/context"
-)
-
-func responseApiUsers(c *context.APIContext, users []*models.User) {
- apiUsers := make([]*api.User, len(users))
- for i := range users {
- apiUsers[i] = users[i].APIFormat()
- }
- c.JSON(200, &apiUsers)
-}
-
-func listUserFollowers(c *context.APIContext, u *models.User) {
- users, err := u.GetFollowers(c.QueryInt("page"))
- if err != nil {
- c.Error(500, "GetUserFollowers", err)
- return
- }
- responseApiUsers(c, users)
-}
-
-func ListMyFollowers(c *context.APIContext) {
- listUserFollowers(c, c.User)
-}
-
-// https://github.com/gogits/go-gogs-client/wiki/Users-Followers#list-followers-of-a-user
-func ListFollowers(c *context.APIContext) {
- u := GetUserByParams(c)
- if c.Written() {
- return
- }
- listUserFollowers(c, u)
-}
-
-func listUserFollowing(c *context.APIContext, u *models.User) {
- users, err := u.GetFollowing(c.QueryInt("page"))
- if err != nil {
- c.Error(500, "GetFollowing", err)
- return
- }
- responseApiUsers(c, users)
-}
-
-func ListMyFollowing(c *context.APIContext) {
- listUserFollowing(c, c.User)
-}
-
-// https://github.com/gogits/go-gogs-client/wiki/Users-Followers#list-users-followed-by-another-user
-func ListFollowing(c *context.APIContext) {
- u := GetUserByParams(c)
- if c.Written() {
- return
- }
- listUserFollowing(c, u)
-}
-
-func checkUserFollowing(c *context.APIContext, u *models.User, followID int64) {
- if u.IsFollowing(followID) {
- c.Status(204)
- } else {
- c.Status(404)
- }
-}
-
-// https://github.com/gogits/go-gogs-client/wiki/Users-Followers#check-if-you-are-following-a-user
-func CheckMyFollowing(c *context.APIContext) {
- target := GetUserByParams(c)
- if c.Written() {
- return
- }
- checkUserFollowing(c, c.User, target.ID)
-}
-
-// https://github.com/gogits/go-gogs-client/wiki/Users-Followers#check-if-one-user-follows-another
-func CheckFollowing(c *context.APIContext) {
- u := GetUserByParams(c)
- if c.Written() {
- return
- }
- target := GetUserByParamsName(c, ":target")
- if c.Written() {
- return
- }
- checkUserFollowing(c, u, target.ID)
-}
-
-// https://github.com/gogits/go-gogs-client/wiki/Users-Followers#follow-a-user
-func Follow(c *context.APIContext) {
- target := GetUserByParams(c)
- if c.Written() {
- return
- }
- if err := models.FollowUser(c.User.ID, target.ID); err != nil {
- c.Error(500, "FollowUser", err)
- return
- }
- c.Status(204)
-}
-
-// https://github.com/gogits/go-gogs-client/wiki/Users-Followers#unfollow-a-user
-func Unfollow(c *context.APIContext) {
- target := GetUserByParams(c)
- if c.Written() {
- return
- }
- if err := models.UnfollowUser(c.User.ID, target.ID); err != nil {
- c.Error(500, "UnfollowUser", err)
- return
- }
- c.Status(204)
-}
diff --git a/routers/api/v1/user/key.go b/routers/api/v1/user/key.go
deleted file mode 100644
index f0c833f5..00000000
--- a/routers/api/v1/user/key.go
+++ /dev/null
@@ -1,120 +0,0 @@
-// Copyright 2015 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 user
-
-import (
- api "github.com/gogits/go-gogs-client"
-
- "github.com/gogits/gogs/models"
- "github.com/gogits/gogs/models/errors"
- "github.com/gogits/gogs/pkg/context"
- "github.com/gogits/gogs/pkg/setting"
- "github.com/gogits/gogs/routers/api/v1/convert"
- "github.com/gogits/gogs/routers/api/v1/repo"
-)
-
-func GetUserByParamsName(c *context.APIContext, name string) *models.User {
- user, err := models.GetUserByName(c.Params(name))
- if err != nil {
- if errors.IsUserNotExist(err) {
- c.Status(404)
- } else {
- c.Error(500, "GetUserByName", err)
- }
- return nil
- }
- return user
-}
-
-// GetUserByParams returns user whose name is presented in URL paramenter.
-func GetUserByParams(c *context.APIContext) *models.User {
- return GetUserByParamsName(c, ":username")
-}
-
-func composePublicKeysAPILink() string {
- return setting.AppURL + "api/v1/user/keys/"
-}
-
-func listPublicKeys(c *context.APIContext, uid int64) {
- keys, err := models.ListPublicKeys(uid)
- if err != nil {
- c.Error(500, "ListPublicKeys", err)
- return
- }
-
- apiLink := composePublicKeysAPILink()
- apiKeys := make([]*api.PublicKey, len(keys))
- for i := range keys {
- apiKeys[i] = convert.ToPublicKey(apiLink, keys[i])
- }
-
- c.JSON(200, &apiKeys)
-}
-
-// https://github.com/gogits/go-gogs-client/wiki/Users-Public-Keys#list-your-public-keys
-func ListMyPublicKeys(c *context.APIContext) {
- listPublicKeys(c, c.User.ID)
-}
-
-// https://github.com/gogits/go-gogs-client/wiki/Users-Public-Keys#list-public-keys-for-a-user
-func ListPublicKeys(c *context.APIContext) {
- user := GetUserByParams(c)
- if c.Written() {
- return
- }
- listPublicKeys(c, user.ID)
-}
-
-// https://github.com/gogits/go-gogs-client/wiki/Users-Public-Keys#get-a-single-public-key
-func GetPublicKey(c *context.APIContext) {
- key, err := models.GetPublicKeyByID(c.ParamsInt64(":id"))
- if err != nil {
- if models.IsErrKeyNotExist(err) {
- c.Status(404)
- } else {
- c.Error(500, "GetPublicKeyByID", err)
- }
- return
- }
-
- apiLink := composePublicKeysAPILink()
- c.JSON(200, convert.ToPublicKey(apiLink, key))
-}
-
-// CreateUserPublicKey creates new public key to given user by ID.
-func CreateUserPublicKey(c *context.APIContext, form api.CreateKeyOption, uid int64) {
- content, err := models.CheckPublicKeyString(form.Key)
- if err != nil {
- repo.HandleCheckKeyStringError(c, err)
- return
- }
-
- key, err := models.AddPublicKey(uid, form.Title, content)
- if err != nil {
- repo.HandleAddKeyError(c, err)
- return
- }
- apiLink := composePublicKeysAPILink()
- c.JSON(201, convert.ToPublicKey(apiLink, key))
-}
-
-// https://github.com/gogits/go-gogs-client/wiki/Users-Public-Keys#create-a-public-key
-func CreatePublicKey(c *context.APIContext, form api.CreateKeyOption) {
- CreateUserPublicKey(c, form, c.User.ID)
-}
-
-// https://github.com/gogits/go-gogs-client/wiki/Users-Public-Keys#delete-a-public-key
-func DeletePublicKey(c *context.APIContext) {
- if err := models.DeletePublicKey(c.User, c.ParamsInt64(":id")); err != nil {
- if models.IsErrKeyAccessDenied(err) {
- c.Error(403, "", "You do not have access to this key")
- } else {
- c.Error(500, "DeletePublicKey", err)
- }
- return
- }
-
- c.Status(204)
-}
diff --git a/routers/api/v1/user/user.go b/routers/api/v1/user/user.go
deleted file mode 100644
index dbf727de..00000000
--- a/routers/api/v1/user/user.go
+++ /dev/null
@@ -1,75 +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 user
-
-import (
- "github.com/Unknwon/com"
-
- api "github.com/gogits/go-gogs-client"
-
- "github.com/gogits/gogs/models"
- "github.com/gogits/gogs/models/errors"
- "github.com/gogits/gogs/pkg/context"
-)
-
-func Search(c *context.APIContext) {
- opts := &models.SearchUserOptions{
- Keyword: c.Query("q"),
- Type: models.USER_TYPE_INDIVIDUAL,
- PageSize: com.StrTo(c.Query("limit")).MustInt(),
- }
- if opts.PageSize == 0 {
- opts.PageSize = 10
- }
-
- users, _, err := models.SearchUserByName(opts)
- if err != nil {
- c.JSON(500, map[string]interface{}{
- "ok": false,
- "error": err.Error(),
- })
- return
- }
-
- results := make([]*api.User, len(users))
- for i := range users {
- results[i] = &api.User{
- ID: users[i].ID,
- UserName: users[i].Name,
- AvatarUrl: users[i].AvatarLink(),
- FullName: users[i].FullName,
- }
- if c.IsLogged {
- results[i].Email = users[i].Email
- }
- }
-
- c.JSON(200, map[string]interface{}{
- "ok": true,
- "data": results,
- })
-}
-
-func GetInfo(c *context.APIContext) {
- u, err := models.GetUserByName(c.Params(":username"))
- if err != nil {
- if errors.IsUserNotExist(err) {
- c.Status(404)
- } else {
- c.Error(500, "GetUserByName", err)
- }
- return
- }
-
- // Hide user e-mail when API caller isn't signed in.
- if !c.IsLogged {
- u.Email = ""
- }
- c.JSON(200, u.APIFormat())
-}
-
-func GetAuthenticatedUser(c *context.APIContext) {
- c.JSON(200, c.User.APIFormat())
-}