diff options
Diffstat (limited to 'routes/api/v1/user')
-rw-r--r-- | routes/api/v1/user/app.go | 12 | ||||
-rw-r--r-- | routes/api/v1/user/email.go | 23 | ||||
-rw-r--r-- | routes/api/v1/user/follower.go | 24 | ||||
-rw-r--r-- | routes/api/v1/user/key.go | 32 | ||||
-rw-r--r-- | routes/api/v1/user/user.go | 14 |
5 files changed, 44 insertions, 61 deletions
diff --git a/routes/api/v1/user/app.go b/routes/api/v1/user/app.go index 09ac1909..864ede54 100644 --- a/routes/api/v1/user/app.go +++ b/routes/api/v1/user/app.go @@ -5,17 +5,18 @@ package user import ( + "net/http" + api "github.com/gogs/go-gogs-client" "github.com/gogs/gogs/models" "github.com/gogs/gogs/pkg/context" ) -// https://github.com/gogs/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) + c.ServerError("ListAccessTokens", err) return } @@ -23,18 +24,17 @@ func ListAccessTokens(c *context.APIContext) { for i := range tokens { apiTokens[i] = &api.AccessToken{tokens[i].Name, tokens[i].Sha1} } - c.JSON(200, &apiTokens) + c.JSONSuccess(&apiTokens) } -// https://github.com/gogs/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) + c.ServerError("NewAccessToken", err) return } - c.JSON(201, &api.AccessToken{t.Name, t.Sha1}) + c.JSON(http.StatusCreated, &api.AccessToken{t.Name, t.Sha1}) } diff --git a/routes/api/v1/user/email.go b/routes/api/v1/user/email.go index 2e16212c..e84353a6 100644 --- a/routes/api/v1/user/email.go +++ b/routes/api/v1/user/email.go @@ -5,6 +5,8 @@ package user import ( + "net/http" + api "github.com/gogs/go-gogs-client" "github.com/gogs/gogs/models" @@ -13,24 +15,22 @@ import ( "github.com/gogs/gogs/routes/api/v1/convert" ) -// https://github.com/gogs/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) + c.ServerError("GetEmailAddresses", err) return } apiEmails := make([]*api.Email, len(emails)) for i := range emails { apiEmails[i] = convert.ToEmail(emails[i]) } - c.JSON(200, &apiEmails) + c.JSONSuccess(&apiEmails) } -// https://github.com/gogs/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) + c.Status(http.StatusUnprocessableEntity) return } @@ -45,9 +45,9 @@ func AddEmail(c *context.APIContext, form api.CreateEmailOption) { if err := models.AddEmailAddresses(emails); err != nil { if models.IsErrEmailAlreadyUsed(err) { - c.Error(422, "", "Email address has been used: "+err.(models.ErrEmailAlreadyUsed).Email) + c.Error(http.StatusUnprocessableEntity, "", "email address has been used: "+err.(models.ErrEmailAlreadyUsed).Email) } else { - c.Error(500, "AddEmailAddresses", err) + c.Error(http.StatusInternalServerError, "AddEmailAddresses", err) } return } @@ -56,13 +56,12 @@ func AddEmail(c *context.APIContext, form api.CreateEmailOption) { for i := range emails { apiEmails[i] = convert.ToEmail(emails[i]) } - c.JSON(201, &apiEmails) + c.JSON(http.StatusCreated, &apiEmails) } -// https://github.com/gogs/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) + c.NoContent() return } @@ -75,8 +74,8 @@ func DeleteEmail(c *context.APIContext, form api.CreateEmailOption) { } if err := models.DeleteEmailAddresses(emails); err != nil { - c.Error(500, "DeleteEmailAddresses", err) + c.Error(http.StatusInternalServerError, "DeleteEmailAddresses", err) return } - c.Status(204) + c.NoContent() } diff --git a/routes/api/v1/user/follower.go b/routes/api/v1/user/follower.go index 7c743025..d5464f05 100644 --- a/routes/api/v1/user/follower.go +++ b/routes/api/v1/user/follower.go @@ -16,13 +16,13 @@ func responseApiUsers(c *context.APIContext, users []*models.User) { for i := range users { apiUsers[i] = users[i].APIFormat() } - c.JSON(200, &apiUsers) + c.JSONSuccess(&apiUsers) } func listUserFollowers(c *context.APIContext, u *models.User) { users, err := u.GetFollowers(c.QueryInt("page")) if err != nil { - c.Error(500, "GetUserFollowers", err) + c.ServerError("GetUserFollowers", err) return } responseApiUsers(c, users) @@ -32,7 +32,6 @@ func ListMyFollowers(c *context.APIContext) { listUserFollowers(c, c.User) } -// https://github.com/gogs/go-gogs-client/wiki/Users-Followers#list-followers-of-a-user func ListFollowers(c *context.APIContext) { u := GetUserByParams(c) if c.Written() { @@ -44,7 +43,7 @@ func ListFollowers(c *context.APIContext) { func listUserFollowing(c *context.APIContext, u *models.User) { users, err := u.GetFollowing(c.QueryInt("page")) if err != nil { - c.Error(500, "GetFollowing", err) + c.ServerError("GetFollowing", err) return } responseApiUsers(c, users) @@ -54,7 +53,6 @@ func ListMyFollowing(c *context.APIContext) { listUserFollowing(c, c.User) } -// https://github.com/gogs/go-gogs-client/wiki/Users-Followers#list-users-followed-by-another-user func ListFollowing(c *context.APIContext) { u := GetUserByParams(c) if c.Written() { @@ -65,13 +63,12 @@ func ListFollowing(c *context.APIContext) { func checkUserFollowing(c *context.APIContext, u *models.User, followID int64) { if u.IsFollowing(followID) { - c.Status(204) + c.NotFound() } else { - c.Status(404) + c.NotFound() } } -// https://github.com/gogs/go-gogs-client/wiki/Users-Followers#check-if-you-are-following-a-user func CheckMyFollowing(c *context.APIContext) { target := GetUserByParams(c) if c.Written() { @@ -80,7 +77,6 @@ func CheckMyFollowing(c *context.APIContext) { checkUserFollowing(c, c.User, target.ID) } -// https://github.com/gogs/go-gogs-client/wiki/Users-Followers#check-if-one-user-follows-another func CheckFollowing(c *context.APIContext) { u := GetUserByParams(c) if c.Written() { @@ -93,28 +89,26 @@ func CheckFollowing(c *context.APIContext) { checkUserFollowing(c, u, target.ID) } -// https://github.com/gogs/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) + c.ServerError("FollowUser", err) return } - c.Status(204) + c.NoContent() } -// https://github.com/gogs/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) + c.ServerError("UnfollowUser", err) return } - c.Status(204) + c.NoContent() } diff --git a/routes/api/v1/user/key.go b/routes/api/v1/user/key.go index 97188861..46e4df66 100644 --- a/routes/api/v1/user/key.go +++ b/routes/api/v1/user/key.go @@ -6,6 +6,7 @@ package user import ( api "github.com/gogs/go-gogs-client" + "net/http" "github.com/gogs/gogs/models" "github.com/gogs/gogs/models/errors" @@ -18,11 +19,7 @@ import ( 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) - } + c.NotFoundOrServerError("GetUserByName", errors.IsUserNotExist, err) return nil } return user @@ -40,7 +37,7 @@ func composePublicKeysAPILink() string { func listPublicKeys(c *context.APIContext, uid int64) { keys, err := models.ListPublicKeys(uid) if err != nil { - c.Error(500, "ListPublicKeys", err) + c.ServerError("ListPublicKeys", err) return } @@ -50,15 +47,13 @@ func listPublicKeys(c *context.APIContext, uid int64) { apiKeys[i] = convert.ToPublicKey(apiLink, keys[i]) } - c.JSON(200, &apiKeys) + c.JSONSuccess(&apiKeys) } -// https://github.com/gogs/go-gogs-client/wiki/Users-Public-Keys#list-your-public-keys func ListMyPublicKeys(c *context.APIContext) { listPublicKeys(c, c.User.ID) } -// https://github.com/gogs/go-gogs-client/wiki/Users-Public-Keys#list-public-keys-for-a-user func ListPublicKeys(c *context.APIContext) { user := GetUserByParams(c) if c.Written() { @@ -67,20 +62,15 @@ func ListPublicKeys(c *context.APIContext) { listPublicKeys(c, user.ID) } -// https://github.com/gogs/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) - } + c.NotFoundOrServerError("GetPublicKeyByID", models.IsErrKeyNotExist, err) return } apiLink := composePublicKeysAPILink() - c.JSON(200, convert.ToPublicKey(apiLink, key)) + c.JSONSuccess(convert.ToPublicKey(apiLink, key)) } // CreateUserPublicKey creates new public key to given user by ID. @@ -97,24 +87,22 @@ func CreateUserPublicKey(c *context.APIContext, form api.CreateKeyOption, uid in return } apiLink := composePublicKeysAPILink() - c.JSON(201, convert.ToPublicKey(apiLink, key)) + c.JSON(http.StatusCreated, convert.ToPublicKey(apiLink, key)) } -// https://github.com/gogs/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/gogs/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") + c.Error(http.StatusForbidden, "", "you do not have access to this key") } else { - c.Error(500, "DeletePublicKey", err) + c.Error(http.StatusInternalServerError, "DeletePublicKey", err) } return } - c.Status(204) + c.NoContent() } diff --git a/routes/api/v1/user/user.go b/routes/api/v1/user/user.go index b2af271b..9a5cbb5c 100644 --- a/routes/api/v1/user/user.go +++ b/routes/api/v1/user/user.go @@ -5,6 +5,8 @@ package user import ( + "net/http" + "github.com/Unknwon/com" api "github.com/gogs/go-gogs-client" @@ -27,7 +29,7 @@ func Search(c *context.APIContext) { users, _, err := models.SearchUserByName(opts) if err != nil { - c.JSON(500, map[string]interface{}{ + c.JSON(http.StatusInternalServerError, map[string]interface{}{ "ok": false, "error": err.Error(), }) @@ -47,7 +49,7 @@ func Search(c *context.APIContext) { } } - c.JSON(200, map[string]interface{}{ + c.JSONSuccess(map[string]interface{}{ "ok": true, "data": results, }) @@ -57,9 +59,9 @@ func GetInfo(c *context.APIContext) { u, err := models.GetUserByName(c.Params(":username")) if err != nil { if errors.IsUserNotExist(err) { - c.Status(404) + c.NotFound() } else { - c.Error(500, "GetUserByName", err) + c.ServerError("GetUserByName", err) } return } @@ -68,9 +70,9 @@ func GetInfo(c *context.APIContext) { if !c.IsLogged { u.Email = "" } - c.JSON(200, u.APIFormat()) + c.JSONSuccess(u.APIFormat()) } func GetAuthenticatedUser(c *context.APIContext) { - c.JSON(200, c.User.APIFormat()) + c.JSONSuccess(c.User.APIFormat()) } |