Migrate Emoji.Delete to Sync by default (#11313)

Этот коммит содержится в:
Shobhit Gupta
2019-06-20 05:50:06 -07:00
коммит произвёл Jesús Espino
родитель bd3f72254d
Коммит 4494a56162
5 изменённых файлов: 36 добавлений и 32 удалений

Просмотреть файл

@@ -160,7 +160,7 @@ func (a *App) UploadEmojiImage(id string, imageData *multipart.FileHeader) *mode
} }
func (a *App) DeleteEmoji(emoji *model.Emoji) *model.AppError { func (a *App) DeleteEmoji(emoji *model.Emoji) *model.AppError {
if err := (<-a.Srv.Store.Emoji().Delete(emoji.Id, model.GetMillis())).Err; err != nil { if err := a.Srv.Store.Emoji().Delete(emoji.Id, model.GetMillis()); err != nil {
return err return err
} }

Просмотреть файл

@@ -163,24 +163,23 @@ func (es SqlEmojiStore) GetList(offset, limit int, sort string) store.StoreChann
}) })
} }
func (es SqlEmojiStore) Delete(id string, time int64) store.StoreChannel { func (es SqlEmojiStore) Delete(id string, time int64) *model.AppError {
return store.Do(func(result *store.StoreResult) { if sqlResult, err := es.GetMaster().Exec(
if sqlResult, err := es.GetMaster().Exec( `UPDATE
`UPDATE Emoji
Emoji SET
SET DeleteAt = :DeleteAt,
DeleteAt = :DeleteAt, UpdateAt = :UpdateAt
UpdateAt = :UpdateAt WHERE
WHERE Id = :Id
Id = :Id AND DeleteAt = 0`, map[string]interface{}{"DeleteAt": time, "UpdateAt": time, "Id": id}); err != nil {
AND DeleteAt = 0`, map[string]interface{}{"DeleteAt": time, "UpdateAt": time, "Id": id}); err != nil { return model.NewAppError("SqlEmojiStore.Delete", "store.sql_emoji.delete.app_error", nil, "id="+id+", err="+err.Error(), http.StatusInternalServerError)
result.Err = model.NewAppError("SqlEmojiStore.Delete", "store.sql_emoji.delete.app_error", nil, "id="+id+", err="+err.Error(), http.StatusInternalServerError) } else if rows, _ := sqlResult.RowsAffected(); rows == 0 {
} else if rows, _ := sqlResult.RowsAffected(); rows == 0 { return model.NewAppError("SqlEmojiStore.Delete", "store.sql_emoji.delete.no_results", nil, "id="+id+", err="+err.Error(), http.StatusBadRequest)
result.Err = model.NewAppError("SqlEmojiStore.Delete", "store.sql_emoji.delete.no_results", nil, "id="+id+", err="+err.Error(), http.StatusBadRequest) }
}
emojiCache.Remove(id) emojiCache.Remove(id)
}) return nil
} }
func (es SqlEmojiStore) Search(name string, prefixOnly bool, limit int) store.StoreChannel { func (es SqlEmojiStore) Search(name string, prefixOnly bool, limit int) store.StoreChannel {

Просмотреть файл

@@ -459,7 +459,7 @@ type EmojiStore interface {
GetByName(name string) StoreChannel GetByName(name string) StoreChannel
GetMultipleByName(names []string) StoreChannel GetMultipleByName(names []string) StoreChannel
GetList(offset, limit int, sort string) StoreChannel GetList(offset, limit int, sort string) StoreChannel
Delete(id string, time int64) StoreChannel Delete(id string, time int64) *model.AppError
Search(name string, prefixOnly bool, limit int) StoreChannel Search(name string, prefixOnly bool, limit int) StoreChannel
} }

Просмотреть файл

@@ -45,16 +45,16 @@ func testEmojiSaveDelete(t *testing.T, ss store.Store) {
t.Fatal("shouldn't be able to save emoji with duplicate name") t.Fatal("shouldn't be able to save emoji with duplicate name")
} }
if result := <-ss.Emoji().Delete(emoji1.Id, time.Now().Unix()); result.Err != nil { if err := ss.Emoji().Delete(emoji1.Id, time.Now().Unix()); err != nil {
t.Fatal(result.Err) t.Fatal(err)
} }
if _, err := ss.Emoji().Save(&emoji2); err != nil { if _, err := ss.Emoji().Save(&emoji2); err != nil {
t.Fatal("should be able to save emoji with duplicate name now that original has been deleted", err) t.Fatal("should be able to save emoji with duplicate name now that original has been deleted", err)
} }
if result := <-ss.Emoji().Delete(emoji2.Id, time.Now().Unix()+1); result.Err != nil { if err := ss.Emoji().Delete(emoji2.Id, time.Now().Unix()+1); err != nil {
t.Fatal(result.Err) t.Fatal(err)
} }
} }
@@ -81,7 +81,8 @@ func testEmojiGet(t *testing.T, ss store.Store) {
} }
defer func() { defer func() {
for _, emoji := range emojis { for _, emoji := range emojis {
store.Must(ss.Emoji().Delete(emoji.Id, time.Now().Unix())) err := ss.Emoji().Delete(emoji.Id, time.Now().Unix())
require.Nil(t, err)
} }
}() }()
@@ -127,7 +128,8 @@ func testEmojiGetByName(t *testing.T, ss store.Store) {
} }
defer func() { defer func() {
for _, emoji := range emojis { for _, emoji := range emojis {
store.Must(ss.Emoji().Delete(emoji.Id, time.Now().Unix())) err := ss.Emoji().Delete(emoji.Id, time.Now().Unix())
require.Nil(t, err)
} }
}() }()
@@ -161,7 +163,8 @@ func testEmojiGetMultipleByName(t *testing.T, ss store.Store) {
} }
defer func() { defer func() {
for _, emoji := range emojis { for _, emoji := range emojis {
store.Must(ss.Emoji().Delete(emoji.Id, time.Now().Unix())) err := ss.Emoji().Delete(emoji.Id, time.Now().Unix())
require.Nil(t, err)
} }
}() }()
@@ -221,7 +224,8 @@ func testEmojiGetList(t *testing.T, ss store.Store) {
} }
defer func() { defer func() {
for _, emoji := range emojis { for _, emoji := range emojis {
store.Must(ss.Emoji().Delete(emoji.Id, time.Now().Unix())) err := ss.Emoji().Delete(emoji.Id, time.Now().Unix())
require.Nil(t, err)
} }
}() }()
@@ -288,7 +292,8 @@ func testEmojiSearch(t *testing.T, ss store.Store) {
} }
defer func() { defer func() {
for _, emoji := range emojis { for _, emoji := range emojis {
store.Must(ss.Emoji().Delete(emoji.Id, time.Now().Unix())) err := ss.Emoji().Delete(emoji.Id, time.Now().Unix())
require.Nil(t, err)
} }
}() }()

Просмотреть файл

@@ -14,15 +14,15 @@ type EmojiStore struct {
} }
// Delete provides a mock function with given fields: id, time // Delete provides a mock function with given fields: id, time
func (_m *EmojiStore) Delete(id string, time int64) store.StoreChannel { func (_m *EmojiStore) Delete(id string, time int64) *model.AppError {
ret := _m.Called(id, time) ret := _m.Called(id, time)
var r0 store.StoreChannel var r0 *model.AppError
if rf, ok := ret.Get(0).(func(string, int64) store.StoreChannel); ok { if rf, ok := ret.Get(0).(func(string, int64) *model.AppError); ok {
r0 = rf(id, time) r0 = rf(id, time)
} else { } else {
if ret.Get(0) != nil { if ret.Get(0) != nil {
r0 = ret.Get(0).(store.StoreChannel) r0 = ret.Get(0).(*model.AppError)
} }
} }