diff options
author | Joram Wilander <jwawilander@gmail.com> | 2018-01-19 09:37:59 -0500 |
---|---|---|
committer | Harrison Healey <harrisonmhealey@gmail.com> | 2018-01-19 09:37:59 -0500 |
commit | a8445775351c32f8a12081f60bda2099571b2758 (patch) | |
tree | bf5a6aace4bb5f4356d9103fbe1d68468e88ea22 /store/sqlstore | |
parent | 9d6a9ff4be15f673e8364a984ccc2b2c3a465b73 (diff) | |
download | chat-a8445775351c32f8a12081f60bda2099571b2758.tar.gz chat-a8445775351c32f8a12081f60bda2099571b2758.tar.bz2 chat-a8445775351c32f8a12081f60bda2099571b2758.zip |
Add sort query parameter to GET /emojis (#8121)
Diffstat (limited to 'store/sqlstore')
-rw-r--r-- | store/sqlstore/emoji_store.go | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/store/sqlstore/emoji_store.go b/store/sqlstore/emoji_store.go index 9ef071f02..734190dbb 100644 --- a/store/sqlstore/emoji_store.go +++ b/store/sqlstore/emoji_store.go @@ -123,18 +123,19 @@ func (es SqlEmojiStore) GetByName(name string) store.StoreChannel { }) } -func (es SqlEmojiStore) GetList(offset, limit int) store.StoreChannel { +func (es SqlEmojiStore) GetList(offset, limit int, sort string) store.StoreChannel { return store.Do(func(result *store.StoreResult) { var emoji []*model.Emoji - if _, err := es.GetReplica().Select(&emoji, - `SELECT - * - FROM - Emoji - WHERE - DeleteAt = 0 - LIMIT :Limit OFFSET :Offset`, map[string]interface{}{"Offset": offset, "Limit": limit}); err != nil { + query := "SELECT * FROM Emoji WHERE DeleteAt = 0" + + if sort == model.EMOJI_SORT_BY_NAME { + query += " ORDER BY Name" + } + + query += " LIMIT :Limit OFFSET :Offset" + + if _, err := es.GetReplica().Select(&emoji, query, map[string]interface{}{"Offset": offset, "Limit": limit}); err != nil { result.Err = model.NewAppError("SqlEmojiStore.GetList", "store.sql_emoji.get_all.app_error", nil, err.Error(), http.StatusInternalServerError) } else { result.Data = emoji |