UserStore migration (#15563)
* Migration completed * Fix tests * Fix tests * Fix tests * Suggestions * Trigger CI * Suggestions * Merge with master * Trigger CI Co-authored-by: Mattermod <mattermod@users.noreply.github.com> Co-authored-by: Agniva De Sarker <agnivade@yahoo.co.in>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
d51d843fcd
Коммит
96f1739f8f
@@ -111,7 +111,7 @@ func (m *Mfa) Deactivate(userId string) *model.AppError {
|
||||
return err
|
||||
}
|
||||
|
||||
schan := make(chan *model.AppError, 1)
|
||||
schan := make(chan error, 1)
|
||||
go func() {
|
||||
schan <- m.Store.User().UpdateMfaSecret(userId, "")
|
||||
close(schan)
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
package mfa
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"testing"
|
||||
"time"
|
||||
@@ -42,8 +42,8 @@ func TestGenerateSecret(t *testing.T) {
|
||||
t.Run("fail on store action fail", func(t *testing.T) {
|
||||
storeMock := mocks.Store{}
|
||||
userStoreMock := mocks.UserStore{}
|
||||
userStoreMock.On("UpdateMfaSecret", user.Id, mock.AnythingOfType("string")).Return(func(userId string, secret string) *model.AppError {
|
||||
return model.NewAppError("GenerateQrCode", "mfa.generate_qr_code.save_secret.app_error", nil, "", http.StatusInternalServerError)
|
||||
userStoreMock.On("UpdateMfaSecret", user.Id, mock.AnythingOfType("string")).Return(func(userId string, secret string) error {
|
||||
return errors.New("failed to update mfa secret")
|
||||
})
|
||||
storeMock.On("User").Return(&userStoreMock)
|
||||
|
||||
@@ -56,7 +56,7 @@ func TestGenerateSecret(t *testing.T) {
|
||||
t.Run("Successful generate secret", func(t *testing.T) {
|
||||
storeMock := mocks.Store{}
|
||||
userStoreMock := mocks.UserStore{}
|
||||
userStoreMock.On("UpdateMfaSecret", user.Id, mock.AnythingOfType("string")).Return(func(userId string, secret string) *model.AppError {
|
||||
userStoreMock.On("UpdateMfaSecret", user.Id, mock.AnythingOfType("string")).Return(func(userId string, secret string) error {
|
||||
return nil
|
||||
})
|
||||
storeMock.On("User").Return(&userStoreMock)
|
||||
@@ -130,8 +130,8 @@ func TestActivate(t *testing.T) {
|
||||
t.Run("fail on store action fail", func(t *testing.T) {
|
||||
storeMock := mocks.Store{}
|
||||
userStoreMock := mocks.UserStore{}
|
||||
userStoreMock.On("UpdateMfaActive", user.Id, true).Return(func(userId string, active bool) *model.AppError {
|
||||
return model.NewAppError("Activate", "mfa.activate.save_active.app_error", nil, "", http.StatusInternalServerError)
|
||||
userStoreMock.On("UpdateMfaActive", user.Id, true).Return(func(userId string, active bool) error {
|
||||
return errors.New("failed to update mfa active")
|
||||
})
|
||||
storeMock.On("User").Return(&userStoreMock)
|
||||
|
||||
@@ -144,7 +144,7 @@ func TestActivate(t *testing.T) {
|
||||
t.Run("Successful activate", func(t *testing.T) {
|
||||
storeMock := mocks.Store{}
|
||||
userStoreMock := mocks.UserStore{}
|
||||
userStoreMock.On("UpdateMfaActive", user.Id, true).Return(func(userId string, active bool) *model.AppError {
|
||||
userStoreMock.On("UpdateMfaActive", user.Id, true).Return(func(userId string, active bool) error {
|
||||
return nil
|
||||
})
|
||||
storeMock.On("User").Return(&userStoreMock)
|
||||
@@ -177,11 +177,11 @@ func TestDeactivate(t *testing.T) {
|
||||
t.Run("fail on store UpdateMfaActive action fail", func(t *testing.T) {
|
||||
storeMock := mocks.Store{}
|
||||
userStoreMock := mocks.UserStore{}
|
||||
userStoreMock.On("UpdateMfaActive", user.Id, false).Return(func(userId string, active bool) *model.AppError {
|
||||
return model.NewAppError("Deactivate", "mfa.deactivate.save_active.app_error", nil, "", http.StatusInternalServerError)
|
||||
userStoreMock.On("UpdateMfaActive", user.Id, false).Return(func(userId string, active bool) error {
|
||||
return errors.New("failed to update mfa active")
|
||||
})
|
||||
userStoreMock.On("UpdateMfaSecret", user.Id, "").Return(func(userId string, secret string) *model.AppError {
|
||||
return model.NewAppError("Deactivate", "mfa.deactivate.save_secret.app_error", nil, "", http.StatusInternalServerError)
|
||||
userStoreMock.On("UpdateMfaSecret", user.Id, "").Return(func(userId string, secret string) error {
|
||||
return errors.New("failed to update mfa secret")
|
||||
})
|
||||
storeMock.On("User").Return(&userStoreMock)
|
||||
|
||||
@@ -194,11 +194,11 @@ func TestDeactivate(t *testing.T) {
|
||||
t.Run("fail on store UpdateMfaSecret action fail", func(t *testing.T) {
|
||||
storeMock := mocks.Store{}
|
||||
userStoreMock := mocks.UserStore{}
|
||||
userStoreMock.On("UpdateMfaActive", user.Id, false).Return(func(userId string, active bool) *model.AppError {
|
||||
userStoreMock.On("UpdateMfaActive", user.Id, false).Return(func(userId string, active bool) error {
|
||||
return nil
|
||||
})
|
||||
userStoreMock.On("UpdateMfaSecret", user.Id, "").Return(func(userId string, secret string) *model.AppError {
|
||||
return model.NewAppError("Deactivate", "mfa.deactivate.save_secret.app_error", nil, "", http.StatusInternalServerError)
|
||||
userStoreMock.On("UpdateMfaSecret", user.Id, "").Return(func(userId string, secret string) error {
|
||||
return errors.New("failed to update mfa secret")
|
||||
})
|
||||
storeMock.On("User").Return(&userStoreMock)
|
||||
|
||||
@@ -211,10 +211,10 @@ func TestDeactivate(t *testing.T) {
|
||||
t.Run("Successful deactivate", func(t *testing.T) {
|
||||
storeMock := mocks.Store{}
|
||||
userStoreMock := mocks.UserStore{}
|
||||
userStoreMock.On("UpdateMfaActive", user.Id, false).Return(func(userId string, active bool) *model.AppError {
|
||||
userStoreMock.On("UpdateMfaActive", user.Id, false).Return(func(userId string, active bool) error {
|
||||
return nil
|
||||
})
|
||||
userStoreMock.On("UpdateMfaSecret", user.Id, "").Return(func(userId string, secret string) *model.AppError {
|
||||
userStoreMock.On("UpdateMfaSecret", user.Id, "").Return(func(userId string, secret string) error {
|
||||
return nil
|
||||
})
|
||||
storeMock.On("User").Return(&userStoreMock)
|
||||
|
||||
@@ -442,7 +442,7 @@ func (worker *BleveIndexerWorker) IndexUsersBatch(progress IndexingProgress) (In
|
||||
for users == nil {
|
||||
if usersBatch, err := worker.jobServer.Store.User().GetUsersBatchForIndexing(progress.LastEntityTime, endTime, BATCH_SIZE); err != nil {
|
||||
if tries >= 10 {
|
||||
return progress, err
|
||||
return progress, model.NewAppError("IndexUsersBatch", "app.user.get_users_batch_for_indexing.get_users.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
} else {
|
||||
mlog.Warn("Failed to get users batch for indexing. Retrying.", mlog.Err(err))
|
||||
|
||||
|
||||
@@ -684,17 +684,17 @@ func (si *SlackImporter) oldImportUser(team *model.Team, user *model.User) *mode
|
||||
|
||||
user.Roles = model.SYSTEM_USER_ROLE_ID
|
||||
|
||||
ruser, err := si.store.User().Save(user)
|
||||
if err != nil {
|
||||
mlog.Error("Error saving user.", mlog.Err(err))
|
||||
ruser, nErr := si.store.User().Save(user)
|
||||
if nErr != nil {
|
||||
mlog.Error("Error saving user.", mlog.Err(nErr))
|
||||
return nil
|
||||
}
|
||||
|
||||
if _, err = si.store.User().VerifyEmail(ruser.Id, ruser.Email); err != nil {
|
||||
if _, err := si.store.User().VerifyEmail(ruser.Id, ruser.Email); err != nil {
|
||||
mlog.Error("Failed to set email verified.", mlog.Err(err))
|
||||
}
|
||||
|
||||
if err = si.actions.JoinUserToTeam(team, user, ""); err != nil {
|
||||
if err := si.actions.JoinUserToTeam(team, user, ""); err != nil {
|
||||
mlog.Error("Failed to join team when importing.", mlog.Err(err))
|
||||
}
|
||||
|
||||
|
||||
@@ -234,14 +234,14 @@ func (ts *TelemetryService) trackActivity() {
|
||||
activeUsersDailyCountChan := make(chan store.StoreResult, 1)
|
||||
go func() {
|
||||
count, err := ts.dbStore.User().AnalyticsActiveCount(DAY_MILLISECONDS, model.UserCountOptions{IncludeBotAccounts: false, IncludeDeleted: false})
|
||||
activeUsersDailyCountChan <- store.StoreResult{Data: count, Err: err}
|
||||
activeUsersDailyCountChan <- store.StoreResult{Data: count, NErr: err}
|
||||
close(activeUsersDailyCountChan)
|
||||
}()
|
||||
|
||||
activeUsersMonthlyCountChan := make(chan store.StoreResult, 1)
|
||||
go func() {
|
||||
count, err := ts.dbStore.User().AnalyticsActiveCount(MONTH_MILLISECONDS, model.UserCountOptions{IncludeBotAccounts: false, IncludeDeleted: false})
|
||||
activeUsersMonthlyCountChan <- store.StoreResult{Data: count, Err: err}
|
||||
activeUsersMonthlyCountChan <- store.StoreResult{Data: count, NErr: err}
|
||||
close(activeUsersMonthlyCountChan)
|
||||
}()
|
||||
|
||||
@@ -311,12 +311,12 @@ func (ts *TelemetryService) trackActivity() {
|
||||
outgoingWebhooksCount, _ = ts.dbStore.Webhook().AnalyticsOutgoingCount("")
|
||||
|
||||
var activeUsersDailyCount int64
|
||||
if r := <-activeUsersDailyCountChan; r.Err == nil {
|
||||
if r := <-activeUsersDailyCountChan; r.NErr == nil {
|
||||
activeUsersDailyCount = r.Data.(int64)
|
||||
}
|
||||
|
||||
var activeUsersMonthlyCount int64
|
||||
if r := <-activeUsersMonthlyCountChan; r.Err == nil {
|
||||
if r := <-activeUsersMonthlyCountChan; r.NErr == nil {
|
||||
activeUsersMonthlyCount = r.Data.(int64)
|
||||
}
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user