mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
GH-11465 Migrate User.UpdateMfaSecret to Sync by default (#11496)
* GH-11465 Migrate User.UpdateMfaSecret to Sync by default * GH-11465 make mfa call async * GH-11465 return *model.AppError directly
This commit is contained in:
committed by
Joram Wilander
parent
eea8df75b0
commit
b55b9a3d97
@@ -70,8 +70,8 @@ func (m *Mfa) GenerateSecret(user *model.User) (string, []byte, *model.AppError)
|
||||
|
||||
img := code.PNG()
|
||||
|
||||
if result := <-m.Store.User().UpdateMfaSecret(user.Id, secret); result.Err != nil {
|
||||
return "", nil, model.NewAppError("GenerateQrCode", "mfa.generate_qr_code.save_secret.app_error", nil, result.Err.Error(), http.StatusInternalServerError)
|
||||
if err := m.Store.User().UpdateMfaSecret(user.Id, secret); err != nil {
|
||||
return "", nil, model.NewAppError("GenerateQrCode", "mfa.generate_qr_code.save_secret.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
return secret, img, nil
|
||||
@@ -112,14 +112,18 @@ func (m *Mfa) Deactivate(userId string) *model.AppError {
|
||||
}
|
||||
|
||||
achan := m.Store.User().UpdateMfaActive(userId, false)
|
||||
schan := m.Store.User().UpdateMfaSecret(userId, "")
|
||||
schan := make(chan *model.AppError, 1)
|
||||
go func() {
|
||||
schan <- m.Store.User().UpdateMfaSecret(userId, "")
|
||||
close(schan)
|
||||
}()
|
||||
|
||||
if result := <-achan; result.Err != nil {
|
||||
return model.NewAppError("Deactivate", "mfa.deactivate.save_active.app_error", nil, result.Err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
if result := <-schan; result.Err != nil {
|
||||
return model.NewAppError("Deactivate", "mfa.deactivate.save_secret.app_error", nil, result.Err.Error(), http.StatusInternalServerError)
|
||||
if err := <-schan; err != nil {
|
||||
return model.NewAppError("Deactivate", "mfa.deactivate.save_secret.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
@@ -9,7 +9,6 @@ import (
|
||||
|
||||
"github.com/mattermost/mattermost-server/model"
|
||||
"github.com/mattermost/mattermost-server/plugin/plugintest/mock"
|
||||
"github.com/mattermost/mattermost-server/store"
|
||||
"github.com/mattermost/mattermost-server/store/storetest/mocks"
|
||||
"github.com/mattermost/mattermost-server/utils/testutils"
|
||||
|
||||
@@ -26,11 +25,8 @@ func TestGenerateSecret(t *testing.T) {
|
||||
configService := testutils.StaticConfigService{Cfg: &config}
|
||||
storeMock := mocks.Store{}
|
||||
userStoreMock := mocks.UserStore{}
|
||||
userStoreMock.On("UpdateMfaSecret", user.Id, mock.AnythingOfType("string")).Return(func(userId string, secret string) store.StoreChannel {
|
||||
return store.Do(func(result *store.StoreResult) {
|
||||
result.Data = nil
|
||||
result.Err = nil
|
||||
})
|
||||
userStoreMock.On("UpdateMfaSecret", user.Id, mock.AnythingOfType("string")).Return(func(userId string, secret string) *model.AppError {
|
||||
return nil
|
||||
})
|
||||
storeMock.On("User").Return(&userStoreMock)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user