Migrate Emoji.GetList to Sync by default (#11314)
Этот коммит содержится в:
коммит произвёл
Jesús Espino
родитель
453f28c05d
Коммит
a4262373e5
@@ -79,11 +79,7 @@ func (a *App) CreateEmoji(sessionUserId string, emoji *model.Emoji, multiPartIma
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) GetEmojiList(page, perPage int, sort string) ([]*model.Emoji, *model.AppError) {
|
func (a *App) GetEmojiList(page, perPage int, sort string) ([]*model.Emoji, *model.AppError) {
|
||||||
result := <-a.Srv.Store.Emoji().GetList(page*perPage, perPage, sort)
|
return a.Srv.Store.Emoji().GetList(page*perPage, perPage, sort)
|
||||||
if result.Err != nil {
|
|
||||||
return nil, result.Err
|
|
||||||
}
|
|
||||||
return result.Data.([]*model.Emoji), nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) UploadEmojiImage(id string, imageData *multipart.FileHeader) *model.AppError {
|
func (a *App) UploadEmojiImage(id string, imageData *multipart.FileHeader) *model.AppError {
|
||||||
|
|||||||
@@ -144,24 +144,21 @@ func (es SqlEmojiStore) GetMultipleByName(names []string) store.StoreChannel {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (es SqlEmojiStore) GetList(offset, limit int, sort string) store.StoreChannel {
|
func (es SqlEmojiStore) GetList(offset, limit int, sort string) ([]*model.Emoji, *model.AppError) {
|
||||||
return store.Do(func(result *store.StoreResult) {
|
var emoji []*model.Emoji
|
||||||
var emoji []*model.Emoji
|
|
||||||
|
|
||||||
query := "SELECT * FROM Emoji WHERE DeleteAt = 0"
|
query := "SELECT * FROM Emoji WHERE DeleteAt = 0"
|
||||||
|
|
||||||
if sort == model.EMOJI_SORT_BY_NAME {
|
if sort == model.EMOJI_SORT_BY_NAME {
|
||||||
query += " ORDER BY Name"
|
query += " ORDER BY Name"
|
||||||
}
|
}
|
||||||
|
|
||||||
query += " LIMIT :Limit OFFSET :Offset"
|
query += " LIMIT :Limit OFFSET :Offset"
|
||||||
|
|
||||||
if _, err := es.GetReplica().Select(&emoji, query, map[string]interface{}{"Offset": offset, "Limit": limit}); err != nil {
|
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)
|
return nil, model.NewAppError("SqlEmojiStore.GetList", "store.sql_emoji.get_all.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||||
} else {
|
}
|
||||||
result.Data = emoji
|
return emoji, nil
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (es SqlEmojiStore) Delete(id string, time int64) *model.AppError {
|
func (es SqlEmojiStore) Delete(id string, time int64) *model.AppError {
|
||||||
|
|||||||
@@ -460,7 +460,7 @@ type EmojiStore interface {
|
|||||||
Get(id string, allowFromCache bool) (*model.Emoji, *model.AppError)
|
Get(id string, allowFromCache bool) (*model.Emoji, *model.AppError)
|
||||||
GetByName(name string) (*model.Emoji, *model.AppError)
|
GetByName(name string) (*model.Emoji, *model.AppError)
|
||||||
GetMultipleByName(names []string) StoreChannel
|
GetMultipleByName(names []string) StoreChannel
|
||||||
GetList(offset, limit int, sort string) StoreChannel
|
GetList(offset, limit int, sort string) ([]*model.Emoji, *model.AppError)
|
||||||
Delete(id string, time int64) *model.AppError
|
Delete(id string, time int64) *model.AppError
|
||||||
Search(name string, prefixOnly bool, limit int) ([]*model.Emoji, *model.AppError)
|
Search(name string, prefixOnly bool, limit int) ([]*model.Emoji, *model.AppError)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -229,13 +229,13 @@ func testEmojiGetList(t *testing.T, ss store.Store) {
|
|||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
if result := <-ss.Emoji().GetList(0, 100, ""); result.Err != nil {
|
if result, err := ss.Emoji().GetList(0, 100, ""); err != nil {
|
||||||
t.Fatal(result.Err)
|
t.Fatal(err)
|
||||||
} else {
|
} else {
|
||||||
for _, emoji := range emojis {
|
for _, emoji := range emojis {
|
||||||
found := false
|
found := false
|
||||||
|
|
||||||
for _, savedEmoji := range result.Data.([]*model.Emoji) {
|
for _, savedEmoji := range result {
|
||||||
if emoji.Id == savedEmoji.Id {
|
if emoji.Id == savedEmoji.Id {
|
||||||
found = true
|
found = true
|
||||||
break
|
break
|
||||||
@@ -248,17 +248,15 @@ func testEmojiGetList(t *testing.T, ss store.Store) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
result := <-ss.Emoji().GetList(0, 3, model.EMOJI_SORT_BY_NAME)
|
remojis, err := ss.Emoji().GetList(0, 3, model.EMOJI_SORT_BY_NAME)
|
||||||
assert.Nil(t, result.Err)
|
assert.Nil(t, err)
|
||||||
remojis := result.Data.([]*model.Emoji)
|
|
||||||
assert.Equal(t, 3, len(remojis))
|
assert.Equal(t, 3, len(remojis))
|
||||||
assert.Equal(t, emojis[0].Name, remojis[0].Name)
|
assert.Equal(t, emojis[0].Name, remojis[0].Name)
|
||||||
assert.Equal(t, emojis[1].Name, remojis[1].Name)
|
assert.Equal(t, emojis[1].Name, remojis[1].Name)
|
||||||
assert.Equal(t, emojis[2].Name, remojis[2].Name)
|
assert.Equal(t, emojis[2].Name, remojis[2].Name)
|
||||||
|
|
||||||
result = <-ss.Emoji().GetList(1, 2, model.EMOJI_SORT_BY_NAME)
|
remojis, err = ss.Emoji().GetList(1, 2, model.EMOJI_SORT_BY_NAME)
|
||||||
assert.Nil(t, result.Err)
|
assert.Nil(t, err)
|
||||||
remojis = result.Data.([]*model.Emoji)
|
|
||||||
assert.Equal(t, 2, len(remojis))
|
assert.Equal(t, 2, len(remojis))
|
||||||
assert.Equal(t, emojis[1].Name, remojis[0].Name)
|
assert.Equal(t, emojis[1].Name, remojis[0].Name)
|
||||||
assert.Equal(t, emojis[2].Name, remojis[1].Name)
|
assert.Equal(t, emojis[2].Name, remojis[1].Name)
|
||||||
|
|||||||
@@ -80,19 +80,28 @@ func (_m *EmojiStore) GetByName(name string) (*model.Emoji, *model.AppError) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GetList provides a mock function with given fields: offset, limit, sort
|
// GetList provides a mock function with given fields: offset, limit, sort
|
||||||
func (_m *EmojiStore) GetList(offset int, limit int, sort string) store.StoreChannel {
|
func (_m *EmojiStore) GetList(offset int, limit int, sort string) ([]*model.Emoji, *model.AppError) {
|
||||||
ret := _m.Called(offset, limit, sort)
|
ret := _m.Called(offset, limit, sort)
|
||||||
|
|
||||||
var r0 store.StoreChannel
|
var r0 []*model.Emoji
|
||||||
if rf, ok := ret.Get(0).(func(int, int, string) store.StoreChannel); ok {
|
if rf, ok := ret.Get(0).(func(int, int, string) []*model.Emoji); ok {
|
||||||
r0 = rf(offset, limit, sort)
|
r0 = rf(offset, limit, sort)
|
||||||
} else {
|
} else {
|
||||||
if ret.Get(0) != nil {
|
if ret.Get(0) != nil {
|
||||||
r0 = ret.Get(0).(store.StoreChannel)
|
r0 = ret.Get(0).([]*model.Emoji)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return r0
|
var r1 *model.AppError
|
||||||
|
if rf, ok := ret.Get(1).(func(int, int, string) *model.AppError); ok {
|
||||||
|
r1 = rf(offset, limit, sort)
|
||||||
|
} else {
|
||||||
|
if ret.Get(1) != nil {
|
||||||
|
r1 = ret.Get(1).(*model.AppError)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return r0, r1
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetMultipleByName provides a mock function with given fields: names
|
// GetMultipleByName provides a mock function with given fields: names
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user