diff --git a/app/user.go b/app/user.go index 4b07c49318..60c59047a4 100644 --- a/app/user.go +++ b/app/user.go @@ -1411,8 +1411,8 @@ func (a *App) PermanentDeleteUser(user *model.User) *model.AppError { return result.Err } - if result := <-a.Srv.Store.Webhook().PermanentDeleteIncomingByUser(user.Id); result.Err != nil { - return result.Err + if err := a.Srv.Store.Webhook().PermanentDeleteIncomingByUser(user.Id); err != nil { + return err } if result := <-a.Srv.Store.Webhook().PermanentDeleteOutgoingByUser(user.Id); result.Err != nil { diff --git a/store/sqlstore/webhook_store.go b/store/sqlstore/webhook_store.go index a2b67f063f..fd5a164ade 100644 --- a/store/sqlstore/webhook_store.go +++ b/store/sqlstore/webhook_store.go @@ -153,15 +153,14 @@ func (s SqlWebhookStore) DeleteIncoming(webhookId string, time int64) store.Stor }) } -func (s SqlWebhookStore) PermanentDeleteIncomingByUser(userId string) store.StoreChannel { - return store.Do(func(result *store.StoreResult) { - _, err := s.GetMaster().Exec("DELETE FROM IncomingWebhooks WHERE UserId = :UserId", map[string]interface{}{"UserId": userId}) - if err != nil { - result.Err = model.NewAppError("SqlWebhookStore.DeleteIncomingByUser", "store.sql_webhooks.permanent_delete_incoming_by_user.app_error", nil, "id="+userId+", err="+err.Error(), http.StatusInternalServerError) - } +func (s SqlWebhookStore) PermanentDeleteIncomingByUser(userId string) *model.AppError { + _, err := s.GetMaster().Exec("DELETE FROM IncomingWebhooks WHERE UserId = :UserId", map[string]interface{}{"UserId": userId}) + if err != nil { + return model.NewAppError("SqlWebhookStore.DeleteIncomingByUser", "store.sql_webhooks.permanent_delete_incoming_by_user.app_error", nil, "id="+userId+", err="+err.Error(), http.StatusInternalServerError) + } - s.ClearCaches() - }) + s.ClearCaches() + return nil } func (s SqlWebhookStore) PermanentDeleteIncomingByChannel(channelId string) *model.AppError { diff --git a/store/store.go b/store/store.go index f0d36d31bf..e82f290d72 100644 --- a/store/store.go +++ b/store/store.go @@ -385,7 +385,7 @@ type WebhookStore interface { GetIncomingByChannel(channelId string) ([]*model.IncomingWebhook, *model.AppError) DeleteIncoming(webhookId string, time int64) StoreChannel PermanentDeleteIncomingByChannel(channelId string) *model.AppError - PermanentDeleteIncomingByUser(userId string) StoreChannel + PermanentDeleteIncomingByUser(userId string) *model.AppError SaveOutgoing(webhook *model.OutgoingWebhook) (*model.OutgoingWebhook, *model.AppError) GetOutgoing(id string) (*model.OutgoingWebhook, *model.AppError) diff --git a/store/storetest/mocks/WebhookStore.go b/store/storetest/mocks/WebhookStore.go index 9172418aea..7258446593 100644 --- a/store/storetest/mocks/WebhookStore.go +++ b/store/storetest/mocks/WebhookStore.go @@ -293,15 +293,15 @@ func (_m *WebhookStore) PermanentDeleteIncomingByChannel(channelId string) *mode } // PermanentDeleteIncomingByUser provides a mock function with given fields: userId -func (_m *WebhookStore) PermanentDeleteIncomingByUser(userId string) store.StoreChannel { +func (_m *WebhookStore) PermanentDeleteIncomingByUser(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 f4b8c26886..ebb08f4258 100644 --- a/store/storetest/webhook_store.go +++ b/store/storetest/webhook_store.go @@ -253,8 +253,8 @@ func testWebhookStoreDeleteIncomingByUser(t *testing.T, ss store.Store) { t.Fatal("invalid returned webhook") } - if r2 := <-ss.Webhook().PermanentDeleteIncomingByUser(o1.UserId); r2.Err != nil { - t.Fatal(r2.Err) + if err = ss.Webhook().PermanentDeleteIncomingByUser(o1.UserId); err != nil { + t.Fatal(err) } if _, err = ss.Webhook().GetIncoming(o1.Id, true); err == nil {