diff --git a/app/plugin_key_value_store.go b/app/plugin_key_value_store.go index 01e582a316..5927dd212b 100644 --- a/app/plugin_key_value_store.go +++ b/app/plugin_key_value_store.go @@ -103,9 +103,9 @@ func (a *App) DeletePluginKey(pluginId string, key string) *model.AppError { } func (a *App) DeleteAllKeysForPlugin(pluginId string) *model.AppError { - if result := <-a.Srv.Store.Plugin().DeleteAllForPlugin(pluginId); result.Err != nil { - mlog.Error("Failed to delete all plugin key values", mlog.String("plugin_id", pluginId), mlog.Err(result.Err)) - return result.Err + if err := a.Srv.Store.Plugin().DeleteAllForPlugin(pluginId); err != nil { + mlog.Error("Failed to delete all plugin key values", mlog.String("plugin_id", pluginId), mlog.Err(err)) + return err } return nil diff --git a/store/sqlstore/plugin_store.go b/store/sqlstore/plugin_store.go index 96ff63d3ca..00f78395ab 100644 --- a/store/sqlstore/plugin_store.go +++ b/store/sqlstore/plugin_store.go @@ -134,14 +134,11 @@ func (ps SqlPluginStore) Delete(pluginId, key string) store.StoreChannel { }) } -func (ps SqlPluginStore) DeleteAllForPlugin(pluginId string) store.StoreChannel { - return store.Do(func(result *store.StoreResult) { - if _, err := ps.GetMaster().Exec("DELETE FROM PluginKeyValueStore WHERE PluginId = :PluginId", map[string]interface{}{"PluginId": pluginId}); err != nil { - result.Err = model.NewAppError("SqlPluginStore.Delete", "store.sql_plugin_store.delete.app_error", nil, fmt.Sprintf("plugin_id=%v, err=%v", pluginId, err.Error()), http.StatusInternalServerError) - } else { - result.Data = true - } - }) +func (ps SqlPluginStore) DeleteAllForPlugin(pluginId string) *model.AppError { + if _, err := ps.GetMaster().Exec("DELETE FROM PluginKeyValueStore WHERE PluginId = :PluginId", map[string]interface{}{"PluginId": pluginId}); err != nil { + return model.NewAppError("SqlPluginStore.Delete", "store.sql_plugin_store.delete.app_error", nil, fmt.Sprintf("plugin_id=%v, err=%v", pluginId, err.Error()), http.StatusInternalServerError) + } + return nil } func (ps SqlPluginStore) DeleteAllExpired() *model.AppError { diff --git a/store/store.go b/store/store.go index deb7394a5b..d28548bd25 100644 --- a/store/store.go +++ b/store/store.go @@ -539,7 +539,7 @@ type PluginStore interface { CompareAndSet(keyVal *model.PluginKeyValue, oldValue []byte) (bool, *model.AppError) Get(pluginId, key string) (*model.PluginKeyValue, *model.AppError) Delete(pluginId, key string) StoreChannel - DeleteAllForPlugin(PluginId string) StoreChannel + DeleteAllForPlugin(PluginId string) *model.AppError DeleteAllExpired() *model.AppError List(pluginId string, page, perPage int) ([]string, *model.AppError) } diff --git a/store/storetest/mocks/PluginStore.go b/store/storetest/mocks/PluginStore.go index 9919721071..6e952c493e 100644 --- a/store/storetest/mocks/PluginStore.go +++ b/store/storetest/mocks/PluginStore.go @@ -69,15 +69,15 @@ func (_m *PluginStore) DeleteAllExpired() *model.AppError { } // DeleteAllForPlugin provides a mock function with given fields: PluginId -func (_m *PluginStore) DeleteAllForPlugin(PluginId string) store.StoreChannel { +func (_m *PluginStore) DeleteAllForPlugin(PluginId string) *model.AppError { ret := _m.Called(PluginId) - var r0 store.StoreChannel - if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok { + var r0 *model.AppError + if rf, ok := ret.Get(0).(func(string) *model.AppError); ok { r0 = rf(PluginId) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(store.StoreChannel) + r0 = ret.Get(0).(*model.AppError) } } diff --git a/store/storetest/plugin_store.go b/store/storetest/plugin_store.go index 56ced4a91c..1ff393eac8 100644 --- a/store/storetest/plugin_store.go +++ b/store/storetest/plugin_store.go @@ -136,8 +136,8 @@ func testPluginDeleteAll(t *testing.T, ss store.Store) { }) require.Nil(t, err) - if result := <-ss.Plugin().DeleteAllForPlugin(pluginId); result.Err != nil { - t.Fatal(result.Err) + if err := ss.Plugin().DeleteAllForPlugin(pluginId); err != nil { + t.Fatal(err) } if _, err := ss.Plugin().Get(pluginId, kv.Key); err == nil {