From 214e9d2ae09fa2a544eca2822a69ce5bee20ad07 Mon Sep 17 00:00:00 2001 From: Puneeth Reddy <45575072+therealpuneeth20@users.noreply.github.com> Date: Fri, 26 Apr 2019 22:45:02 -0700 Subject: [PATCH] MM-15188: Migrate the "WebHook.PermanentDeleteOutgoingByUser" to Sync by default (#10709) --- app/user.go | 4 ++-- store/sqlstore/webhook_store.go | 14 +++++++------- store/store.go | 2 +- store/storetest/mocks/WebhookStore.go | 8 ++++---- store/storetest/webhook_store.go | 4 ++-- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/app/user.go b/app/user.go index 66398e7fd2..9c1e7f6ee8 100644 --- a/app/user.go +++ b/app/user.go @@ -1414,8 +1414,8 @@ func (a *App) PermanentDeleteUser(user *model.User) *model.AppError { return err } - if result := <-a.Srv.Store.Webhook().PermanentDeleteOutgoingByUser(user.Id); result.Err != nil { - return result.Err + if err := a.Srv.Store.Webhook().PermanentDeleteOutgoingByUser(user.Id); err != nil { + return err } if result := <-a.Srv.Store.Command().PermanentDeleteByUser(user.Id); result.Err != nil { diff --git a/store/sqlstore/webhook_store.go b/store/sqlstore/webhook_store.go index b42a842f43..899ff3dfeb 100644 --- a/store/sqlstore/webhook_store.go +++ b/store/sqlstore/webhook_store.go @@ -288,13 +288,13 @@ func (s SqlWebhookStore) DeleteOutgoing(webhookId string, time int64) *model.App return nil } -func (s SqlWebhookStore) PermanentDeleteOutgoingByUser(userId string) store.StoreChannel { - return store.Do(func(result *store.StoreResult) { - _, err := s.GetMaster().Exec("DELETE FROM OutgoingWebhooks WHERE CreatorId = :UserId", map[string]interface{}{"UserId": userId}) - if err != nil { - result.Err = model.NewAppError("SqlWebhookStore.DeleteOutgoingByUser", "store.sql_webhooks.permanent_delete_outgoing_by_user.app_error", nil, "id="+userId+", err="+err.Error(), http.StatusInternalServerError) - } - }) +func (s SqlWebhookStore) PermanentDeleteOutgoingByUser(userId string) *model.AppError { + _, err := s.GetMaster().Exec("DELETE FROM OutgoingWebhooks WHERE CreatorId = :UserId", map[string]interface{}{"UserId": userId}) + if err != nil { + return model.NewAppError("SqlWebhookStore.DeleteOutgoingByUser", "store.sql_webhooks.permanent_delete_outgoing_by_user.app_error", nil, "id="+userId+", err="+err.Error(), http.StatusInternalServerError) + } + + return nil } func (s SqlWebhookStore) PermanentDeleteOutgoingByChannel(channelId string) *model.AppError { diff --git a/store/store.go b/store/store.go index 15097d3e97..59b7140387 100644 --- a/store/store.go +++ b/store/store.go @@ -394,7 +394,7 @@ type WebhookStore interface { GetOutgoingByTeam(teamId string, offset, limit int) ([]*model.OutgoingWebhook, *model.AppError) DeleteOutgoing(webhookId string, time int64) *model.AppError PermanentDeleteOutgoingByChannel(channelId string) *model.AppError - PermanentDeleteOutgoingByUser(userId string) StoreChannel + PermanentDeleteOutgoingByUser(userId string) *model.AppError UpdateOutgoing(hook *model.OutgoingWebhook) (*model.OutgoingWebhook, *model.AppError) AnalyticsIncomingCount(teamId string) (int64, *model.AppError) diff --git a/store/storetest/mocks/WebhookStore.go b/store/storetest/mocks/WebhookStore.go index 8c1d52d584..a51d30fa25 100644 --- a/store/storetest/mocks/WebhookStore.go +++ b/store/storetest/mocks/WebhookStore.go @@ -334,15 +334,15 @@ func (_m *WebhookStore) PermanentDeleteOutgoingByChannel(channelId string) *mode } // PermanentDeleteOutgoingByUser provides a mock function with given fields: userId -func (_m *WebhookStore) PermanentDeleteOutgoingByUser(userId string) store.StoreChannel { +func (_m *WebhookStore) PermanentDeleteOutgoingByUser(userId string) *model.AppError { ret := _m.Called(userId) - 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(userId) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(store.StoreChannel) + r0 = ret.Get(0).(*model.AppError) } } diff --git a/store/storetest/webhook_store.go b/store/storetest/webhook_store.go index 8e0d1c4947..ca9138d1e9 100644 --- a/store/storetest/webhook_store.go +++ b/store/storetest/webhook_store.go @@ -477,8 +477,8 @@ func testWebhookStoreDeleteOutgoingByUser(t *testing.T, ss store.Store) { t.Fatal("invalid returned webhook") } - if r2 := <-ss.Webhook().PermanentDeleteOutgoingByUser(o1.CreatorId); r2.Err != nil { - t.Fatal(r2.Err) + if err := ss.Webhook().PermanentDeleteOutgoingByUser(o1.CreatorId); err != nil { + t.Fatal(err) } if _, err := ss.Webhook().GetOutgoing(o1.Id); err == nil {