Migrate Emoji.Delete to Sync by default (#11313)
Этот коммит содержится в:
коммит произвёл
Jesús Espino
родитель
bd3f72254d
Коммит
4494a56162
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user