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 {
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
}

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

@@ -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 {
return store.Do(func(result *store.StoreResult) {
if sqlResult, err := es.GetMaster().Exec(
`UPDATE
Emoji
SET
DeleteAt = :DeleteAt,
UpdateAt = :UpdateAt
WHERE
Id = :Id
AND DeleteAt = 0`, map[string]interface{}{"DeleteAt": time, "UpdateAt": time, "Id": id}); err != nil {
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 {
result.Err = model.NewAppError("SqlEmojiStore.Delete", "store.sql_emoji.delete.no_results", nil, "id="+id+", err="+err.Error(), http.StatusBadRequest)
}
func (es SqlEmojiStore) Delete(id string, time int64) *model.AppError {
if sqlResult, err := es.GetMaster().Exec(
`UPDATE
Emoji
SET
DeleteAt = :DeleteAt,
UpdateAt = :UpdateAt
WHERE
Id = :Id
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)
} 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)
}
emojiCache.Remove(id)
})
emojiCache.Remove(id)
return nil
}
func (es SqlEmojiStore) Search(name string, prefixOnly bool, limit int) store.StoreChannel {

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

@@ -459,7 +459,7 @@ type EmojiStore interface {
GetByName(name string) StoreChannel
GetMultipleByName(names []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
}

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

@@ -45,16 +45,16 @@ func testEmojiSaveDelete(t *testing.T, ss store.Store) {
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 {
t.Fatal(result.Err)
if err := ss.Emoji().Delete(emoji1.Id, time.Now().Unix()); err != nil {
t.Fatal(err)
}
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)
}
if result := <-ss.Emoji().Delete(emoji2.Id, time.Now().Unix()+1); result.Err != nil {
t.Fatal(result.Err)
if err := ss.Emoji().Delete(emoji2.Id, time.Now().Unix()+1); err != nil {
t.Fatal(err)
}
}
@@ -81,7 +81,8 @@ func testEmojiGet(t *testing.T, ss store.Store) {
}
defer func() {
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() {
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() {
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() {
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() {
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
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)
var r0 store.StoreChannel
if rf, ok := ret.Get(0).(func(string, int64) store.StoreChannel); ok {
var r0 *model.AppError
if rf, ok := ret.Get(0).(func(string, int64) *model.AppError); ok {
r0 = rf(id, time)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(store.StoreChannel)
r0 = ret.Get(0).(*model.AppError)
}
}