From 77ed6015fdf21a2a9784f45b7ef1dced5bb8de5d Mon Sep 17 00:00:00 2001 From: Deepak Sah Date: Thu, 27 Jun 2019 16:44:17 +0530 Subject: [PATCH] [MM-16513] Migrate Token.Delete to Sync by default (#11365) * Made changes to TokenStore interface, Delete() * Modified user.go * Refactored app/user.go --- app/user.go | 6 +----- store/sqlstore/tokens_store.go | 11 +++++------ store/store.go | 2 +- store/storetest/mocks/TokenStore.go | 8 ++++---- 4 files changed, 11 insertions(+), 16 deletions(-) diff --git a/app/user.go b/app/user.go index 6dc705fe93..e40decf37c 100644 --- a/app/user.go +++ b/app/user.go @@ -1360,11 +1360,7 @@ func (a *App) GetPasswordRecoveryToken(token string) (*model.Token, *model.AppEr } func (a *App) DeleteToken(token *model.Token) *model.AppError { - if result := <-a.Srv.Store.Token().Delete(token.Token); result.Err != nil { - return result.Err - } - - return nil + return a.Srv.Store.Token().Delete(token.Token) } func (a *App) UpdateUserRoles(userId string, newRoles string, sendWebSocketEvent bool) (*model.User, *model.AppError) { diff --git a/store/sqlstore/tokens_store.go b/store/sqlstore/tokens_store.go index 42c9fbb467..c13bef44f4 100644 --- a/store/sqlstore/tokens_store.go +++ b/store/sqlstore/tokens_store.go @@ -43,12 +43,11 @@ func (s SqlTokenStore) Save(token *model.Token) *model.AppError { return nil } -func (s SqlTokenStore) Delete(token string) store.StoreChannel { - return store.Do(func(result *store.StoreResult) { - if _, err := s.GetMaster().Exec("DELETE FROM Tokens WHERE Token = :Token", map[string]interface{}{"Token": token}); err != nil { - result.Err = model.NewAppError("SqlTokenStore.Delete", "store.sql_recover.delete.app_error", nil, "", http.StatusInternalServerError) - } - }) +func (s SqlTokenStore) Delete(token string) *model.AppError { + if _, err := s.GetMaster().Exec("DELETE FROM Tokens WHERE Token = :Token", map[string]interface{}{"Token": token}); err != nil { + return model.NewAppError("SqlTokenStore.Delete", "store.sql_recover.delete.app_error", nil, "", http.StatusInternalServerError) + } + return nil } func (s SqlTokenStore) GetByToken(tokenString string) (*model.Token, *model.AppError) { diff --git a/store/store.go b/store/store.go index af5f5bce9f..aa2f4c0ee0 100644 --- a/store/store.go +++ b/store/store.go @@ -450,7 +450,7 @@ type LicenseStore interface { type TokenStore interface { Save(recovery *model.Token) *model.AppError - Delete(token string) StoreChannel + Delete(token string) *model.AppError GetByToken(token string) (*model.Token, *model.AppError) Cleanup() RemoveAllTokensByType(tokenType string) StoreChannel diff --git a/store/storetest/mocks/TokenStore.go b/store/storetest/mocks/TokenStore.go index 266d989cef..a58b66013c 100644 --- a/store/storetest/mocks/TokenStore.go +++ b/store/storetest/mocks/TokenStore.go @@ -19,15 +19,15 @@ func (_m *TokenStore) Cleanup() { } // Delete provides a mock function with given fields: token -func (_m *TokenStore) Delete(token string) store.StoreChannel { +func (_m *TokenStore) Delete(token string) *model.AppError { ret := _m.Called(token) - 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(token) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(store.StoreChannel) + r0 = ret.Get(0).(*model.AppError) } }