From 1bd19f006d11651413fe584e4fa0d953e8b12a2f Mon Sep 17 00:00:00 2001 From: Carlos Tadeu Panato Junior Date: Fri, 7 Apr 2017 19:05:14 +0200 Subject: implement GET /emoji for apiV4 (#6007) --- api4/emoji.go | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) (limited to 'api4/emoji.go') 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))) + } +} -- cgit v1.2.3-1-g7c22