diff options
author | Carlos Tadeu Panato Junior <ctadeu@gmail.com> | 2017-04-07 19:05:14 +0200 |
---|---|---|
committer | Corey Hulen <corey@hulen.com> | 2017-04-07 10:05:14 -0700 |
commit | 1bd19f006d11651413fe584e4fa0d953e8b12a2f (patch) | |
tree | ce1e567eb4834d8fbdafd50a4b1bfbeeade36dff /api4/emoji.go | |
parent | 08a469a00637de3768b63bccc86fe0b62f3a90bf (diff) | |
download | chat-1bd19f006d11651413fe584e4fa0d953e8b12a2f.tar.gz chat-1bd19f006d11651413fe584e4fa0d953e8b12a2f.tar.bz2 chat-1bd19f006d11651413fe584e4fa0d953e8b12a2f.zip |
implement GET /emoji for apiV4 (#6007)
Diffstat (limited to 'api4/emoji.go')
-rw-r--r-- | api4/emoji.go | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/api4/emoji.go b/api4/emoji.go index a32436b64..282d0f086 100644 --- a/api4/emoji.go +++ b/api4/emoji.go @@ -19,37 +19,33 @@ func InitEmoji() { l4g.Debug(utils.T("api.emoji.init.debug")) BaseRoutes.Emojis.Handle("", ApiSessionRequired(createEmoji)).Methods("POST") + BaseRoutes.Emojis.Handle("", ApiSessionRequired(getEmojiList)).Methods("GET") } func createEmoji(c *Context, w http.ResponseWriter, r *http.Request) { if !*utils.Cfg.ServiceSettings.EnableCustomEmoji { - c.Err = model.NewLocAppError("createEmoji", "api.emoji.disabled.app_error", nil, "") - c.Err.StatusCode = http.StatusNotImplemented + c.Err = model.NewAppError("createEmoji", "api.emoji.disabled.app_error", nil, "", http.StatusNotImplemented) return } if emojiInterface := einterfaces.GetEmojiInterface(); emojiInterface != nil && !emojiInterface.CanUserCreateEmoji(c.Session.Roles, c.Session.TeamMembers) { - c.Err = model.NewLocAppError("createEmoji", "api.emoji.create.permissions.app_error", nil, "user_id="+c.Session.UserId) - c.Err.StatusCode = http.StatusUnauthorized + c.Err = model.NewAppError("getEmoji", "api.emoji.disabled.app_error", nil, "user_id="+c.Session.UserId, http.StatusUnauthorized) return } if len(utils.Cfg.FileSettings.DriverName) == 0 { - c.Err = model.NewLocAppError("createEmoji", "api.emoji.storage.app_error", nil, "") - c.Err.StatusCode = http.StatusNotImplemented + c.Err = model.NewAppError("createEmoji", "api.emoji.storage.app_error", nil, "", http.StatusNotImplemented) return } if r.ContentLength > app.MaxEmojiFileSize { - c.Err = model.NewLocAppError("createEmoji", "api.emoji.create.too_large.app_error", nil, "") - c.Err.StatusCode = http.StatusRequestEntityTooLarge + c.Err = model.NewAppError("createEmoji", "api.emoji.create.too_large.app_error", nil, "", http.StatusRequestEntityTooLarge) return } if err := r.ParseMultipartForm(app.MaxEmojiFileSize); err != nil { - c.Err = model.NewLocAppError("createEmoji", "api.emoji.create.parse.app_error", nil, err.Error()) - c.Err.StatusCode = http.StatusBadRequest + c.Err = model.NewAppError("createEmoji", "api.emoji.create.parse.app_error", nil, err.Error(), http.StatusBadRequest) return } @@ -70,3 +66,18 @@ func createEmoji(c *Context, w http.ResponseWriter, r *http.Request) { w.Write([]byte(newEmoji.ToJson())) } } + +func getEmojiList(c *Context, w http.ResponseWriter, r *http.Request) { + if !*utils.Cfg.ServiceSettings.EnableCustomEmoji { + c.Err = model.NewAppError("getEmoji", "api.emoji.disabled.app_error", nil, "", http.StatusNotImplemented) + return + } + + listEmoji, err := app.GetEmojiList() + if err != nil { + c.Err = err + return + } else { + w.Write([]byte(model.EmojiListToJson(listEmoji))) + } +} |