diff --git a/server/channels/api4/ldap_test.go b/server/channels/api4/ldap_test.go index 46623ec686..150fe413ac 100644 --- a/server/channels/api4/ldap_test.go +++ b/server/channels/api4/ldap_test.go @@ -303,7 +303,7 @@ func TestAddUserToGroupSyncables(t *testing.T) { AuthData: &id, AuthService: model.UserAuthServiceLdap, } - user, err = th.App.Srv().Store().User().Save(user) + user, err = th.App.Srv().Store().User().Save(th.Context, user) require.NoError(t, err) resp, err = th.SystemAdminClient.AddUserToGroupSyncables(context.Background(), user.Id) diff --git a/server/channels/app/app_iface.go b/server/channels/app/app_iface.go index b042cd8056..c9608c4e37 100644 --- a/server/channels/app/app_iface.go +++ b/server/channels/app/app_iface.go @@ -475,7 +475,7 @@ type AppIface interface { CheckIntegrity() <-chan model.IntegrityCheckResult CheckMandatoryS3Fields(settings *model.FileSettings) *model.AppError CheckPasswordAndAllCriteria(rctx request.CTX, user *model.User, password string, mfaToken string) *model.AppError - CheckPostReminders() + CheckPostReminders(rctx request.CTX) CheckRolesExist(roleNames []string) *model.AppError CheckUserAllAuthenticationCriteria(rctx request.CTX, user *model.User, mfaToken string) *model.AppError CheckUserMfa(rctx request.CTX, user *model.User, token string) *model.AppError @@ -811,7 +811,7 @@ type AppIface interface { GetSiteURL() string GetStatus(userID string) (*model.Status, *model.AppError) GetStatusFromCache(userID string) *model.Status - GetSystemBot() (*model.Bot, *model.AppError) + GetSystemBot(rctx request.CTX) (*model.Bot, *model.AppError) GetTeam(teamID string) (*model.Team, *model.AppError) GetTeamByInviteId(inviteId string) (*model.Team, *model.AppError) GetTeamByName(name string) (*model.Team, *model.AppError) @@ -883,7 +883,7 @@ type AppIface interface { GetUsersWithoutTeamPage(options *model.UserGetOptions, asAdmin bool) ([]*model.User, *model.AppError) GetVerifyEmailToken(token string) (*model.Token, *model.AppError) GetViewUsersRestrictions(c request.CTX, userID string) (*model.ViewUsersRestrictions, *model.AppError) - GetWarnMetricsBot() (*model.Bot, *model.AppError) + GetWarnMetricsBot(rctx request.CTX) (*model.Bot, *model.AppError) GetWarnMetricsStatus(rctx request.CTX) (map[string]*model.WarnMetricStatus, *model.AppError) HTTPService() httpservice.HTTPService HandleCommandResponse(c request.CTX, command *model.Command, args *model.CommandArgs, response *model.CommandResponse, builtIn bool) (*model.CommandResponse, *model.AppError) diff --git a/server/channels/app/bot.go b/server/channels/app/bot.go index f8d4fae514..e5019c87b4 100644 --- a/server/channels/app/bot.go +++ b/server/channels/app/bot.go @@ -95,7 +95,7 @@ func (a *App) CreateBot(c request.CTX, bot *model.Bot) (*model.Bot, *model.AppEr return nil, vErr } - user, nErr := a.Srv().Store().User().Save(model.UserFromBot(bot)) + user, nErr := a.Srv().Store().User().Save(c, model.UserFromBot(bot)) if nErr != nil { var appErr *model.AppError var invErr *store.ErrInvalidInput @@ -160,7 +160,7 @@ func (a *App) CreateBot(c request.CTX, bot *model.Bot) (*model.Bot, *model.AppEr return savedBot, nil } -func (a *App) GetWarnMetricsBot() (*model.Bot, *model.AppError) { +func (a *App) GetWarnMetricsBot(rctx request.CTX) (*model.Bot, *model.AppError) { perPage := 1 userOptions := &model.UserGetOptions{ Page: 0, @@ -186,10 +186,10 @@ func (a *App) GetWarnMetricsBot() (*model.Bot, *model.AppError) { OwnerId: sysAdminList[0].Id, } - return a.getOrCreateBot(warnMetricsBot) + return a.getOrCreateBot(rctx, warnMetricsBot) } -func (a *App) GetSystemBot() (*model.Bot, *model.AppError) { +func (a *App) GetSystemBot(rctx request.CTX) (*model.Bot, *model.AppError) { perPage := 1 userOptions := &model.UserGetOptions{ Page: 0, @@ -215,10 +215,10 @@ func (a *App) GetSystemBot() (*model.Bot, *model.AppError) { OwnerId: sysAdminList[0].Id, } - return a.getOrCreateBot(systemBot) + return a.getOrCreateBot(rctx, systemBot) } -func (a *App) getOrCreateBot(botDef *model.Bot) (*model.Bot, *model.AppError) { +func (a *App) getOrCreateBot(rctx request.CTX, botDef *model.Bot) (*model.Bot, *model.AppError) { botUser, appErr := a.GetUserByUsername(botDef.Username) if appErr != nil { if appErr.StatusCode != http.StatusNotFound { @@ -226,7 +226,7 @@ func (a *App) getOrCreateBot(botDef *model.Bot) (*model.Bot, *model.AppError) { } // cannot find this bot user, save the user - user, nErr := a.Srv().Store().User().Save(model.UserFromBot(botDef)) + user, nErr := a.Srv().Store().User().Save(rctx, model.UserFromBot(botDef)) if nErr != nil { var appError *model.AppError var invErr *store.ErrInvalidInput diff --git a/server/channels/app/bot_test.go b/server/channels/app/bot_test.go index 869ebd72bc..35cda5b70a 100644 --- a/server/channels/app/bot_test.go +++ b/server/channels/app/bot_test.go @@ -768,7 +768,7 @@ func TestGetSystemBot(t *testing.T) { require.Nil(t, th.App.PermanentDeleteAllUsers(th.Context)) - _, err := th.App.GetSystemBot() + _, err := th.App.GetSystemBot(th.Context) require.NotNil(t, err) require.Equal(t, "app.bot.get_system_bot.empty_admin_list.app_error", err.Id) }) @@ -781,7 +781,7 @@ func TestGetSystemBot(t *testing.T) { _, err := th.App.GetUserByUsername(model.BotSystemBotUsername) require.NotNil(t, err) - bot, err := th.App.GetSystemBot() + bot, err := th.App.GetSystemBot(th.Context) require.Nil(t, err) require.Equal(t, bot.Username, model.BotSystemBotUsername) }) @@ -792,7 +792,7 @@ func TestGetSystemBot(t *testing.T) { require.Nil(t, err) require.True(t, botUser.IsBot) - bot, err := th.App.GetSystemBot() + bot, err := th.App.GetSystemBot(th.Context) require.Nil(t, err) require.Equal(t, bot.Username, model.BotSystemBotUsername) require.Equal(t, bot.UserId, botUser.Id) diff --git a/server/channels/app/channel.go b/server/channels/app/channel.go index 71d2566cb7..0b187ef10b 100644 --- a/server/channels/app/channel.go +++ b/server/channels/app/channel.go @@ -723,7 +723,7 @@ func (a *App) postChannelPrivacyMessage(c request.CTX, user *model.User, channel authorId = user.Id authorUsername = user.Username } else { - systemBot, err := a.GetSystemBot() + systemBot, err := a.GetSystemBot(c) if err != nil { return model.NewAppError("postChannelPrivacyMessage", "api.channel.post_channel_privacy_message.error", nil, "", http.StatusInternalServerError).Wrap(err) } @@ -801,7 +801,7 @@ func (a *App) RestoreChannel(c request.CTX, channel *model.Channel, userID strin } } else { a.Srv().Go(func() { - systemBot, err := a.GetSystemBot() + systemBot, err := a.GetSystemBot(c) if err != nil { c.Logger().Error("Failed to post unarchive message", mlog.Err(err)) return @@ -1447,7 +1447,7 @@ func (a *App) DeleteChannel(c request.CTX, channel *model.Channel, userID string c.Logger().Warn("Failed to post archive message", mlog.Err(err)) } } else { - systemBot, err := a.GetSystemBot() + systemBot, err := a.GetSystemBot(c) if err != nil { c.Logger().Warn("Failed to post archive message", mlog.Err(err)) } else { @@ -2446,7 +2446,7 @@ func (a *App) postAddToTeamMessage(c request.CTX, user *model.User, addedUser *m func (a *App) postRemoveFromChannelMessage(c request.CTX, removerUserId string, removedUser *model.User, channel *model.Channel) *model.AppError { messageUserId := removerUserId if messageUserId == "" { - systemBot, err := a.GetSystemBot() + systemBot, err := a.GetSystemBot(c) if err != nil { return model.NewAppError("postRemoveFromChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, "", http.StatusInternalServerError).Wrap(err) } diff --git a/server/channels/app/email/helper_test.go b/server/channels/app/email/helper_test.go index e0f7c8bc36..801189c034 100644 --- a/server/channels/app/email/helper_test.go +++ b/server/channels/app/email/helper_test.go @@ -252,11 +252,11 @@ func (th *TestHelper) CreateUserOrGuest(guest bool) *model.User { var err error if guest { - if user, err = th.service.userService.CreateUser(user, users.UserCreateOptions{Guest: true}); err != nil { + if user, err = th.service.userService.CreateUser(th.Context, user, users.UserCreateOptions{Guest: true}); err != nil { panic(err) } } else { - if user, err = th.service.userService.CreateUser(user, users.UserCreateOptions{}); err != nil { + if user, err = th.service.userService.CreateUser(th.Context, user, users.UserCreateOptions{}); err != nil { panic(err) } } diff --git a/server/channels/app/import_functions.go b/server/channels/app/import_functions.go index afead813c5..d54b3e3fdf 100644 --- a/server/channels/app/import_functions.go +++ b/server/channels/app/import_functions.go @@ -540,7 +540,7 @@ func (a *App) importUser(rctx request.CTX, data *imports.UserImportData, dryRun var savedUser *model.User var err error if user.Id == "" { - if savedUser, err = a.ch.srv.userService.CreateUser(user, users.UserCreateOptions{FromImport: true}); err != nil { + if savedUser, err = a.ch.srv.userService.CreateUser(rctx, user, users.UserCreateOptions{FromImport: true}); err != nil { var appErr *model.AppError var invErr *store.ErrInvalidInput switch { diff --git a/server/channels/app/notify_admin.go b/server/channels/app/notify_admin.go index f476aff686..3c6a533abe 100644 --- a/server/channels/app/notify_admin.go +++ b/server/channels/app/notify_admin.go @@ -98,7 +98,7 @@ func (a *App) SendNotifyAdminPosts(c request.CTX, workspaceName string, currentS return appErr } - systemBot, appErr := a.GetSystemBot() + systemBot, appErr := a.GetSystemBot(c) if appErr != nil { return appErr } diff --git a/server/channels/app/notify_admin_test.go b/server/channels/app/notify_admin_test.go index 890c8ae82a..fd15d2b936 100644 --- a/server/channels/app/notify_admin_test.go +++ b/server/channels/app/notify_admin_test.go @@ -61,7 +61,7 @@ func Test_SendNotifyAdminPosts(t *testing.T) { appErr = th.App.SendNotifyAdminPosts(th.Context, "test", "", false) require.Nil(t, appErr) - bot, appErr := th.App.GetSystemBot() + bot, appErr := th.App.GetSystemBot(th.Context) require.Nil(t, appErr) // message sending is async, wait time for it @@ -108,7 +108,7 @@ func Test_SendNotifyAdminPosts(t *testing.T) { appErr = th.App.SendNotifyAdminPosts(th.Context, "test", "", true) require.Nil(t, appErr) - bot, appErr := th.App.GetSystemBot() + bot, appErr := th.App.GetSystemBot(th.Context) require.Nil(t, appErr) // message sending is async, wait time for it @@ -153,7 +153,7 @@ func Test_SendNotifyAdminPosts(t *testing.T) { appErr = th.App.SendNotifyAdminPosts(th.Context, "", "", false) require.Nil(t, appErr) - bot, appErr := th.App.GetSystemBot() + bot, appErr := th.App.GetSystemBot(th.Context) require.Nil(t, appErr) var channel *model.Channel @@ -197,7 +197,7 @@ func Test_SendNotifyAdminPosts(t *testing.T) { appErr = th.App.SendNotifyAdminPosts(th.Context, "", "", false) require.Nil(t, appErr) - bot, appErr := th.App.GetSystemBot() + bot, appErr := th.App.GetSystemBot(th.Context) require.Nil(t, appErr) var channel *model.Channel @@ -342,7 +342,7 @@ func Test_SendNotifyAdminPosts(t *testing.T) { appErr = th.App.SendNotifyAdminPosts(th.Context, "test", model.LicenseShortSkuProfessional, false) // try and send notification but workspace currentSKU has since changed to cloud-professional require.Nil(t, appErr) - bot, appErr := th.App.GetSystemBot() + bot, appErr := th.App.GetSystemBot(th.Context) require.Nil(t, appErr) // message sending is async, wait time for it @@ -402,7 +402,7 @@ func Test_SendNotifyAdminPosts(t *testing.T) { appErr = th.App.SendNotifyAdminPosts(th.Context, "test", "", false) require.Nil(t, appErr) - bot, appErr := th.App.GetSystemBot() + bot, appErr := th.App.GetSystemBot(th.Context) require.Nil(t, appErr) var channel *model.Channel diff --git a/server/channels/app/opentracing/opentracing_layer.go b/server/channels/app/opentracing/opentracing_layer.go index be7b144fe3..aa7d0188e3 100644 --- a/server/channels/app/opentracing/opentracing_layer.go +++ b/server/channels/app/opentracing/opentracing_layer.go @@ -1279,7 +1279,7 @@ func (a *OpenTracingAppLayer) CheckPasswordAndAllCriteria(rctx request.CTX, user return resultVar0 } -func (a *OpenTracingAppLayer) CheckPostReminders() { +func (a *OpenTracingAppLayer) CheckPostReminders(rctx request.CTX) { origCtx := a.ctx span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.CheckPostReminders") @@ -1291,7 +1291,7 @@ func (a *OpenTracingAppLayer) CheckPostReminders() { }() defer span.Finish() - a.app.CheckPostReminders() + a.app.CheckPostReminders(rctx) } func (a *OpenTracingAppLayer) CheckProviderAttributes(c request.CTX, user *model.User, patch *model.UserPatch) string { @@ -9734,7 +9734,7 @@ func (a *OpenTracingAppLayer) GetSuggestions(c request.CTX, commandArgs *model.C return resultVar0 } -func (a *OpenTracingAppLayer) GetSystemBot() (*model.Bot, *model.AppError) { +func (a *OpenTracingAppLayer) GetSystemBot(rctx request.CTX) (*model.Bot, *model.AppError) { origCtx := a.ctx span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.GetSystemBot") @@ -9746,7 +9746,7 @@ func (a *OpenTracingAppLayer) GetSystemBot() (*model.Bot, *model.AppError) { }() defer span.Finish() - resultVar0, resultVar1 := a.app.GetSystemBot() + resultVar0, resultVar1 := a.app.GetSystemBot(rctx) if resultVar1 != nil { span.LogFields(spanlog.Error(resultVar1)) @@ -11391,7 +11391,7 @@ func (a *OpenTracingAppLayer) GetViewUsersRestrictions(c request.CTX, userID str return resultVar0, resultVar1 } -func (a *OpenTracingAppLayer) GetWarnMetricsBot() (*model.Bot, *model.AppError) { +func (a *OpenTracingAppLayer) GetWarnMetricsBot(rctx request.CTX) (*model.Bot, *model.AppError) { origCtx := a.ctx span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.GetWarnMetricsBot") @@ -11403,7 +11403,7 @@ func (a *OpenTracingAppLayer) GetWarnMetricsBot() (*model.Bot, *model.AppError) }() defer span.Finish() - resultVar0, resultVar1 := a.app.GetWarnMetricsBot() + resultVar0, resultVar1 := a.app.GetWarnMetricsBot(rctx) if resultVar1 != nil { span.LogFields(spanlog.Error(resultVar1)) diff --git a/server/channels/app/platform/helper_test.go b/server/channels/app/platform/helper_test.go index bf118b4286..87d2d612ab 100644 --- a/server/channels/app/platform/helper_test.go +++ b/server/channels/app/platform/helper_test.go @@ -231,7 +231,7 @@ func (th *TestHelper) CreateUserOrGuest(guest bool) *model.User { } var err error - user, err = th.Service.Store.User().Save(user) + user, err = th.Service.Store.User().Save(th.Context, user) if err != nil { panic(err) } @@ -252,7 +252,7 @@ func (th *TestHelper) CreateAdmin() *model.User { } var err error - user, err = th.Service.Store.User().Save(user) + user, err = th.Service.Store.User().Save(th.Context, user) if err != nil { panic(err) } diff --git a/server/channels/app/post.go b/server/channels/app/post.go index f9feec935c..c52846d4f9 100644 --- a/server/channels/app/post.go +++ b/server/channels/app/post.go @@ -2157,8 +2157,8 @@ func (a *App) SetPostReminder(postID, userID string, targetTime int64) *model.Ap return nil } -func (a *App) CheckPostReminders() { - systemBot, appErr := a.GetSystemBot() +func (a *App) CheckPostReminders(rctx request.CTX) { + systemBot, appErr := a.GetSystemBot(rctx) if appErr != nil { mlog.Error("Failed to get system bot", mlog.Err(appErr)) return diff --git a/server/channels/app/report.go b/server/channels/app/report.go index ab8894de5b..8027826053 100644 --- a/server/channels/app/report.go +++ b/server/channels/app/report.go @@ -95,7 +95,7 @@ func (a *App) SendReportToUser(rctx request.CTX, job *model.Job, format string) return model.NewAppError("SendReportToUser", "app.report.send_report_to_user.missing_date_range", nil, "", http.StatusInternalServerError) } - systemBot, err := a.GetSystemBot() + systemBot, err := a.GetSystemBot(rctx) if err != nil { return err } @@ -238,7 +238,7 @@ func (a *App) StartUsersBatchExport(rctx request.CTX, dateRange string, startAt } a.Srv().Go(func() { - systemBot, err := a.GetSystemBot() + systemBot, err := a.GetSystemBot(rctx) if err != nil { rctx.Logger().Error("Failed to get the system bot", mlog.Err(err)) return diff --git a/server/channels/app/server.go b/server/channels/app/server.go index af98a1e7c7..b248ee5452 100644 --- a/server/channels/app/server.go +++ b/server/channels/app/server.go @@ -1786,15 +1786,19 @@ func runDNDStatusExpireJob(a *App) { func runPostReminderJob(a *App) { if a.IsLeader() { + rctx := request.EmptyContext(a.Log()) withMut(&a.ch.postReminderMut, func() { - a.ch.postReminderTask = model.CreateRecurringTaskFromNextIntervalTime("Check Post reminders", a.CheckPostReminders, 5*time.Minute) + fn := func() { a.CheckPostReminders(rctx) } + a.ch.postReminderTask = model.CreateRecurringTaskFromNextIntervalTime("Check Post reminders", fn, 5*time.Minute) }) } a.ch.srv.AddClusterLeaderChangedListener(func() { mlog.Info("Cluster leader changed. Determining if post reminder task should be running", mlog.Bool("isLeader", a.IsLeader())) if a.IsLeader() { + rctx := request.EmptyContext(a.Log()) withMut(&a.ch.postReminderMut, func() { - a.ch.postReminderTask = model.CreateRecurringTaskFromNextIntervalTime("Check Post reminders", a.CheckPostReminders, 5*time.Minute) + fn := func() { a.CheckPostReminders(rctx) } + a.ch.postReminderTask = model.CreateRecurringTaskFromNextIntervalTime("Check Post reminders", fn, 5*time.Minute) }) } else { cancelTask(&a.ch.postReminderMut, &a.ch.postReminderTask) diff --git a/server/channels/app/teams/helper_test.go b/server/channels/app/teams/helper_test.go index 88b6549489..09d22e5e8b 100644 --- a/server/channels/app/teams/helper_test.go +++ b/server/channels/app/teams/helper_test.go @@ -113,7 +113,7 @@ func (th *TestHelper) UpdateConfig(f func(*model.Config)) { func (th *TestHelper) CreateUser(u *model.User) *model.User { u.EmailVerified = true - user, err := th.dbStore.User().Save(u) + user, err := th.dbStore.User().Save(th.Context, u) if err != nil { panic(err) } diff --git a/server/channels/app/user.go b/server/channels/app/user.go index afc9e5d1e1..22018ef8f4 100644 --- a/server/channels/app/user.go +++ b/server/channels/app/user.go @@ -235,7 +235,7 @@ func (a *App) createUserOrGuest(c request.CTX, user *model.User, guest bool) (*m return nil, err } - ruser, nErr := a.ch.srv.userService.CreateUser(user, users.UserCreateOptions{Guest: guest}) + ruser, nErr := a.ch.srv.userService.CreateUser(c, user, users.UserCreateOptions{Guest: guest}) if nErr != nil { var appErr *model.AppError var invErr *store.ErrInvalidInput diff --git a/server/channels/app/user_test.go b/server/channels/app/user_test.go index 4bd85ee224..569c5e3081 100644 --- a/server/channels/app/user_test.go +++ b/server/channels/app/user_test.go @@ -499,13 +499,13 @@ func TestCreateUserConflict(t *testing.T) { Email: "test@localhost", Username: model.NewId(), } - user, err := th.App.Srv().Store().User().Save(user) + user, err := th.App.Srv().Store().User().Save(th.Context, user) require.NoError(t, err) username := user.Username var invErr *store.ErrInvalidInput // Same id - _, err = th.App.Srv().Store().User().Save(user) + _, err = th.App.Srv().Store().User().Save(th.Context, user) require.Error(t, err) require.True(t, errors.As(err, &invErr)) assert.Equal(t, "id", invErr.Field) @@ -515,7 +515,7 @@ func TestCreateUserConflict(t *testing.T) { Email: "test@localhost", Username: model.NewId(), } - _, err = th.App.Srv().Store().User().Save(user) + _, err = th.App.Srv().Store().User().Save(th.Context, user) require.Error(t, err) require.True(t, errors.As(err, &invErr)) assert.Equal(t, "email", invErr.Field) @@ -525,7 +525,7 @@ func TestCreateUserConflict(t *testing.T) { Email: "test2@localhost", Username: username, } - _, err = th.App.Srv().Store().User().Save(user) + _, err = th.App.Srv().Store().User().Save(th.Context, user) require.Error(t, err) require.True(t, errors.As(err, &invErr)) assert.Equal(t, "username", invErr.Field) @@ -568,7 +568,7 @@ func TestUpdateUserEmail(t *testing.T) { Username: model.NewId(), IsBot: true, } - _, nErr := th.App.Srv().Store().User().Save(&botuser) + _, nErr := th.App.Srv().Store().User().Save(th.Context, &botuser) assert.NoError(t, nErr) newBotEmail := th.MakeEmail() @@ -611,7 +611,7 @@ func TestUpdateUserEmail(t *testing.T) { Username: model.NewId(), IsBot: true, } - _, nErr := th.App.Srv().Store().User().Save(&botuser) + _, nErr := th.App.Srv().Store().User().Save(th.Context, &botuser) assert.NoError(t, nErr) newBotEmail := th.MakeEmail() diff --git a/server/channels/app/users/helper_test.go b/server/channels/app/users/helper_test.go index 0a6eff3830..6af1875937 100644 --- a/server/channels/app/users/helper_test.go +++ b/server/channels/app/users/helper_test.go @@ -124,11 +124,11 @@ func (th *TestHelper) CreateUserOrGuest(guest bool) *model.User { var err error if guest { - if user, err = th.service.CreateUser(user, UserCreateOptions{Guest: true}); err != nil { + if user, err = th.service.CreateUser(th.Context, user, UserCreateOptions{Guest: true}); err != nil { panic(err) } } else { - if user, err = th.service.CreateUser(user, UserCreateOptions{}); err != nil { + if user, err = th.service.CreateUser(th.Context, user, UserCreateOptions{}); err != nil { panic(err) } } diff --git a/server/channels/app/users/users.go b/server/channels/app/users/users.go index 85f58630ee..4e38ffdaf0 100644 --- a/server/channels/app/users/users.go +++ b/server/channels/app/users/users.go @@ -24,9 +24,9 @@ type UserCreateOptions struct { } // CreateUser creates a user -func (us *UserService) CreateUser(user *model.User, opts UserCreateOptions) (*model.User, error) { +func (us *UserService) CreateUser(rctx request.CTX, user *model.User, opts UserCreateOptions) (*model.User, error) { if opts.FromImport { - return us.createUser(user) + return us.createUser(rctx, user) } user.Roles = model.SystemUserRoleId @@ -54,17 +54,17 @@ func (us *UserService) CreateUser(user *model.User, opts UserCreateOptions) (*mo user.Locale = *us.config().LocalizationSettings.DefaultClientLocale } - return us.createUser(user) + return us.createUser(rctx, user) } -func (us *UserService) createUser(user *model.User) (*model.User, error) { +func (us *UserService) createUser(rctx request.CTX, user *model.User) (*model.User, error) { user.MakeNonNil() if err := us.isPasswordValid(user.Password); user.AuthService == "" && err != nil { return nil, err } - ruser, err := us.store.Save(user) + ruser, err := us.store.Save(rctx, user) if err != nil { return nil, err } diff --git a/server/channels/app/users/users_test.go b/server/channels/app/users/users_test.go index cdc5b5f66a..64ebb274d0 100644 --- a/server/channels/app/users/users_test.go +++ b/server/channels/app/users/users_test.go @@ -36,7 +36,7 @@ func TestFirstUserPromoted(t *testing.T) { th := Setup(t) defer th.TearDown() - user, err := th.service.CreateUser(&model.User{ + user, err := th.service.CreateUser(th.Context, &model.User{ Username: model.NewId(), Password: model.NewId(), Email: "user@example.com", @@ -46,7 +46,7 @@ func TestFirstUserPromoted(t *testing.T) { require.Equal(t, model.SystemAdminRoleId+" "+model.SystemUserRoleId, user.Roles) - user2, err := th.service.CreateUser(&model.User{ + user2, err := th.service.CreateUser(th.Context, &model.User{ Username: model.NewId(), Password: model.NewId(), Email: "user2@example.com", @@ -67,7 +67,7 @@ func TestFirstUserPromoted(t *testing.T) { _, err = th.dbStore.Bot().Save(b) require.NoError(t, err) - user3, err := th.service.CreateUser(&model.User{ + user3, err := th.service.CreateUser(th.Context, &model.User{ Username: model.NewId(), Password: model.NewId(), Email: "user3@example.com", @@ -77,7 +77,7 @@ func TestFirstUserPromoted(t *testing.T) { require.Equal(t, model.SystemAdminRoleId+" "+model.SystemUserRoleId, user3.Roles) - user4, err := th.service.CreateUser(&model.User{ + user4, err := th.service.CreateUser(th.Context, &model.User{ Username: model.NewId(), Password: model.NewId(), Email: "user4@example.com", diff --git a/server/channels/store/opentracinglayer/opentracinglayer.go b/server/channels/store/opentracinglayer/opentracinglayer.go index 578d1df16d..f7667be18c 100644 --- a/server/channels/store/opentracinglayer/opentracinglayer.go +++ b/server/channels/store/opentracinglayer/opentracinglayer.go @@ -12206,7 +12206,7 @@ func (s *OpenTracingLayerUserStore) ResetLastPictureUpdate(userID string) error return err } -func (s *OpenTracingLayerUserStore) Save(user *model.User) (*model.User, error) { +func (s *OpenTracingLayerUserStore) Save(rctx request.CTX, user *model.User) (*model.User, error) { origCtx := s.Root.Store.Context() span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "UserStore.Save") s.Root.Store.SetContext(newCtx) @@ -12215,7 +12215,7 @@ func (s *OpenTracingLayerUserStore) Save(user *model.User) (*model.User, error) }() defer span.Finish() - result, err := s.UserStore.Save(user) + result, err := s.UserStore.Save(rctx, user) if err != nil { span.LogFields(spanlog.Error(err)) ext.Error.Set(span, true) diff --git a/server/channels/store/retrylayer/retrylayer.go b/server/channels/store/retrylayer/retrylayer.go index a710fa58ca..67198bd230 100644 --- a/server/channels/store/retrylayer/retrylayer.go +++ b/server/channels/store/retrylayer/retrylayer.go @@ -13925,11 +13925,11 @@ func (s *RetryLayerUserStore) ResetLastPictureUpdate(userID string) error { } -func (s *RetryLayerUserStore) Save(user *model.User) (*model.User, error) { +func (s *RetryLayerUserStore) Save(rctx request.CTX, user *model.User) (*model.User, error) { tries := 0 for { - result, err := s.UserStore.Save(user) + result, err := s.UserStore.Save(rctx, user) if err == nil { return result, nil } diff --git a/server/channels/store/searchlayer/user_layer.go b/server/channels/store/searchlayer/user_layer.go index 4dee4b35eb..b234a43727 100644 --- a/server/channels/store/searchlayer/user_layer.go +++ b/server/channels/store/searchlayer/user_layer.go @@ -81,11 +81,8 @@ func (s *SearchUserStore) Update(rctx request.CTX, user *model.User, trustedUpda return userUpdate, err } -func (s *SearchUserStore) Save(user *model.User) (*model.User, error) { - // TODO: Use the actuall request context from the App layer - // https://mattermost.atlassian.net/browse/MM-55737 - rctx := request.EmptyContext(s.rootStore.Logger()) - nuser, err := s.UserStore.Save(user) +func (s *SearchUserStore) Save(rctx request.CTX, user *model.User) (*model.User, error) { + nuser, err := s.UserStore.Save(rctx, user) if err == nil { s.rootStore.indexUser(rctx, nuser) diff --git a/server/channels/store/searchtest/helper.go b/server/channels/store/searchtest/helper.go index d0f88af496..cce62ae3b0 100644 --- a/server/channels/store/searchtest/helper.go +++ b/server/channels/store/searchtest/helper.go @@ -169,7 +169,7 @@ func (th *SearchTestHelper) makeEmail() string { } func (th *SearchTestHelper) createUser(username, nickname, firstName, lastName string) (*model.User, error) { - return th.Store.User().Save(&model.User{ + return th.Store.User().Save(th.Context, &model.User{ Username: username, Password: username, Nickname: nickname, @@ -180,7 +180,7 @@ func (th *SearchTestHelper) createUser(username, nickname, firstName, lastName s } func (th *SearchTestHelper) createGuest(username, nickname, firstName, lastName string) (*model.User, error) { - return th.Store.User().Save(&model.User{ + return th.Store.User().Save(th.Context, &model.User{ Username: username, Password: username, Nickname: nickname, @@ -225,7 +225,7 @@ func (th *SearchTestHelper) createBot(username, displayName, ownerID string) (*m OwnerId: ownerID, } - user, err := th.Store.User().Save(model.UserFromBot(botModel)) + user, err := th.Store.User().Save(th.Context, model.UserFromBot(botModel)) if err != nil { return nil, errors.New(err.Error()) } diff --git a/server/channels/store/sqlstore/integrity_test.go b/server/channels/store/sqlstore/integrity_test.go index 57620016b1..b4b22f251a 100644 --- a/server/channels/store/sqlstore/integrity_test.go +++ b/server/channels/store/sqlstore/integrity_test.go @@ -361,11 +361,11 @@ func createTeamWithSchemeId(ss store.Store, schemeId *string) *model.Team { return t } -func createUser(ss store.Store) *model.User { +func createUser(rctx request.CTX, ss store.Store) *model.User { m := model.User{} m.Username = model.NewId() m.Email = m.Username + "@example.com" - user, _ := ss.User().Save(&m) + user, _ := ss.User().Save(rctx, &m) return user } @@ -453,7 +453,7 @@ func TestCheckChannelsChannelMemberHistoryIntegrity(t *testing.T) { t.Run("should generate a report with one record", func(t *testing.T) { channel := createChannel(ss, model.NewId(), model.NewId()) - user := createUser(ss) + user := createUser(rctx, ss) cmh := createChannelMemberHistory(ss, channel.Id, user.Id) dbmap.Exec(`DELETE FROM Channels Where Id=?`, channel.Id) @@ -819,8 +819,8 @@ func TestCheckTeamsChannelsIntegrity(t *testing.T) { t.Run("should not include direct channel with empty teamid", func(t *testing.T) { channel := createChannelWithTeamId(ss, model.NewId()) - userA := createUser(ss) - userB := createUser(ss) + userA := createUser(rctx, ss) + userB := createUser(rctx, ss) direct, err := ss.Channel().CreateDirectChannel(rctx, userA, userB) require.NoError(t, err) require.NotNil(t, direct) @@ -840,8 +840,8 @@ func TestCheckTeamsChannelsIntegrity(t *testing.T) { t.Run("should include direct channel with non empty teamid", func(t *testing.T) { channel := createChannelWithTeamId(ss, model.NewId()) - userA := createUser(ss) - userB := createUser(ss) + userA := createUser(rctx, ss) + userB := createUser(rctx, ss) direct, err := ss.Channel().CreateDirectChannel(rctx, userA, userB) require.NoError(t, err) require.NotNil(t, direct) @@ -993,7 +993,7 @@ func TestCheckUsersAuditsIntegrity(t *testing.T) { }) t.Run("should generate a report with one record", func(t *testing.T) { - user := createUser(ss) + user := createUser(rctx, ss) userId := user.Id audit := createAudit(ss, userId, model.NewId()) dbmap.Exec(`DELETE FROM Users WHERE Id=?`, user.Id) @@ -1078,7 +1078,7 @@ func TestCheckUsersChannelMemberHistoryIntegrity(t *testing.T) { }) t.Run("should generate a report with one record", func(t *testing.T) { - user := createUser(ss) + user := createUser(rctx, ss) channel := createChannel(ss, model.NewId(), model.NewId()) cmh := createChannelMemberHistory(ss, channel.Id, user.Id) dbmap.Exec(`DELETE FROM Users WHERE Id=?`, user.Id) @@ -1108,7 +1108,7 @@ func TestCheckUsersChannelMembersIntegrity(t *testing.T) { }) t.Run("should generate a report with one record", func(t *testing.T) { - user := createUser(ss) + user := createUser(rctx, ss) channel := createChannelWithCreatorId(ss, user.Id) member := createChannelMember(rctx, ss, channel.Id, user.Id) dbmap.Exec(`DELETE FROM Users WHERE Id=?`, user.Id) @@ -1166,7 +1166,7 @@ func TestCheckUsersCompliancesIntegrity(t *testing.T) { }) t.Run("should generate a report with one record", func(t *testing.T) { - user := createUser(ss) + user := createUser(rctx, ss) userId := user.Id compliance := createCompliance(ss, userId) dbmap.Exec(`DELETE FROM Users WHERE Id=?`, user.Id) @@ -1196,7 +1196,7 @@ func TestCheckUsersEmojiIntegrity(t *testing.T) { }) t.Run("should generate a report with one record", func(t *testing.T) { - user := createUser(ss) + user := createUser(rctx, ss) userId := user.Id emoji := createEmoji(ss, userId) dbmap.Exec(`DELETE FROM Users WHERE Id=?`, user.Id) @@ -1226,7 +1226,7 @@ func TestCheckUsersFileInfoIntegrity(t *testing.T) { }) t.Run("should generate a report with one record", func(t *testing.T) { - user := createUser(ss) + user := createUser(rctx, ss) userId := user.Id info := createFileInfo(rctx, ss, model.NewId(), model.NewId(), userId) dbmap.Exec(`DELETE FROM Users WHERE Id=?`, user.Id) @@ -1284,7 +1284,7 @@ func TestCheckUsersOAuthAccessDataIntegrity(t *testing.T) { }) t.Run("should generate a report with one record", func(t *testing.T) { - user := createUser(ss) + user := createUser(rctx, ss) userId := user.Id ad := createOAuthAccessData(ss, userId) dbmap.Exec(`DELETE FROM Users WHERE Id=?`, user.Id) @@ -1314,7 +1314,7 @@ func TestCheckUsersOAuthAppsIntegrity(t *testing.T) { }) t.Run("should generate a report with one record", func(t *testing.T) { - user := createUser(ss) + user := createUser(rctx, ss) userId := user.Id app := createOAuthApp(ss, userId) dbmap.Exec(`DELETE FROM Users WHERE Id=?`, user.Id) @@ -1344,7 +1344,7 @@ func TestCheckUsersOAuthAuthDataIntegrity(t *testing.T) { }) t.Run("should generate a report with one record", func(t *testing.T) { - user := createUser(ss) + user := createUser(rctx, ss) userId := user.Id ad := createOAuthAuthData(ss, userId) dbmap.Exec(`DELETE FROM Users WHERE Id=?`, user.Id) @@ -1429,7 +1429,7 @@ func TestCheckUsersPreferencesIntegrity(t *testing.T) { }) t.Run("should generate a report with no records", func(t *testing.T) { - user := createUser(ss) + user := createUser(rctx, ss) require.NotNil(t, user) userId := user.Id preferences := createPreferences(ss, userId) @@ -1443,7 +1443,7 @@ func TestCheckUsersPreferencesIntegrity(t *testing.T) { }) t.Run("should generate a report with one record", func(t *testing.T) { - user := createUser(ss) + user := createUser(rctx, ss) require.NotNil(t, user) userId := user.Id preferences := createPreferences(ss, userId) @@ -1475,7 +1475,7 @@ func TestCheckUsersReactionsIntegrity(t *testing.T) { }) t.Run("should generate a report with one record", func(t *testing.T) { - user := createUser(ss) + user := createUser(rctx, ss) userId := user.Id reaction := createReaction(ss, user.Id, model.NewId()) dbmap.Exec(`DELETE FROM Users WHERE Id=?`, user.Id) @@ -1532,7 +1532,7 @@ func TestCheckUsersStatusIntegrity(t *testing.T) { }) t.Run("should generate a report with one record", func(t *testing.T) { - user := createUser(ss) + user := createUser(rctx, ss) userId := user.Id status := createStatus(ss, user.Id) dbmap.Exec(`DELETE FROM Users WHERE Id=?`, user.Id) @@ -1561,7 +1561,7 @@ func TestCheckUsersTeamMembersIntegrity(t *testing.T) { }) t.Run("should generate a report with one record", func(t *testing.T) { - user := createUser(ss) + user := createUser(rctx, ss) team := createTeam(ss) member := createTeamMember(rctx, ss, team.Id, user.Id) dbmap.Exec(`DELETE FROM Users WHERE Id=?`, user.Id) @@ -1591,7 +1591,7 @@ func TestCheckUsersUserAccessTokensIntegrity(t *testing.T) { }) t.Run("should generate a report with one record", func(t *testing.T) { - user := createUser(ss) + user := createUser(rctx, ss) userId := user.Id uat := createUserAccessToken(ss, user.Id) dbmap.Exec(`DELETE FROM Users WHERE Id=?`, user.Id) diff --git a/server/channels/store/sqlstore/user_store.go b/server/channels/store/sqlstore/user_store.go index b9a94ffa19..f08de13d4e 100644 --- a/server/channels/store/sqlstore/user_store.go +++ b/server/channels/store/sqlstore/user_store.go @@ -107,7 +107,7 @@ func (us SqlUserStore) InsertUsers(users []*model.User) error { return nil } -func (us SqlUserStore) Save(user *model.User) (*model.User, error) { +func (us SqlUserStore) Save(rctx request.CTX, user *model.User) (*model.User, error) { if user.Id != "" && !user.IsRemote() { return nil, store.NewErrInvalidInput("User", "id", user.Id) } diff --git a/server/channels/store/store.go b/server/channels/store/store.go index 4b69bfe2ab..d689cc884c 100644 --- a/server/channels/store/store.go +++ b/server/channels/store/store.go @@ -401,7 +401,7 @@ type PostStore interface { } type UserStore interface { - Save(user *model.User) (*model.User, error) + Save(rctx request.CTX, user *model.User) (*model.User, error) Update(rctx request.CTX, user *model.User, allowRoleUpdate bool) (*model.UserUpdate, error) UpdateNotifyProps(userID string, props map[string]string) error UpdateLastPictureUpdate(userID string) error diff --git a/server/channels/store/storetest/bot_store.go b/server/channels/store/storetest/bot_store.go index 1118992e2c..0b44ad872a 100644 --- a/server/channels/store/storetest/bot_store.go +++ b/server/channels/store/storetest/bot_store.go @@ -14,8 +14,8 @@ import ( "github.com/mattermost/mattermost/server/v8/channels/store" ) -func makeBotWithUser(t *testing.T, ss store.Store, bot *model.Bot) (*model.Bot, *model.User) { - user, err := ss.User().Save(model.UserFromBot(bot)) +func makeBotWithUser(t *testing.T, rctx request.CTX, ss store.Store, bot *model.Bot) (*model.Bot, *model.User) { + user, err := ss.User().Save(rctx, model.UserFromBot(bot)) require.NoError(t, err) bot.UserId = user.Id @@ -34,7 +34,7 @@ func TestBotStore(t *testing.T, rctx request.CTX, ss store.Store, s SqlStore) { } func testBotStoreGet(t *testing.T, rctx request.CTX, ss store.Store, s SqlStore) { - deletedBot, _ := makeBotWithUser(t, ss, &model.Bot{ + deletedBot, _ := makeBotWithUser(t, rctx, ss, &model.Bot{ Username: "deleted_bot", Description: "A deleted bot", OwnerId: model.NewId(), @@ -46,7 +46,7 @@ func testBotStoreGet(t *testing.T, rctx request.CTX, ss store.Store, s SqlStore) defer func() { require.NoError(t, ss.Bot().PermanentDelete(deletedBot.UserId)) }() defer func() { require.NoError(t, ss.User().PermanentDelete(deletedBot.UserId)) }() - permanentlyDeletedBot, _ := makeBotWithUser(t, ss, &model.Bot{ + permanentlyDeletedBot, _ := makeBotWithUser(t, rctx, ss, &model.Bot{ Username: "permanently_deleted_bot", Description: "A permanently deleted bot", OwnerId: model.NewId(), @@ -56,7 +56,7 @@ func testBotStoreGet(t *testing.T, rctx request.CTX, ss store.Store, s SqlStore) require.NoError(t, ss.Bot().PermanentDelete(permanentlyDeletedBot.UserId)) defer func() { require.NoError(t, ss.User().PermanentDelete(permanentlyDeletedBot.UserId)) }() - b1, _ := makeBotWithUser(t, ss, &model.Bot{ + b1, _ := makeBotWithUser(t, rctx, ss, &model.Bot{ Username: "b1", Description: "The first bot", OwnerId: model.NewId(), @@ -65,7 +65,7 @@ func testBotStoreGet(t *testing.T, rctx request.CTX, ss store.Store, s SqlStore) defer func() { require.NoError(t, ss.Bot().PermanentDelete(b1.UserId)) }() defer func() { require.NoError(t, ss.User().PermanentDelete(b1.UserId)) }() - b2, _ := makeBotWithUser(t, ss, &model.Bot{ + b2, _ := makeBotWithUser(t, rctx, ss, &model.Bot{ Username: "b2", Description: "The second bot", OwnerId: model.NewId(), @@ -122,7 +122,7 @@ func testBotStoreGetAll(t *testing.T, rctx request.CTX, ss store.Store, s SqlSto OwnerId1 := model.NewId() OwnerId2 := model.NewId() - deletedBot, _ := makeBotWithUser(t, ss, &model.Bot{ + deletedBot, _ := makeBotWithUser(t, rctx, ss, &model.Bot{ Username: "deleted_bot", Description: "A deleted bot", OwnerId: OwnerId1, @@ -134,7 +134,7 @@ func testBotStoreGetAll(t *testing.T, rctx request.CTX, ss store.Store, s SqlSto defer func() { require.NoError(t, ss.Bot().PermanentDelete(deletedBot.UserId)) }() defer func() { require.NoError(t, ss.User().PermanentDelete(deletedBot.UserId)) }() - permanentlyDeletedBot, _ := makeBotWithUser(t, ss, &model.Bot{ + permanentlyDeletedBot, _ := makeBotWithUser(t, rctx, ss, &model.Bot{ Username: "permanently_deleted_bot", Description: "A permanently deleted bot", OwnerId: OwnerId1, @@ -144,7 +144,7 @@ func testBotStoreGetAll(t *testing.T, rctx request.CTX, ss store.Store, s SqlSto require.NoError(t, ss.Bot().PermanentDelete(permanentlyDeletedBot.UserId)) defer func() { require.NoError(t, ss.User().PermanentDelete(permanentlyDeletedBot.UserId)) }() - b1, _ := makeBotWithUser(t, ss, &model.Bot{ + b1, _ := makeBotWithUser(t, rctx, ss, &model.Bot{ Username: "b1", Description: "The first bot", OwnerId: OwnerId1, @@ -153,7 +153,7 @@ func testBotStoreGetAll(t *testing.T, rctx request.CTX, ss store.Store, s SqlSto defer func() { require.NoError(t, ss.Bot().PermanentDelete(b1.UserId)) }() defer func() { require.NoError(t, ss.User().PermanentDelete(b1.UserId)) }() - b2, _ := makeBotWithUser(t, ss, &model.Bot{ + b2, _ := makeBotWithUser(t, rctx, ss, &model.Bot{ Username: "b2", Description: "The second bot", OwnerId: OwnerId1, @@ -175,7 +175,7 @@ func testBotStoreGetAll(t *testing.T, rctx request.CTX, ss store.Store, s SqlSto }, bot) }) - b3, _ := makeBotWithUser(t, ss, &model.Bot{ + b3, _ := makeBotWithUser(t, rctx, ss, &model.Bot{ Username: "b3", Description: "The third bot", OwnerId: OwnerId1, @@ -183,7 +183,7 @@ func testBotStoreGetAll(t *testing.T, rctx request.CTX, ss store.Store, s SqlSto defer func() { require.NoError(t, ss.Bot().PermanentDelete(b3.UserId)) }() defer func() { require.NoError(t, ss.User().PermanentDelete(b3.UserId)) }() - b4, _ := makeBotWithUser(t, ss, &model.Bot{ + b4, _ := makeBotWithUser(t, rctx, ss, &model.Bot{ Username: "b4", Description: "The fourth bot", OwnerId: OwnerId2, @@ -195,7 +195,7 @@ func testBotStoreGetAll(t *testing.T, rctx request.CTX, ss store.Store, s SqlSto Email: MakeEmail(), Username: model.NewId(), } - _, err1 := ss.User().Save(&deletedUser) + _, err1 := ss.User().Save(rctx, &deletedUser) require.NoError(t, err1, "couldn't save user") deletedUser.DeleteAt = model.GetMillis() @@ -203,7 +203,7 @@ func testBotStoreGetAll(t *testing.T, rctx request.CTX, ss store.Store, s SqlSto require.NoError(t, err2, "couldn't delete user") defer func() { require.NoError(t, ss.User().PermanentDelete(deletedUser.Id)) }() - ob5, _ := makeBotWithUser(t, ss, &model.Bot{ + ob5, _ := makeBotWithUser(t, rctx, ss, &model.Bot{ Username: "ob5", Description: "Orphaned bot 5", OwnerId: deletedUser.Id, @@ -333,7 +333,7 @@ func testBotStoreSave(t *testing.T, rctx request.CTX, ss store.Store) { OwnerId: model.NewId(), } - user, err := ss.User().Save(model.UserFromBot(bot)) + user, err := ss.User().Save(rctx, model.UserFromBot(bot)) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(user.Id)) }() bot.UserId = user.Id @@ -361,7 +361,7 @@ func testBotStoreSave(t *testing.T, rctx request.CTX, ss store.Store) { func testBotStoreUpdate(t *testing.T, rctx request.CTX, ss store.Store) { t.Run("invalid bot should fail to update", func(t *testing.T) { - existingBot, _ := makeBotWithUser(t, ss, &model.Bot{ + existingBot, _ := makeBotWithUser(t, rctx, ss, &model.Bot{ Username: "existing_bot", OwnerId: model.NewId(), }) @@ -378,7 +378,7 @@ func testBotStoreUpdate(t *testing.T, rctx request.CTX, ss store.Store) { }) t.Run("existing bot should update", func(t *testing.T) { - existingBot, _ := makeBotWithUser(t, ss, &model.Bot{ + existingBot, _ := makeBotWithUser(t, rctx, ss, &model.Bot{ Username: "existing_bot", OwnerId: model.NewId(), }) @@ -413,7 +413,7 @@ func testBotStoreUpdate(t *testing.T, rctx request.CTX, ss store.Store) { }) t.Run("deleted bot should update, restoring", func(t *testing.T) { - existingBot, _ := makeBotWithUser(t, ss, &model.Bot{ + existingBot, _ := makeBotWithUser(t, rctx, ss, &model.Bot{ Username: "existing_bot", OwnerId: model.NewId(), }) @@ -442,14 +442,14 @@ func testBotStoreUpdate(t *testing.T, rctx request.CTX, ss store.Store) { } func testBotStorePermanentDelete(t *testing.T, rctx request.CTX, ss store.Store) { - b1, _ := makeBotWithUser(t, ss, &model.Bot{ + b1, _ := makeBotWithUser(t, rctx, ss, &model.Bot{ Username: "b1", OwnerId: model.NewId(), }) defer func() { require.NoError(t, ss.Bot().PermanentDelete(b1.UserId)) }() defer func() { require.NoError(t, ss.User().PermanentDelete(b1.UserId)) }() - b2, _ := makeBotWithUser(t, ss, &model.Bot{ + b2, _ := makeBotWithUser(t, rctx, ss, &model.Bot{ Username: "b2", OwnerId: model.NewId(), }) diff --git a/server/channels/store/storetest/channel_member_history_store.go b/server/channels/store/storetest/channel_member_history_store.go index ea6e076f96..2895148e01 100644 --- a/server/channels/store/storetest/channel_member_history_store.go +++ b/server/channels/store/storetest/channel_member_history_store.go @@ -43,7 +43,7 @@ func testLogJoinEvent(t *testing.T, rctx request.CTX, ss store.Store) { Nickname: model.NewId(), Username: model.NewId(), } - userPtr, err := ss.User().Save(&user) + userPtr, err := ss.User().Save(rctx, &user) require.NoError(t, err) user = *userPtr @@ -69,7 +69,7 @@ func testLogLeaveEvent(t *testing.T, rctx request.CTX, ss store.Store) { Nickname: model.NewId(), Username: model.NewId(), } - userPtr, err := ss.User().Save(&user) + userPtr, err := ss.User().Save(rctx, &user) require.NoError(t, err) user = *userPtr @@ -98,7 +98,7 @@ func testGetUsersInChannelAtChannelMemberHistory(t *testing.T, rctx request.CTX, Nickname: model.NewId(), Username: model.NewId(), } - userPtr, err := ss.User().Save(&user) + userPtr, err := ss.User().Save(rctx, &user) require.NoError(t, err) user = *userPtr @@ -194,7 +194,7 @@ func testGetUsersInChannelAtChannelMembers(t *testing.T, rctx request.CTX, ss st Nickname: model.NewId(), Username: model.NewId(), } - userPtr, err := ss.User().Save(&user) + userPtr, err := ss.User().Save(rctx, &user) require.NoError(t, err) user = *userPtr @@ -306,7 +306,7 @@ func testPermanentDeleteBatch(t *testing.T, rctx request.CTX, ss store.Store) { Nickname: model.NewId(), Username: model.NewId(), } - userPtr, err := ss.User().Save(&user) + userPtr, err := ss.User().Save(rctx, &user) require.NoError(t, err) user = *userPtr @@ -315,7 +315,7 @@ func testPermanentDeleteBatch(t *testing.T, rctx request.CTX, ss store.Store) { Nickname: model.NewId(), Username: model.NewId(), } - user2Ptr, err := ss.User().Save(&user2) + user2Ptr, err := ss.User().Save(rctx, &user2) require.NoError(t, err) user2 = *user2Ptr diff --git a/server/channels/store/storetest/channel_store.go b/server/channels/store/storetest/channel_store.go index ba1c2059be..ddac9bd710 100644 --- a/server/channels/store/storetest/channel_store.go +++ b/server/channels/store/storetest/channel_store.go @@ -218,7 +218,7 @@ func testChannelStoreSaveDirectChannel(t *testing.T, rctx request.CTX, ss store. u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -226,7 +226,7 @@ func testChannelStoreSaveDirectChannel(t *testing.T, rctx request.CTX, ss store. u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) require.NoError(t, nErr) @@ -300,7 +300,7 @@ func testChannelStoreCreateDirectChannel(t *testing.T, rctx request.CTX, ss stor u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -308,7 +308,7 @@ func testChannelStoreCreateDirectChannel(t *testing.T, rctx request.CTX, ss stor u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) require.NoError(t, nErr) @@ -441,7 +441,7 @@ func testChannelStoreGet(t *testing.T, rctx request.CTX, ss store.Store, s SqlSt u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err = ss.User().Save(u1) + _, err = ss.User().Save(rctx, u1) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -449,7 +449,7 @@ func testChannelStoreGet(t *testing.T, rctx request.CTX, ss store.Store, s SqlSt u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - _, err = ss.User().Save(&u2) + _, err = ss.User().Save(rctx, &u2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) require.NoError(t, nErr) @@ -543,7 +543,7 @@ func testChannelStoreGetChannelsByIds(t *testing.T, rctx request.CTX, ss store.S u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -551,7 +551,7 @@ func testChannelStoreGetChannelsByIds(t *testing.T, rctx request.CTX, ss store.S u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - _, err = ss.User().Save(&u2) + _, err = ss.User().Save(rctx, &u2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) require.NoError(t, nErr) @@ -632,7 +632,7 @@ func testGetChannelsWithTeamDataByIds(t *testing.T, rctx request.CTX, ss store.S u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err = ss.User().Save(u1) + _, err = ss.User().Save(rctx, u1) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: t1.Id, UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -640,7 +640,7 @@ func testGetChannelsWithTeamDataByIds(t *testing.T, rctx request.CTX, ss store.S u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - _, err = ss.User().Save(&u2) + _, err = ss.User().Save(rctx, &u2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: t1.Id, UserId: u2.Id}, -1) require.NoError(t, nErr) @@ -1064,7 +1064,7 @@ func testChannelMemberStore(t *testing.T, rctx request.CTX, ss store.Store) { u1 := model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err := ss.User().Save(&u1) + _, err := ss.User().Save(rctx, &u1) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -1072,7 +1072,7 @@ func testChannelMemberStore(t *testing.T, rctx request.CTX, ss store.Store) { u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - _, err = ss.User().Save(&u2) + _, err = ss.User().Save(rctx, &u2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) require.NoError(t, nErr) @@ -1138,7 +1138,7 @@ func testChannelMemberStore(t *testing.T, rctx request.CTX, ss store.Store) { } func testChannelSaveMember(t *testing.T, rctx request.CTX, ss store.Store) { - u1, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u1, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) defaultNotifyProps := model.GetDefaultChannelNotifyProps() @@ -1645,9 +1645,9 @@ func testChannelSaveMember(t *testing.T, rctx request.CTX, ss store.Store) { } func testChannelSaveMultipleMembers(t *testing.T, rctx request.CTX, ss store.Store) { - u1, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u1, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u2, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u2, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) defaultNotifyProps := model.GetDefaultChannelNotifyProps() @@ -2194,7 +2194,7 @@ func testChannelSaveMultipleMembers(t *testing.T, rctx request.CTX, ss store.Sto } func testChannelUpdateMember(t *testing.T, rctx request.CTX, ss store.Store) { - u1, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u1, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) defaultNotifyProps := model.GetDefaultChannelNotifyProps() @@ -2699,9 +2699,9 @@ func testChannelUpdateMember(t *testing.T, rctx request.CTX, ss store.Store) { } func testChannelUpdateMultipleMembers(t *testing.T, rctx request.CTX, ss store.Store) { - u1, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u1, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u2, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u2, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) defaultNotifyProps := model.GetDefaultChannelNotifyProps() @@ -3235,7 +3235,7 @@ func testChannelUpdateMultipleMembers(t *testing.T, rctx request.CTX, ss store.S } func testChannelUpdateMemberNotifyProps(t *testing.T, rctx request.CTX, ss store.Store) { - u1, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u1, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) defaultNotifyProps := model.GetDefaultChannelNotifyProps() @@ -3302,9 +3302,9 @@ func testChannelPatchMultipleMembersNotifyProps(t *testing.T, rctx request.CTX, }, -1) require.NoError(t, err) - user1, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + user1, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - user2, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + user2, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) original1, err := ss.Channel().SaveMember(rctx, &model.ChannelMember{ ChannelId: channel1.Id, @@ -3390,7 +3390,7 @@ func testChannelPatchMultipleMembersNotifyProps(t *testing.T, rctx request.CTX, }, -1) require.NoError(t, err) - user, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + user, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) _, err = ss.Channel().SaveMember(rctx, &model.ChannelMember{ ChannelId: channel.Id, @@ -3417,13 +3417,13 @@ func testChannelPatchMultipleMembersNotifyProps(t *testing.T, rctx request.CTX, } func testChannelRemoveMember(t *testing.T, rctx request.CTX, ss store.Store) { - u1, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u1, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u2, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u2, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u3, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u3, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u4, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u4, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) channelID := model.NewId() defaultNotifyProps := model.GetDefaultChannelNotifyProps() @@ -3464,13 +3464,13 @@ func testChannelRemoveMember(t *testing.T, rctx request.CTX, ss store.Store) { } func testChannelRemoveMembers(t *testing.T, rctx request.CTX, ss store.Store) { - u1, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u1, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u2, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u2, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u3, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u3, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u4, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u4, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) channelID := model.NewId() defaultNotifyProps := model.GetDefaultChannelNotifyProps() @@ -3533,7 +3533,7 @@ func testChannelDeleteMemberStore(t *testing.T, rctx request.CTX, ss store.Store u1 := model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err := ss.User().Save(&u1) + _, err := ss.User().Save(rctx, &u1) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -3541,7 +3541,7 @@ func testChannelDeleteMemberStore(t *testing.T, rctx request.CTX, ss store.Store u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - _, err = ss.User().Save(&u2) + _, err = ss.User().Save(rctx, &u2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) require.NoError(t, nErr) @@ -5129,7 +5129,7 @@ func testGetMemberCount(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), DeleteAt: 0, } - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -5150,7 +5150,7 @@ func testGetMemberCount(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), DeleteAt: 0, } - _, err = ss.User().Save(&u2) + _, err = ss.User().Save(rctx, &u2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) require.NoError(t, nErr) @@ -5172,7 +5172,7 @@ func testGetMemberCount(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), DeleteAt: 0, } - _, err = ss.User().Save(&u3) + _, err = ss.User().Save(rctx, &u3) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) require.NoError(t, nErr) @@ -5194,7 +5194,7 @@ func testGetMemberCount(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), DeleteAt: 10000, } - _, err = ss.User().Save(u4) + _, err = ss.User().Save(rctx, u4) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u4.Id}, -1) require.NoError(t, nErr) @@ -5238,7 +5238,7 @@ func testGetMemberCountsByGroup(t *testing.T, rctx request.CTX, ss store.Store) Email: MakeEmail(), DeleteAt: 0, } - _, nErr = ss.User().Save(u1) + _, nErr = ss.User().Save(rctx, u1) require.NoError(t, nErr) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -5309,7 +5309,7 @@ func testGetMemberCountsByGroup(t *testing.T, rctx request.CTX, ss store.Store) Email: MakeEmail(), DeleteAt: 0, } - _, nErr = ss.User().Save(u) + _, nErr = ss.User().Save(rctx, u) require.NoError(t, nErr) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u.Id}, -1) require.NoError(t, nErr) @@ -5363,7 +5363,7 @@ func testGetMemberCountsByGroup(t *testing.T, rctx request.CTX, ss store.Store) Email: MakeEmail(), DeleteAt: 0, } - _, nErr = ss.User().Save(u) + _, nErr = ss.User().Save(rctx, u) require.NoError(t, nErr) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u.Id}, -1) require.NoError(t, nErr) @@ -5454,7 +5454,7 @@ func testGetGuestCount(t *testing.T, rctx request.CTX, ss store.Store) { DeleteAt: 0, Roles: model.SystemUserRoleId, } - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -5479,7 +5479,7 @@ func testGetGuestCount(t *testing.T, rctx request.CTX, ss store.Store) { DeleteAt: 0, Roles: model.SystemGuestRoleId, } - _, err := ss.User().Save(&u2) + _, err := ss.User().Save(rctx, &u2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) require.NoError(t, nErr) @@ -5504,7 +5504,7 @@ func testGetGuestCount(t *testing.T, rctx request.CTX, ss store.Store) { DeleteAt: 0, Roles: model.SystemGuestRoleId, } - _, err := ss.User().Save(&u3) + _, err := ss.User().Save(rctx, &u3) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) require.NoError(t, nErr) @@ -5529,7 +5529,7 @@ func testGetGuestCount(t *testing.T, rctx request.CTX, ss store.Store) { DeleteAt: 10000, Roles: model.SystemGuestRoleId, } - _, err := ss.User().Save(u4) + _, err := ss.User().Save(rctx, u4) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u4.Id}, -1) require.NoError(t, nErr) @@ -6647,7 +6647,7 @@ func testChannelStoreGetMembersByChannelIds(t *testing.T, rctx request.CTX, ss s } func testChannelStoreGetMembersInfoByChannelIds(t *testing.T, rctx request.CTX, ss store.Store) { - u, err := ss.User().Save(&model.User{ + u, err := ss.User().Save(rctx, &model.User{ Username: "user.test", Email: MakeEmail(), Nickname: model.NewId(), @@ -6708,28 +6708,28 @@ func testChannelStoreSearchGroupChannels(t *testing.T, rctx request.CTX, ss stor u1.Username = "user.one" u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) u2 := &model.User{} u2.Username = "user.two" u2.Email = MakeEmail() u2.Nickname = model.NewId() - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) u3 := &model.User{} u3.Username = "user.three" u3.Email = MakeEmail() u3.Nickname = model.NewId() - _, err = ss.User().Save(u3) + _, err = ss.User().Save(rctx, u3) require.NoError(t, err) u4 := &model.User{} u4.Username = "user.four" u4.Email = MakeEmail() u4.Nickname = model.NewId() - _, err = ss.User().Save(u4) + _, err = ss.User().Save(rctx, u4) require.NoError(t, err) // Group channels @@ -6884,13 +6884,13 @@ func testChannelStoreAnalyticsDeletedTypeCount(t *testing.T, rctx request.CTX, s u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) d4, nErr := ss.Channel().CreateDirectChannel(rctx, u1, u2) @@ -7566,7 +7566,7 @@ func testChannelStoreGetChannelMembersForExport(t *testing.T, rctx request.CTX, u1 := model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err = ss.User().Save(&u1) + _, err = ss.User().Save(rctx, &u1) require.NoError(t, err) m1 := model.ChannelMember{} @@ -7615,19 +7615,19 @@ func testChannelStoreRemoveAllDeactivatedMembers(t *testing.T, rctx request.CTX, u1 := model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err = ss.User().Save(&u1) + _, err = ss.User().Save(rctx, &u1) require.NoError(t, err) u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - _, err = ss.User().Save(&u2) + _, err = ss.User().Save(rctx, &u2) require.NoError(t, err) u3 := model.User{} u3.Email = MakeEmail() u3.Nickname = model.NewId() - _, err = ss.User().Save(&u3) + _, err = ss.User().Save(rctx, &u3) require.NoError(t, err) m1 := model.ChannelMember{} @@ -7707,7 +7707,7 @@ func testChannelStoreExportAllDirectChannels(t *testing.T, rctx request.CTX, ss u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -7715,7 +7715,7 @@ func testChannelStoreExportAllDirectChannels(t *testing.T, rctx request.CTX, ss u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) require.NoError(t, nErr) @@ -7770,7 +7770,7 @@ func testChannelStoreExportAllDirectChannelsExcludePrivateAndPublic(t *testing.T u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -7778,7 +7778,7 @@ func testChannelStoreExportAllDirectChannelsExcludePrivateAndPublic(t *testing.T u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) require.NoError(t, nErr) @@ -7816,7 +7816,7 @@ func testChannelStoreExportAllDirectChannelsDeletedChannel(t *testing.T, rctx re u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -7825,7 +7825,7 @@ func testChannelStoreExportAllDirectChannelsDeletedChannel(t *testing.T, rctx re u2.Email = MakeEmail() u2.DeleteAt = 123000 u2.Nickname = model.NewId() - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) require.NoError(t, nErr) diff --git a/server/channels/store/storetest/compliance_store.go b/server/channels/store/storetest/compliance_store.go index e8594d280d..ecf904ddae 100644 --- a/server/channels/store/storetest/compliance_store.go +++ b/server/channels/store/storetest/compliance_store.go @@ -114,7 +114,7 @@ func testComplianceExport(t *testing.T, rctx request.CTX, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() u1.Username = model.NewId() - u1, err = ss.User().Save(u1) + u1, err = ss.User().Save(rctx, u1) require.NoError(t, err) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: t1.Id, UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -122,7 +122,7 @@ func testComplianceExport(t *testing.T, rctx request.CTX, ss store.Store) { u2 := &model.User{} u2.Email = MakeEmail() u2.Username = model.NewId() - u2, err = ss.User().Save(u2) + u2, err = ss.User().Save(rctx, u2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: t1.Id, UserId: u2.Id}, -1) require.NoError(t, nErr) @@ -248,7 +248,7 @@ func testComplianceExportDirectMessages(t *testing.T, rctx request.CTX, ss store u1 := &model.User{} u1.Email = MakeEmail() u1.Username = model.NewId() - u1, err = ss.User().Save(u1) + u1, err = ss.User().Save(rctx, u1) require.NoError(t, err) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: t1.Id, UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -256,7 +256,7 @@ func testComplianceExportDirectMessages(t *testing.T, rctx request.CTX, ss store u2 := &model.User{} u2.Email = MakeEmail() u2.Username = model.NewId() - u2, err = ss.User().Save(u2) + u2, err = ss.User().Save(rctx, u2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: t1.Id, UserId: u2.Id}, -1) require.NoError(t, nErr) @@ -419,7 +419,7 @@ func testMessageExportPublicChannel(t *testing.T, rctx request.CTX, ss store.Sto Email: MakeEmail(), Username: model.NewId(), } - user1, err = ss.User().Save(user1) + user1, err = ss.User().Save(rctx, user1) require.NoError(t, err) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{ TeamId: team.Id, @@ -431,7 +431,7 @@ func testMessageExportPublicChannel(t *testing.T, rctx request.CTX, ss store.Sto Email: MakeEmail(), Username: model.NewId(), } - user2, err = ss.User().Save(user2) + user2, err = ss.User().Save(rctx, user2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{ TeamId: team.Id, @@ -523,7 +523,7 @@ func testMessageExportPrivateChannel(t *testing.T, rctx request.CTX, ss store.St Email: MakeEmail(), Username: model.NewId(), } - user1, err = ss.User().Save(user1) + user1, err = ss.User().Save(rctx, user1) require.NoError(t, err) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{ TeamId: team.Id, @@ -535,7 +535,7 @@ func testMessageExportPrivateChannel(t *testing.T, rctx request.CTX, ss store.St Email: MakeEmail(), Username: model.NewId(), } - user2, err = ss.User().Save(user2) + user2, err = ss.User().Save(rctx, user2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{ TeamId: team.Id, @@ -629,7 +629,7 @@ func testMessageExportDirectMessageChannel(t *testing.T, rctx request.CTX, ss st Email: MakeEmail(), Username: model.NewId(), } - user1, err = ss.User().Save(user1) + user1, err = ss.User().Save(rctx, user1) require.NoError(t, err) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{ TeamId: team.Id, @@ -641,7 +641,7 @@ func testMessageExportDirectMessageChannel(t *testing.T, rctx request.CTX, ss st Email: MakeEmail(), Username: model.NewId(), } - user2, err = ss.User().Save(user2) + user2, err = ss.User().Save(rctx, user2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{ TeamId: team.Id, @@ -710,7 +710,7 @@ func testMessageExportGroupMessageChannel(t *testing.T, rctx request.CTX, ss sto Email: MakeEmail(), Username: model.NewId(), } - user1, err = ss.User().Save(user1) + user1, err = ss.User().Save(rctx, user1) require.NoError(t, err) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{ TeamId: team.Id, @@ -722,7 +722,7 @@ func testMessageExportGroupMessageChannel(t *testing.T, rctx request.CTX, ss sto Email: MakeEmail(), Username: model.NewId(), } - user2, err = ss.User().Save(user2) + user2, err = ss.User().Save(rctx, user2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{ TeamId: team.Id, @@ -734,7 +734,7 @@ func testMessageExportGroupMessageChannel(t *testing.T, rctx request.CTX, ss sto Email: MakeEmail(), Username: model.NewId(), } - user3, err = ss.User().Save(user3) + user3, err = ss.User().Save(rctx, user3) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{ TeamId: team.Id, @@ -808,7 +808,7 @@ func testEditExportMessage(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user1, err = ss.User().Save(user1) + user1, err = ss.User().Save(rctx, user1) require.NoError(t, err) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{ TeamId: team.Id, @@ -900,7 +900,7 @@ func testEditAfterExportMessage(t *testing.T, rctx request.CTX, ss store.Store) Email: MakeEmail(), Username: model.NewId(), } - user1, err = ss.User().Save(user1) + user1, err = ss.User().Save(rctx, user1) require.NoError(t, err) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{ TeamId: team.Id, @@ -1011,7 +1011,7 @@ func testDeleteExportMessage(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user1, err = ss.User().Save(user1) + user1, err = ss.User().Save(rctx, user1) require.NoError(t, err) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{ TeamId: team.Id, @@ -1096,7 +1096,7 @@ func testDeleteAfterExportMessage(t *testing.T, rctx request.CTX, ss store.Store Email: MakeEmail(), Username: model.NewId(), } - user1, err = ss.User().Save(user1) + user1, err = ss.User().Save(rctx, user1) require.NoError(t, err) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{ TeamId: team.Id, diff --git a/server/channels/store/storetest/group_store.go b/server/channels/store/storetest/group_store.go index 9c4ff18a22..cf8b5b6b9a 100644 --- a/server/channels/store/storetest/group_store.go +++ b/server/channels/store/storetest/group_store.go @@ -205,7 +205,7 @@ func testGroupCreateWithUserIds(t *testing.T, rctx request.CTX, ss store.Store) Email: MakeEmail(), Username: model.NewId(), } - user1, nErr := ss.User().Save(u1) + user1, nErr := ss.User().Save(rctx, u1) require.NoError(t, nErr) // Create user 2 @@ -213,7 +213,7 @@ func testGroupCreateWithUserIds(t *testing.T, rctx request.CTX, ss store.Store) Email: MakeEmail(), Username: model.NewId(), } - user2, nErr := ss.User().Save(u2) + user2, nErr := ss.User().Save(rctx, u2) require.NoError(t, nErr) g1 := &model.Group{ @@ -558,7 +558,7 @@ func testGroupStoreGetByUser(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - u1, nErr := ss.User().Save(u1) + u1, nErr := ss.User().Save(rctx, u1) require.NoError(t, nErr) _, err = ss.Group().UpsertMember(g1.Id, u1.Id) @@ -570,7 +570,7 @@ func testGroupStoreGetByUser(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - u2, nErr = ss.User().Save(u2) + u2, nErr = ss.User().Save(rctx, u2) require.NoError(t, nErr) _, err = ss.Group().UpsertMember(g2.Id, u2.Id) @@ -813,7 +813,7 @@ func testGroupGetMemberUsers(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user1, nErr := ss.User().Save(u1) + user1, nErr := ss.User().Save(rctx, u1) require.NoError(t, nErr) _, err = ss.Group().UpsertMember(group.Id, user1.Id) @@ -823,7 +823,7 @@ func testGroupGetMemberUsers(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user2, nErr := ss.User().Save(u2) + user2, nErr := ss.User().Save(rctx, u2) require.NoError(t, nErr) _, err = ss.Group().UpsertMember(group.Id, user2.Id) @@ -865,7 +865,7 @@ func testGroupGetMemberUsersPage(t *testing.T, rctx request.CTX, ss store.Store) Email: MakeEmail(), Username: "user1" + model.NewId(), } - user1, nErr := ss.User().Save(u1) + user1, nErr := ss.User().Save(rctx, u1) require.NoError(t, nErr) _, err = ss.Group().UpsertMember(group.Id, user1.Id) @@ -875,7 +875,7 @@ func testGroupGetMemberUsersPage(t *testing.T, rctx request.CTX, ss store.Store) Email: MakeEmail(), Username: "user2" + model.NewId(), } - user2, nErr := ss.User().Save(u2) + user2, nErr := ss.User().Save(rctx, u2) require.NoError(t, nErr) _, err = ss.Group().UpsertMember(group.Id, user2.Id) @@ -885,7 +885,7 @@ func testGroupGetMemberUsersPage(t *testing.T, rctx request.CTX, ss store.Store) Email: MakeEmail(), Username: "user3" + model.NewId(), } - user3, nErr := ss.User().Save(u3) + user3, nErr := ss.User().Save(rctx, u3) require.NoError(t, nErr) _, err = ss.Group().UpsertMember(group.Id, user3.Id) @@ -943,7 +943,7 @@ func testGroupGetMemberUsersSortedPage(t *testing.T, rctx request.CTX, ss store. FirstName: "z" + model.NewId(), LastName: "z" + model.NewId(), } - user1, nErr := ss.User().Save(u1) + user1, nErr := ss.User().Save(rctx, u1) require.NoError(t, nErr) _, err = ss.Group().UpsertMember(group.Id, user1.Id) @@ -956,7 +956,7 @@ func testGroupGetMemberUsersSortedPage(t *testing.T, rctx request.CTX, ss store. FirstName: "b" + model.NewId(), LastName: "b" + model.NewId(), } - user2, nErr := ss.User().Save(u2) + user2, nErr := ss.User().Save(rctx, u2) require.NoError(t, nErr) _, err = ss.Group().UpsertMember(group.Id, user2.Id) @@ -967,7 +967,7 @@ func testGroupGetMemberUsersSortedPage(t *testing.T, rctx request.CTX, ss store. Email: MakeEmail(), Username: "d" + model.NewId(), } - user3, nErr := ss.User().Save(u3) + user3, nErr := ss.User().Save(rctx, u3) require.NoError(t, nErr) _, err = ss.Group().UpsertMember(group.Id, user3.Id) @@ -1032,7 +1032,7 @@ func testGroupGetMemberUsersInTeam(t *testing.T, rctx request.CTX, ss store.Stor Email: MakeEmail(), Username: model.NewId(), } - user1, err := ss.User().Save(u1) + user1, err := ss.User().Save(rctx, u1) require.NoError(t, err) _, err = ss.Group().UpsertMember(group.Id, user1.Id) @@ -1042,7 +1042,7 @@ func testGroupGetMemberUsersInTeam(t *testing.T, rctx request.CTX, ss store.Stor Email: MakeEmail(), Username: model.NewId(), } - user2, err := ss.User().Save(u2) + user2, err := ss.User().Save(rctx, u2) require.NoError(t, err) _, err = ss.Group().UpsertMember(group.Id, user2.Id) @@ -1052,7 +1052,7 @@ func testGroupGetMemberUsersInTeam(t *testing.T, rctx request.CTX, ss store.Stor Email: MakeEmail(), Username: model.NewId(), } - user3, err := ss.User().Save(u3) + user3, err := ss.User().Save(rctx, u3) require.NoError(t, err) _, err = ss.Group().UpsertMember(group.Id, user3.Id) @@ -1118,7 +1118,7 @@ func testGroupGetMemberUsersNotInChannel(t *testing.T, rctx request.CTX, ss stor Email: MakeEmail(), Username: model.NewId(), } - user1, err := ss.User().Save(u1) + user1, err := ss.User().Save(rctx, u1) require.NoError(t, err) _, err = ss.Group().UpsertMember(group.Id, user1.Id) @@ -1128,7 +1128,7 @@ func testGroupGetMemberUsersNotInChannel(t *testing.T, rctx request.CTX, ss stor Email: MakeEmail(), Username: model.NewId(), } - user2, err := ss.User().Save(u2) + user2, err := ss.User().Save(rctx, u2) require.NoError(t, err) _, err = ss.Group().UpsertMember(group.Id, user2.Id) @@ -1138,7 +1138,7 @@ func testGroupGetMemberUsersNotInChannel(t *testing.T, rctx request.CTX, ss stor Email: MakeEmail(), Username: model.NewId(), } - user3, err := ss.User().Save(u3) + user3, err := ss.User().Save(rctx, u3) require.NoError(t, err) _, err = ss.Group().UpsertMember(group.Id, user3.Id) @@ -1245,7 +1245,7 @@ func testUpsertMember(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user, nErr := ss.User().Save(u1) + user, nErr := ss.User().Save(rctx, u1) require.NoError(t, nErr) // Happy path @@ -1306,7 +1306,7 @@ func testUpsertMembers(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user, nErr := ss.User().Save(u1) + user, nErr := ss.User().Save(rctx, u1) require.NoError(t, nErr) // Create user @@ -1314,7 +1314,7 @@ func testUpsertMembers(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user2, nErr := ss.User().Save(u2) + user2, nErr := ss.User().Save(rctx, u2) require.NoError(t, nErr) // Happy path @@ -1372,7 +1372,7 @@ func testGroupDeleteMember(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user, nErr := ss.User().Save(u1) + user, nErr := ss.User().Save(rctx, u1) require.NoError(t, nErr) // Create member @@ -1407,7 +1407,7 @@ func testGroupDeleteMembers(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user, nErr := ss.User().Save(u1) + user, nErr := ss.User().Save(rctx, u1) require.NoError(t, nErr) // Create group g1 := &model.Group{ @@ -1466,7 +1466,7 @@ func testGroupPermanentDeleteMembersByUser(t *testing.T, rctx request.CTX, ss st Email: MakeEmail(), Username: model.NewId(), } - user, err := ss.User().Save(u1) + user, err := ss.User().Save(rctx, u1) require.NoError(t, err) // Create members @@ -1762,7 +1762,7 @@ func testTeamMembersToAdd(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user, nErr := ss.User().Save(user) + user, nErr := ss.User().Save(rctx, user) require.NoError(t, nErr) // Create GroupMember @@ -1947,21 +1947,21 @@ func testTeamMembersToAddSingleTeam(t *testing.T, rctx request.CTX, ss store.Sto Email: MakeEmail(), Username: model.NewId(), } - user1, nErr := ss.User().Save(user1) + user1, nErr := ss.User().Save(rctx, user1) require.NoError(t, nErr) user2 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user2, nErr = ss.User().Save(user2) + user2, nErr = ss.User().Save(rctx, user2) require.NoError(t, nErr) user3 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user3, nErr = ss.User().Save(user3) + user3, nErr = ss.User().Save(rctx, user3) require.NoError(t, nErr) for _, user := range []*model.User{user1, user2} { @@ -2031,7 +2031,7 @@ func testChannelMembersToAdd(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user, nErr := ss.User().Save(user) + user, nErr := ss.User().Save(rctx, user) require.NoError(t, nErr) // Create GroupMember @@ -2214,21 +2214,21 @@ func testChannelMembersToAddSingleChannel(t *testing.T, rctx request.CTX, ss sto Email: MakeEmail(), Username: model.NewId(), } - user1, nErr := ss.User().Save(user1) + user1, nErr := ss.User().Save(rctx, user1) require.NoError(t, nErr) user2 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user2, nErr = ss.User().Save(user2) + user2, nErr = ss.User().Save(rctx, user2) require.NoError(t, nErr) user3 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user3, nErr = ss.User().Save(user3) + user3, nErr = ss.User().Save(rctx, user3) require.NoError(t, nErr) for _, user := range []*model.User{user1, user2} { @@ -2353,21 +2353,21 @@ func testTeamMembersToRemoveSingleTeam(t *testing.T, rctx request.CTX, ss store. Email: MakeEmail(), Username: model.NewId(), } - user1, err := ss.User().Save(user1) + user1, err := ss.User().Save(rctx, user1) require.NoError(t, err) user2 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user2, err = ss.User().Save(user2) + user2, err = ss.User().Save(rctx, user2) require.NoError(t, err) user3 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user3, err = ss.User().Save(user3) + user3, err = ss.User().Save(rctx, user3) require.NoError(t, err) team1 := &model.Team{ @@ -2505,21 +2505,21 @@ func testChannelMembersToRemoveSingleChannel(t *testing.T, rctx request.CTX, ss Email: MakeEmail(), Username: model.NewId(), } - user1, err := ss.User().Save(user1) + user1, err := ss.User().Save(rctx, user1) require.NoError(t, err) user2 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user2, err = ss.User().Save(user2) + user2, err = ss.User().Save(rctx, user2) require.NoError(t, err) user3 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user3, err = ss.User().Save(user3) + user3, err = ss.User().Save(rctx, user3) require.NoError(t, err) channel1 := &model.Channel{ @@ -2596,7 +2596,7 @@ func pendingMemberRemovalsDataSetup(t *testing.T, rctx request.CTX, ss store.Sto Email: MakeEmail(), Username: model.NewId(), } - userA, nErr := ss.User().Save(userA) + userA, nErr := ss.User().Save(rctx, userA) require.NoError(t, nErr) // userB will not get removed from the group @@ -2604,7 +2604,7 @@ func pendingMemberRemovalsDataSetup(t *testing.T, rctx request.CTX, ss store.Sto Email: MakeEmail(), Username: model.NewId(), } - userB, nErr = ss.User().Save(userB) + userB, nErr = ss.User().Save(rctx, userB) require.NoError(t, nErr) // userC was never in the group @@ -2612,7 +2612,7 @@ func pendingMemberRemovalsDataSetup(t *testing.T, rctx request.CTX, ss store.Sto Email: MakeEmail(), Username: model.NewId(), } - userC, nErr = ss.User().Save(userC) + userC, nErr = ss.User().Save(rctx, userC) require.NoError(t, nErr) // add users to group (but not userC) @@ -2818,14 +2818,14 @@ func testGetGroupsByChannel(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user1, err := ss.User().Save(u1) + user1, err := ss.User().Save(rctx, u1) require.NoError(t, err) u2 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user2, err := ss.User().Save(u2) + user2, err := ss.User().Save(rctx, u2) require.NoError(t, err) _, err = ss.Group().UpsertMember(group1.Id, user1.Id) @@ -3066,14 +3066,14 @@ func testGetGroupsAssociatedToChannelsByTeam(t *testing.T, rctx request.CTX, ss Email: MakeEmail(), Username: model.NewId(), } - user1, err := ss.User().Save(u1) + user1, err := ss.User().Save(rctx, u1) require.NoError(t, err) u2 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user2, err := ss.User().Save(u2) + user2, err := ss.User().Save(rctx, u2) require.NoError(t, err) _, err = ss.Group().UpsertMember(group1.Id, user1.Id) @@ -3303,14 +3303,14 @@ func testGetGroupsByTeam(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user1, err := ss.User().Save(u1) + user1, err := ss.User().Save(rctx, u1) require.NoError(t, err) u2 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user2, err := ss.User().Save(u2) + user2, err := ss.User().Save(rctx, u2) require.NoError(t, err) _, err = ss.Group().UpsertMember(group1.Id, user1.Id) @@ -3602,21 +3602,21 @@ func testGetGroups(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user1, err := ss.User().Save(u1) + user1, err := ss.User().Save(rctx, u1) require.NoError(t, err) u2 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user2, err := ss.User().Save(u2) + user2, err := ss.User().Save(rctx, u2) require.NoError(t, err) u3 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user3, err := ss.User().Save(u3) + user3, err := ss.User().Save(rctx, u3) require.NoError(t, err) _, err = ss.Group().UpsertMember(group1.Id, user1.Id) @@ -4020,7 +4020,7 @@ func testTeamMembersMinusGroupMembers(t *testing.T, rctx request.CTX, ss store.S Email: MakeEmail(), Username: fmt.Sprintf("%d_%s", i, model.NewId()), } - user, err = ss.User().Save(user) + user, err = ss.User().Save(rctx, user) require.NoError(t, err) users = append(users, user) @@ -4034,7 +4034,7 @@ func testTeamMembersMinusGroupMembers(t *testing.T, rctx request.CTX, ss store.S Email: MakeEmail(), Username: "99_" + model.NewId(), } - user, err = ss.User().Save(user) + user, err = ss.User().Save(rctx, user) require.NoError(t, err) users = append(users, user) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: team.Id, UserId: user.Id, SchemeUser: true, SchemeAdmin: false}, 999) @@ -4172,7 +4172,7 @@ func testChannelMembersMinusGroupMembers(t *testing.T, rctx request.CTX, ss stor Email: MakeEmail(), Username: fmt.Sprintf("%d_%s", i, model.NewId()), } - user, err = ss.User().Save(user) + user, err = ss.User().Save(rctx, user) require.NoError(t, err) users = append(users, user) @@ -4188,7 +4188,7 @@ func testChannelMembersMinusGroupMembers(t *testing.T, rctx request.CTX, ss stor } // Extra user outside of the group member users. - user, err := ss.User().Save(&model.User{ + user, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "99_" + model.NewId(), }) @@ -4331,7 +4331,7 @@ func groupTestGetMemberCount(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: fmt.Sprintf("%d_%s", i, model.NewId()), } - user, nErr = ss.User().Save(user) + user, nErr = ss.User().Save(rctx, user) require.NoError(t, nErr) _, err = ss.Group().UpsertMember(group.Id, user.Id) @@ -4356,7 +4356,7 @@ func groupTestAdminRoleGroupsForSyncableMemberChannel(t *testing.T, rctx request Email: MakeEmail(), Username: model.NewId(), } - user, err := ss.User().Save(user) + user, err := ss.User().Save(rctx, user) require.NoError(t, err) group1 := &model.Group{ @@ -4444,7 +4444,7 @@ func groupTestAdminRoleGroupsForSyncableMemberTeam(t *testing.T, rctx request.CT Email: MakeEmail(), Username: model.NewId(), } - user, err := ss.User().Save(user) + user, err := ss.User().Save(rctx, user) require.NoError(t, err) group1 := &model.Group{ @@ -4531,21 +4531,21 @@ func groupTestPermittedSyncableAdminsTeam(t *testing.T, rctx request.CTX, ss sto Email: MakeEmail(), Username: model.NewId(), } - user1, err := ss.User().Save(user1) + user1, err := ss.User().Save(rctx, user1) require.NoError(t, err) user2 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user2, err = ss.User().Save(user2) + user2, err = ss.User().Save(rctx, user2) require.NoError(t, err) user3 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user3, err = ss.User().Save(user3) + user3, err = ss.User().Save(rctx, user3) require.NoError(t, err) group1 := &model.Group{ @@ -4637,21 +4637,21 @@ func groupTestPermittedSyncableAdminsChannel(t *testing.T, rctx request.CTX, ss Email: MakeEmail(), Username: model.NewId(), } - user1, err := ss.User().Save(user1) + user1, err := ss.User().Save(rctx, user1) require.NoError(t, err) user2 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user2, err = ss.User().Save(user2) + user2, err = ss.User().Save(rctx, user2) require.NoError(t, err) user3 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user3, err = ss.User().Save(user3) + user3, err = ss.User().Save(rctx, user3) require.NoError(t, err) group1 := &model.Group{ @@ -4757,28 +4757,28 @@ func groupTestpUpdateMembersRoleTeam(t *testing.T, rctx request.CTX, ss store.St Email: MakeEmail(), Username: model.NewId(), } - user1, err = ss.User().Save(user1) + user1, err = ss.User().Save(rctx, user1) require.NoError(t, err) user2 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user2, err = ss.User().Save(user2) + user2, err = ss.User().Save(rctx, user2) require.NoError(t, err) user3 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user3, err = ss.User().Save(user3) + user3, err = ss.User().Save(rctx, user3) require.NoError(t, err) user4 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user4, err = ss.User().Save(user4) + user4, err = ss.User().Save(rctx, user4) require.NoError(t, err) for _, user := range []*model.User{user1, user2, user3} { @@ -4857,28 +4857,28 @@ func groupTestpUpdateMembersRoleChannel(t *testing.T, rctx request.CTX, ss store Email: MakeEmail(), Username: model.NewId(), } - user1, err = ss.User().Save(user1) + user1, err = ss.User().Save(rctx, user1) require.NoError(t, err) user2 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user2, err = ss.User().Save(user2) + user2, err = ss.User().Save(rctx, user2) require.NoError(t, err) user3 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user3, err = ss.User().Save(user3) + user3, err = ss.User().Save(rctx, user3) require.NoError(t, err) user4 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user4, err = ss.User().Save(user4) + user4, err = ss.User().Save(rctx, user4) require.NoError(t, err) for _, user := range []*model.User{user1, user2, user3} { @@ -5079,14 +5079,14 @@ func groupTestGroupMemberCount(t *testing.T, rctx request.CTX, ss store.Store) { Email: fmt.Sprintf("test.%s@localhost", model.NewId()), Username: model.NewId(), } - user, err := ss.User().Save(user) + user, err := ss.User().Save(rctx, user) require.NoError(t, err) user2 := &model.User{ Email: fmt.Sprintf("test.%s@localhost", model.NewId()), Username: model.NewId(), } - user2, err = ss.User().Save(user2) + user2, err = ss.User().Save(rctx, user2) require.NoError(t, err) group, err := ss.Group().Create(&model.Group{ @@ -5138,14 +5138,14 @@ func groupTestDistinctGroupMemberCount(t *testing.T, rctx request.CTX, ss store. Email: fmt.Sprintf("test.%s@localhost", model.NewId()), Username: model.NewId(), } - user, err = ss.User().Save(user) + user, err = ss.User().Save(rctx, user) require.NoError(t, err) user2 := &model.User{ Email: fmt.Sprintf("test.%s@localhost", model.NewId()), Username: model.NewId(), } - user2, err = ss.User().Save(user2) + user2, err = ss.User().Save(rctx, user2) require.NoError(t, err) member1, err := ss.Group().UpsertMember(group1.Id, user.Id) @@ -5220,14 +5220,14 @@ func groupTestGetMember(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user1, nErr := ss.User().Save(u1) + user1, nErr := ss.User().Save(rctx, u1) require.NoError(t, nErr) u2 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user2, nErr := ss.User().Save(u2) + user2, nErr := ss.User().Save(rctx, u2) require.NoError(t, nErr) _, err = ss.Group().UpsertMember(group.Id, user1.Id) @@ -5257,14 +5257,14 @@ func groupTestGetNonMemberUsersPage(t *testing.T, rctx request.CTX, ss store.Sto Email: MakeEmail(), Username: model.NewId(), } - user1, nErr := ss.User().Save(u1) + user1, nErr := ss.User().Save(rctx, u1) require.NoError(t, nErr) u2 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - _, nErr = ss.User().Save(u2) + _, nErr = ss.User().Save(rctx, u2) require.NoError(t, nErr) users, err := ss.Group().GetNonMemberUsersPage(group.Id, 0, 1000, nil) @@ -5317,14 +5317,14 @@ func groupTestDistinctGroupMemberCountForSource(t *testing.T, rctx request.CTX, Email: MakeEmail(), Username: model.NewId(), } - user1, nErr := ss.User().Save(u1) + user1, nErr := ss.User().Save(rctx, u1) require.NoError(t, nErr) u2 := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - user2, nErr := ss.User().Save(u2) + user2, nErr := ss.User().Save(rctx, u2) require.NoError(t, nErr) // add both new users to both new groups diff --git a/server/channels/store/storetest/mocks/UserStore.go b/server/channels/store/storetest/mocks/UserStore.go index ac85268140..2b4244708a 100644 --- a/server/channels/store/storetest/mocks/UserStore.go +++ b/server/channels/store/storetest/mocks/UserStore.go @@ -1412,25 +1412,25 @@ func (_m *UserStore) ResetLastPictureUpdate(userID string) error { return r0 } -// Save provides a mock function with given fields: user -func (_m *UserStore) Save(user *model.User) (*model.User, error) { - ret := _m.Called(user) +// Save provides a mock function with given fields: rctx, user +func (_m *UserStore) Save(rctx request.CTX, user *model.User) (*model.User, error) { + ret := _m.Called(rctx, user) var r0 *model.User var r1 error - if rf, ok := ret.Get(0).(func(*model.User) (*model.User, error)); ok { - return rf(user) + if rf, ok := ret.Get(0).(func(request.CTX, *model.User) (*model.User, error)); ok { + return rf(rctx, user) } - if rf, ok := ret.Get(0).(func(*model.User) *model.User); ok { - r0 = rf(user) + if rf, ok := ret.Get(0).(func(request.CTX, *model.User) *model.User); ok { + r0 = rf(rctx, user) } else { if ret.Get(0) != nil { r0 = ret.Get(0).(*model.User) } } - if rf, ok := ret.Get(1).(func(*model.User) error); ok { - r1 = rf(user) + if rf, ok := ret.Get(1).(func(request.CTX, *model.User) error); ok { + r1 = rf(rctx, user) } else { r1 = ret.Error(1) } diff --git a/server/channels/store/storetest/post_store.go b/server/channels/store/storetest/post_store.go index dc26a3085d..b886e82cee 100644 --- a/server/channels/store/storetest/post_store.go +++ b/server/channels/store/storetest/post_store.go @@ -4283,7 +4283,7 @@ func testPostStoreGetParentsForExportAfter(t *testing.T, rctx request.CTX, ss st u1.Username = model.NewId() u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err = ss.User().Save(&u1) + _, err = ss.User().Save(rctx, &u1) require.NoError(t, err) p1 := &model.Post{} @@ -4366,7 +4366,7 @@ func testPostStoreGetRepliesForExport(t *testing.T, rctx request.CTX, ss store.S u1 := model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err = ss.User().Save(&u1) + _, err = ss.User().Save(rctx, &u1) require.NoError(t, err) p1 := &model.Post{} @@ -4424,7 +4424,7 @@ func testPostStoreGetDirectPostParentsForExportAfter(t *testing.T, rctx request. u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -4432,7 +4432,7 @@ func testPostStoreGetDirectPostParentsForExportAfter(t *testing.T, rctx request. u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) require.NoError(t, nErr) @@ -4479,7 +4479,7 @@ func testPostStoreGetDirectPostParentsForExportAfterDeleted(t *testing.T, rctx r u1.DeleteAt = 1 u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -4488,7 +4488,7 @@ func testPostStoreGetDirectPostParentsForExportAfterDeleted(t *testing.T, rctx r u2.DeleteAt = 1 u2.Email = MakeEmail() u2.Nickname = model.NewId() - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) require.NoError(t, nErr) @@ -4543,7 +4543,7 @@ func testPostStoreGetDirectPostParentsForExportAfterBatched(t *testing.T, rctx r u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) require.NoError(t, nErr) @@ -4551,7 +4551,7 @@ func testPostStoreGetDirectPostParentsForExportAfterBatched(t *testing.T, rctx r u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) require.NoError(t, nErr) @@ -4982,7 +4982,7 @@ func testGetPostReminderMetadata(t *testing.T, rctx request.CTX, ss store.Store, Locale: "es", } - u1, err = ss.User().Save(u1) + u1, err = ss.User().Save(rctx, u1) require.NoError(t, err) p1 := &model.Post{ diff --git a/server/channels/store/storetest/retention_policy_store.go b/server/channels/store/storetest/retention_policy_store.go index 58f8f04fa2..987da32222 100644 --- a/server/channels/store/storetest/retention_policy_store.go +++ b/server/channels/store/storetest/retention_policy_store.go @@ -614,7 +614,7 @@ func testRetentionPolicyStoreGetPoliciesForUser(t *testing.T, rctx request.CTX, defer deleteTeamsAndChannels(rctx, ss, teamIDs, channelIDs) defer cleanupRetentionPolicyTest(s) - user, userSaveErr := ss.User().Save(&model.User{ + user, userSaveErr := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: model.NewId(), }) diff --git a/server/channels/store/storetest/shared_channel_store.go b/server/channels/store/storetest/shared_channel_store.go index 713674b7fa..9f1607fc56 100644 --- a/server/channels/store/storetest/shared_channel_store.go +++ b/server/channels/store/storetest/shared_channel_store.go @@ -185,7 +185,7 @@ func testHasSharedChannel(t *testing.T, rctx request.CTX, ss store.Store) { func testGetSharedChannels(t *testing.T, rctx request.CTX, ss store.Store) { require.NoError(t, clearSharedChannels(ss)) - user, err := createTestUser(ss, "gary.goodspeed") + user, err := createTestUser(rctx, ss, "gary.goodspeed") require.NoError(t, err) creator := model.NewId() @@ -843,12 +843,12 @@ func testDeleteSharedChannelRemote(t *testing.T, rctx request.CTX, ss store.Stor }) } -func createTestUser(ss store.Store, username string) (*model.User, error) { +func createTestUser(rctx request.CTX, ss store.Store, username string) (*model.User, error) { user := &model.User{ Username: username, Email: "gary@example.com", } - return ss.User().Save(user) + return ss.User().Save(rctx, user) } func createTestChannel(ss store.Store, rctx request.CTX, name string) (*model.Channel, error) { @@ -1026,7 +1026,7 @@ func testGetSharedChannelUsersForSync(t *testing.T, rctx request.CTX, ss store.S Email: model.NewId() + "@example.com", LastPictureUpdate: model.GetMillis(), } - u, err := ss.User().Save(u) + u, err := ss.User().Save(rctx, u) require.NoError(t, err) users = append(users, u) } @@ -1098,7 +1098,7 @@ func testUpdateSharedChannelUserLastSyncAt(t *testing.T, rctx request.CTX, ss st Email: model.NewId() + "@example.com", LastPictureUpdate: model.GetMillis() - 300000, // 5 mins } - u1, err := ss.User().Save(u1) + u1, err := ss.User().Save(rctx, u1) require.NoError(t, err) u2 := &model.User{ @@ -1106,7 +1106,7 @@ func testUpdateSharedChannelUserLastSyncAt(t *testing.T, rctx request.CTX, ss st Email: model.NewId() + "@example.com", LastPictureUpdate: model.GetMillis() + 300000, } - u2, err = ss.User().Save(u2) + u2, err = ss.User().Save(rctx, u2) require.NoError(t, err) channelID := model.NewId() diff --git a/server/channels/store/storetest/team_store.go b/server/channels/store/storetest/team_store.go index 9dd49fb86b..8b1c1ad838 100644 --- a/server/channels/store/storetest/team_store.go +++ b/server/channels/store/storetest/team_store.go @@ -1206,17 +1206,17 @@ func testGetMembers(t *testing.T, rctx request.CTX, ss store.Store) { u5 := &model.User{Username: "e", Email: MakeEmail(), DeleteAt: int64(1)} u6 := &model.User{Username: "d", Email: MakeEmail()} - u1, err := ss.User().Save(u1) + u1, err := ss.User().Save(rctx, u1) require.NoError(t, err) - u2, err = ss.User().Save(u2) + u2, err = ss.User().Save(rctx, u2) require.NoError(t, err) - u3, err = ss.User().Save(u3) + u3, err = ss.User().Save(rctx, u3) require.NoError(t, err) - u4, err = ss.User().Save(u4) + u4, err = ss.User().Save(rctx, u4) require.NoError(t, err) - u5, err = ss.User().Save(u5) + u5, err = ss.User().Save(rctx, u5) require.NoError(t, err) - u6, err = ss.User().Save(u6) + u6, err = ss.User().Save(rctx, u6) require.NoError(t, err) m1 := &model.TeamMember{TeamId: teamId1, UserId: u1.Id} @@ -1258,17 +1258,17 @@ func testGetMembers(t *testing.T, rctx request.CTX, ss store.Store) { u5 := &model.User{Email: MakeEmail()} u6 := &model.User{Email: MakeEmail(), DeleteAt: int64(5)} - u1, err := ss.User().Save(u1) + u1, err := ss.User().Save(rctx, u1) require.NoError(t, err) - u2, err = ss.User().Save(u2) + u2, err = ss.User().Save(rctx, u2) require.NoError(t, err) - u3, err = ss.User().Save(u3) + u3, err = ss.User().Save(rctx, u3) require.NoError(t, err) - u4, err = ss.User().Save(u4) + u4, err = ss.User().Save(rctx, u4) require.NoError(t, err) - u5, err = ss.User().Save(u5) + u5, err = ss.User().Save(rctx, u5) require.NoError(t, err) - u6, err = ss.User().Save(u6) + u6, err = ss.User().Save(rctx, u6) require.NoError(t, err) m1 := &model.TeamMember{TeamId: teamId1, UserId: u1.Id} @@ -1377,9 +1377,9 @@ func testTeamMembers(t *testing.T, rctx request.CTX, ss store.Store) { } func testTeamSaveMember(t *testing.T, rctx request.CTX, ss store.Store) { - u1, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u1, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u2, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u2, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) t.Run("not valid team member", func(t *testing.T) { @@ -1713,13 +1713,13 @@ func testTeamSaveMember(t *testing.T, rctx request.CTX, ss store.Store) { } func testTeamSaveMultipleMembers(t *testing.T, rctx request.CTX, ss store.Store) { - u1, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u1, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u2, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u2, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u3, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u3, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u4, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u4, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) t.Run("any not valid team member", func(t *testing.T) { @@ -2092,7 +2092,7 @@ func testTeamSaveMultipleMembers(t *testing.T, rctx request.CTX, ss store.Store) } func testTeamUpdateMember(t *testing.T, rctx request.CTX, ss store.Store) { - u1, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u1, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) t.Run("not valid team member", func(t *testing.T) { @@ -2398,9 +2398,9 @@ func testTeamUpdateMember(t *testing.T, rctx request.CTX, ss store.Store) { } func testTeamUpdateMultipleMembers(t *testing.T, rctx request.CTX, ss store.Store) { - u1, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u1, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u2, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u2, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) t.Run("any not valid team member", func(t *testing.T) { @@ -2721,13 +2721,13 @@ func testTeamUpdateMultipleMembers(t *testing.T, rctx request.CTX, ss store.Stor } func testTeamRemoveMember(t *testing.T, rctx request.CTX, ss store.Store) { - u1, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u1, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u2, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u2, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u3, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u3, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u4, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u4, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) teamID := model.NewId() m1 := &model.TeamMember{TeamId: teamID, UserId: u1.Id} @@ -2767,13 +2767,13 @@ func testTeamRemoveMember(t *testing.T, rctx request.CTX, ss store.Store) { } func testTeamRemoveMembers(t *testing.T, rctx request.CTX, ss store.Store) { - u1, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u1, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u2, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u2, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u3, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u3, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) - u4, err := ss.User().Save(&model.User{Username: model.NewId(), Email: MakeEmail()}) + u4, err := ss.User().Save(rctx, &model.User{Username: model.NewId(), Email: MakeEmail()}) require.NoError(t, err) teamID := model.NewId() m1 := &model.TeamMember{TeamId: teamID, UserId: u1.Id} @@ -2887,7 +2887,7 @@ func testSaveTeamMemberMaxMembers(t *testing.T, rctx request.CTX, ss store.Store userIds := make([]string, maxUsersPerTeam) for i := 0; i < maxUsersPerTeam; i++ { - user, err := ss.User().Save(&model.User{ + user, err := ss.User().Save(rctx, &model.User{ Username: NewTestId(), Email: MakeEmail(), }) @@ -2913,7 +2913,7 @@ func testSaveTeamMemberMaxMembers(t *testing.T, rctx request.CTX, ss store.Store require.NoError(t, err) require.Equal(t, int(totalMemberCount), maxUsersPerTeam, "should start with 5 team members, had %v instead", totalMemberCount) - user, nErr := ss.User().Save(&model.User{ + user, nErr := ss.User().Save(rctx, &model.User{ Username: NewTestId(), Email: MakeEmail(), }) @@ -2961,7 +2961,7 @@ func testSaveTeamMemberMaxMembers(t *testing.T, rctx request.CTX, ss store.Store _, nErr = ss.User().Update(rctx, user2, true) require.NoError(t, nErr) - user, nErr = ss.User().Save(&model.User{ + user, nErr = ss.User().Save(rctx, &model.User{ Username: NewTestId(), Email: MakeEmail(), }) @@ -3068,13 +3068,13 @@ func testGetTeamMembersByIds(t *testing.T, rctx request.CTX, ss store.Store) { func testTeamStoreMemberCount(t *testing.T, rctx request.CTX, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) u2 := &model.User{} u2.Email = MakeEmail() u2.DeleteAt = 1 - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) teamId1 := model.NewId() @@ -3558,13 +3558,13 @@ func testTeamStoreGetTeamMembersForExport(t *testing.T, rctx request.CTX, ss sto u1 := model.User{} u1.Email = MakeEmail() u1.Nickname = NewTestId() - _, err = ss.User().Save(&u1) + _, err = ss.User().Save(rctx, &u1) require.NoError(t, err) u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = NewTestId() - _, err = ss.User().Save(&u2) + _, err = ss.User().Save(rctx, &u2) require.NoError(t, err) m1 := &model.TeamMember{TeamId: t1.Id, UserId: u1.Id} @@ -3655,14 +3655,14 @@ func testGetCommonTeamIDsForMultipleUsers(t *testing.T, rctx request.CTX, ss sto u1 := model.User{} u1.Email = MakeEmail() u1.Nickname = NewTestId() - _, err = ss.User().Save(&u1) + _, err = ss.User().Save(rctx, &u1) require.NoError(t, err) // User 2 u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = NewTestId() - _, err = ss.User().Save(&u2) + _, err = ss.User().Save(rctx, &u2) require.NoError(t, err) t.Run("multiple common teams exist", func(t *testing.T) { @@ -3772,14 +3772,14 @@ func testGetCommonTeamIDsForMultipleUsers(t *testing.T, rctx request.CTX, ss sto u3 := model.User{} u3.Email = MakeEmail() u3.Nickname = NewTestId() - _, err = ss.User().Save(&u3) + _, err = ss.User().Save(rctx, &u3) require.NoError(t, err) // User 4 u4 := model.User{} u4.Email = MakeEmail() u4.Nickname = NewTestId() - _, err = ss.User().Save(&u4) + _, err = ss.User().Save(rctx, &u4) require.NoError(t, err) // Add user 1 in team 1 and 2 diff --git a/server/channels/store/storetest/terms_of_service_store.go b/server/channels/store/storetest/terms_of_service_store.go index affeeff42d..d3d8c0090d 100644 --- a/server/channels/store/storetest/terms_of_service_store.go +++ b/server/channels/store/storetest/terms_of_service_store.go @@ -37,7 +37,7 @@ func testSaveTermsOfService(t *testing.T, rctx request.CTX, ss store.Store) { u1.Username = model.NewId() u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err := ss.User().Save(&u1) + _, err := ss.User().Save(rctx, &u1) require.NoError(t, err) termsOfService := &model.TermsOfService{Text: "terms of service", UserId: u1.Id} @@ -56,7 +56,7 @@ func testGetLatestTermsOfService(t *testing.T, rctx request.CTX, ss store.Store) u1.Username = model.NewId() u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err := ss.User().Save(&u1) + _, err := ss.User().Save(rctx, &u1) require.NoError(t, err) termsOfService := &model.TermsOfService{Text: "terms of service 2", UserId: u1.Id} @@ -76,7 +76,7 @@ func testGetTermsOfService(t *testing.T, rctx request.CTX, ss store.Store) { u1.Username = model.NewId() u1.Email = MakeEmail() u1.Nickname = model.NewId() - _, err := ss.User().Save(&u1) + _, err := ss.User().Save(rctx, &u1) require.NoError(t, err) termsOfService := &model.TermsOfService{Text: "terms of service", UserId: u1.Id} diff --git a/server/channels/store/storetest/thread_store.go b/server/channels/store/storetest/thread_store.go index 2feb06710d..1244d87a51 100644 --- a/server/channels/store/storetest/thread_store.go +++ b/server/channels/store/storetest/thread_store.go @@ -39,7 +39,7 @@ func testThreadStorePopulation(t *testing.T, rctx request.CTX, ss store.Store) { Username: model.NewId(), } - u, err := ss.User().Save(&u1) + u, err := ss.User().Save(rctx, &u1) require.NoError(t, err) c, err2 := ss.Channel().Save(&model.Channel{ @@ -806,12 +806,12 @@ func testVarious(t *testing.T, rctx request.CTX, ss store.Store) { require.NoError(t, err) } - user1, err := ss.User().Save(&model.User{ + user1, err := ss.User().Save(rctx, &model.User{ Username: "user1" + model.NewId(), Email: MakeEmail(), }) require.NoError(t, err) - user2, err := ss.User().Save(&model.User{ + user2, err := ss.User().Save(rctx, &model.User{ Username: "user2" + model.NewId(), Email: MakeEmail(), }) diff --git a/server/channels/store/storetest/user_access_token_store.go b/server/channels/store/storetest/user_access_token_store.go index 7855fef966..9a5b18849d 100644 --- a/server/channels/store/storetest/user_access_token_store.go +++ b/server/channels/store/storetest/user_access_token_store.go @@ -123,7 +123,7 @@ func testUserAccessTokenSearch(t *testing.T, rctx request.CTX, ss store.Store) { u1.Email = MakeEmail() u1.Username = model.NewId() - _, err := ss.User().Save(&u1) + _, err := ss.User().Save(rctx, &u1) require.NoError(t, err) uat := &model.UserAccessToken{ diff --git a/server/channels/store/storetest/user_store.go b/server/channels/store/storetest/user_store.go index 903e9522b2..7f90275681 100644 --- a/server/channels/store/storetest/user_store.go +++ b/server/channels/store/storetest/user_store.go @@ -110,7 +110,7 @@ func testUserStoreSave(t *testing.T, rctx request.CTX, ss store.Store) { Username: model.NewId(), } - _, err := ss.User().Save(&u1) + _, err := ss.User().Save(rctx, &u1) require.NoError(t, err, "couldn't save user") defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() @@ -118,23 +118,23 @@ func testUserStoreSave(t *testing.T, rctx request.CTX, ss store.Store) { _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, maxUsersPerTeam) require.NoError(t, nErr) - _, err = ss.User().Save(&u1) + _, err = ss.User().Save(rctx, &u1) require.Error(t, err, "shouldn't be able to update user from save") u2 := model.User{ Email: u1.Email, Username: model.NewId(), } - _, err = ss.User().Save(&u2) + _, err = ss.User().Save(rctx, &u2) require.Error(t, err, "should be unique email") u2.Email = MakeEmail() u2.Username = u1.Username - _, err = ss.User().Save(&u2) + _, err = ss.User().Save(rctx, &u2) require.Error(t, err, "should be unique username") u2.Username = "" - _, err = ss.User().Save(&u2) + _, err = ss.User().Save(rctx, &u2) require.Error(t, err, "should be non-empty username") u3 := model.User{ @@ -144,7 +144,7 @@ func testUserStoreSave(t *testing.T, rctx request.CTX, ss store.Store) { } maxPostSize := ss.Post().GetMaxPostSize() u3.NotifyProps[model.AutoResponderMessageNotifyProp] = strings.Repeat("a", maxPostSize+1) - _, err = ss.User().Save(&u3) + _, err = ss.User().Save(rctx, &u3) require.Error(t, err, "auto responder message size should not be greater than maxPostSize") for i := 0; i < 49; i++ { @@ -152,7 +152,7 @@ func testUserStoreSave(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - _, err = ss.User().Save(&u) + _, err = ss.User().Save(rctx, &u) require.NoError(t, err, "couldn't save item") defer func() { require.NoError(t, ss.User().PermanentDelete(u.Id)) }() @@ -164,7 +164,7 @@ func testUserStoreSave(t *testing.T, rctx request.CTX, ss store.Store) { u2.Id = "" u2.Email = MakeEmail() u2.Username = model.NewId() - _, err = ss.User().Save(&u2) + _, err = ss.User().Save(rctx, &u2) require.NoError(t, err, "couldn't save item") defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() @@ -177,7 +177,7 @@ func testUserStoreUpdate(t *testing.T, rctx request.CTX, ss store.Store) { u1 := &model.User{ Email: MakeEmail(), } - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) @@ -187,7 +187,7 @@ func testUserStoreUpdate(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), AuthService: "ldap", } - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) @@ -215,7 +215,7 @@ func testUserStoreUpdate(t *testing.T, rctx request.CTX, ss store.Store) { AuthService: "gitlab", } oldEmail := u3.Email - _, err = ss.User().Save(u3) + _, err = ss.User().Save(rctx, u3) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u3.Id)) }() _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u3.Id}, -1) @@ -266,7 +266,7 @@ func testUserStoreUpdate(t *testing.T, rctx request.CTX, ss store.Store) { func testUserStoreUpdateUpdateAt(t *testing.T, rctx request.CTX, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) @@ -286,7 +286,7 @@ func testUserStoreUpdateUpdateAt(t *testing.T, rctx request.CTX, ss store.Store) func testUserStoreUpdateFailedPasswordAttempts(t *testing.T, rctx request.CTX, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) @@ -304,11 +304,11 @@ func testUserStoreGet(t *testing.T, rctx request.CTX, ss store.Store) { u1 := &model.User{ Email: MakeEmail(), } - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() - u2, _ := ss.User().Save(&model.User{ + u2, _ := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: model.NewId(), }) @@ -351,7 +351,7 @@ func testUserStoreGet(t *testing.T, rctx request.CTX, ss store.Store) { func testGetAllUsingAuthService(t *testing.T, rctx request.CTX, ss store.Store) { teamId := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), AuthService: "service", @@ -361,7 +361,7 @@ func testGetAllUsingAuthService(t *testing.T, rctx request.CTX, ss store.Store) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), AuthService: "service", @@ -371,7 +371,7 @@ func testGetAllUsingAuthService(t *testing.T, rctx request.CTX, ss store.Store) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) require.NoError(t, nErr) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), AuthService: "service2", @@ -417,7 +417,7 @@ func sanitized(user *model.User) *model.User { } func testUserStoreGetAllProfiles(t *testing.T, rctx request.CTX, ss store.Store) { - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), Roles: model.SystemUserRoleId, @@ -425,7 +425,7 @@ func testUserStoreGetAllProfiles(t *testing.T, rctx request.CTX, ss store.Store) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), Roles: model.SystemUserRoleId, @@ -433,7 +433,7 @@ func testUserStoreGetAllProfiles(t *testing.T, rctx request.CTX, ss store.Store) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), }) @@ -448,7 +448,7 @@ func testUserStoreGetAllProfiles(t *testing.T, rctx request.CTX, ss store.Store) defer func() { require.NoError(t, ss.Bot().PermanentDelete(u3.Id)) }() defer func() { require.NoError(t, ss.User().PermanentDelete(u3.Id)) }() - u4, err := ss.User().Save(&model.User{ + u4, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u4" + model.NewId(), Roles: "system_user some-other-role", @@ -456,7 +456,7 @@ func testUserStoreGetAllProfiles(t *testing.T, rctx request.CTX, ss store.Store) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u4.Id)) }() - u5, err := ss.User().Save(&model.User{ + u5, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u5" + model.NewId(), Roles: "system_admin", @@ -464,7 +464,7 @@ func testUserStoreGetAllProfiles(t *testing.T, rctx request.CTX, ss store.Store) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u5.Id)) }() - u6, err := ss.User().Save(&model.User{ + u6, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u6" + model.NewId(), DeleteAt: model.GetMillis(), @@ -473,7 +473,7 @@ func testUserStoreGetAllProfiles(t *testing.T, rctx request.CTX, ss store.Store) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u6.Id)) }() - u7, err := ss.User().Save(&model.User{ + u7, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u7" + model.NewId(), DeleteAt: model.GetMillis(), @@ -529,7 +529,7 @@ func testUserStoreGetAllProfiles(t *testing.T, rctx request.CTX, ss store.Store) uNew := &model.User{} uNew.Email = MakeEmail() - _, userErr := ss.User().Save(uNew) + _, userErr := ss.User().Save(rctx, uNew) require.NoError(t, userErr) defer func() { require.NoError(t, ss.User().PermanentDelete(uNew.Id)) }() @@ -606,7 +606,7 @@ func testUserStoreGetAllProfiles(t *testing.T, rctx request.CTX, ss store.Store) }, actual) }) - u8, err := ss.User().Save(&model.User{ + u8, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u8" + model.NewId(), DeleteAt: model.GetMillis(), @@ -615,7 +615,7 @@ func testUserStoreGetAllProfiles(t *testing.T, rctx request.CTX, ss store.Store) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u8.Id)) }() - u9, err := ss.User().Save(&model.User{ + u9, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u9" + model.NewId(), DeleteAt: model.GetMillis(), @@ -624,7 +624,7 @@ func testUserStoreGetAllProfiles(t *testing.T, rctx request.CTX, ss store.Store) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u9.Id)) }() - u10, err := ss.User().Save(&model.User{ + u10, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u10" + model.NewId(), DeleteAt: model.GetMillis(), @@ -679,7 +679,7 @@ func testUserStoreGetAllProfiles(t *testing.T, rctx request.CTX, ss store.Store) func testUserStoreGetProfiles(t *testing.T, rctx request.CTX, ss store.Store) { teamId := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), }) @@ -688,7 +688,7 @@ func testUserStoreGetProfiles(t *testing.T, rctx request.CTX, ss store.Store) { _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) @@ -697,7 +697,7 @@ func testUserStoreGetProfiles(t *testing.T, rctx request.CTX, ss store.Store) { _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) require.NoError(t, nErr) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), }) @@ -714,7 +714,7 @@ func testUserStoreGetProfiles(t *testing.T, rctx request.CTX, ss store.Store) { _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) require.NoError(t, nErr) - u4, err := ss.User().Save(&model.User{ + u4, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u4" + model.NewId(), Roles: "system_admin", @@ -724,7 +724,7 @@ func testUserStoreGetProfiles(t *testing.T, rctx request.CTX, ss store.Store) { _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u4.Id}, -1) require.NoError(t, nErr) - u5, err := ss.User().Save(&model.User{ + u5, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u5" + model.NewId(), DeleteAt: model.GetMillis(), @@ -778,7 +778,7 @@ func testUserStoreGetProfiles(t *testing.T, rctx request.CTX, ss store.Store) { uNew := &model.User{} uNew.Email = MakeEmail() - _, err := ss.User().Save(uNew) + _, err := ss.User().Save(rctx, uNew) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(uNew.Id)) }() _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: uNew.Id}, -1) @@ -848,7 +848,7 @@ func testUserStoreGetProfiles(t *testing.T, rctx request.CTX, ss store.Store) { func testUserStoreGetProfilesInChannel(t *testing.T, rctx request.CTX, ss store.Store) { teamId := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), }) @@ -857,7 +857,7 @@ func testUserStoreGetProfilesInChannel(t *testing.T, rctx request.CTX, ss store. _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) @@ -866,7 +866,7 @@ func testUserStoreGetProfilesInChannel(t *testing.T, rctx request.CTX, ss store. _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) require.NoError(t, nErr) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), }) @@ -883,7 +883,7 @@ func testUserStoreGetProfilesInChannel(t *testing.T, rctx request.CTX, ss store. u3.IsBot = true defer func() { require.NoError(t, ss.Bot().PermanentDelete(u3.Id)) }() - u4, err := ss.User().Save(&model.User{ + u4, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u4" + model.NewId(), }) @@ -1010,7 +1010,7 @@ func testUserStoreGetProfilesInChannel(t *testing.T, rctx request.CTX, ss store. t.Run("Filter by channel members and channel admins", func(t *testing.T) { // save admin for c1 - user2Admin, err := ss.User().Save(&model.User{ + user2Admin, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "bbb" + model.NewId(), }) @@ -1044,7 +1044,7 @@ func testUserStoreGetProfilesInChannelByAdmin(t *testing.T, rctx request.CTX, ss teamId := model.NewId() - user1, err := ss.User().Save(&model.User{ + user1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "aaa" + model.NewId(), }) @@ -1053,7 +1053,7 @@ func testUserStoreGetProfilesInChannelByAdmin(t *testing.T, rctx request.CTX, ss _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: user1.Id}, -1) require.NoError(t, nErr) - user2Admin, err := ss.User().Save(&model.User{ + user2Admin, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "bbb" + model.NewId(), }) @@ -1062,7 +1062,7 @@ func testUserStoreGetProfilesInChannelByAdmin(t *testing.T, rctx request.CTX, ss _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: user2Admin.Id}, -1) require.NoError(t, nErr) - user3, err := ss.User().Save(&model.User{ + user3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "ccc" + model.NewId(), }) @@ -1122,7 +1122,7 @@ func testUserStoreGetProfilesInChannelByStatus(t *testing.T, rctx request.CTX, s teamId := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), }) @@ -1131,7 +1131,7 @@ func testUserStoreGetProfilesInChannelByStatus(t *testing.T, rctx request.CTX, s _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) @@ -1140,7 +1140,7 @@ func testUserStoreGetProfilesInChannelByStatus(t *testing.T, rctx request.CTX, s _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) require.NoError(t, nErr) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), }) @@ -1157,7 +1157,7 @@ func testUserStoreGetProfilesInChannelByStatus(t *testing.T, rctx request.CTX, s u3.IsBot = true defer func() { require.NoError(t, ss.Bot().PermanentDelete(u3.Id)) }() - u4, err := ss.User().Save(&model.User{ + u4, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u4" + model.NewId(), }) @@ -1281,7 +1281,7 @@ func testUserStoreGetProfilesInChannelByStatus(t *testing.T, rctx request.CTX, s func testUserStoreGetProfilesWithoutTeam(t *testing.T, rctx request.CTX, ss store.Store) { teamId := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), }) @@ -1290,14 +1290,14 @@ func testUserStoreGetProfilesWithoutTeam(t *testing.T, rctx request.CTX, ss stor _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), DeleteAt: 1, @@ -1348,7 +1348,7 @@ func testUserStoreGetProfilesWithoutTeam(t *testing.T, rctx request.CTX, ss stor func testUserStoreGetAllProfilesInChannel(t *testing.T, rctx request.CTX, ss store.Store) { teamId := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), }) @@ -1357,7 +1357,7 @@ func testUserStoreGetAllProfilesInChannel(t *testing.T, rctx request.CTX, ss sto _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) @@ -1366,7 +1366,7 @@ func testUserStoreGetAllProfilesInChannel(t *testing.T, rctx request.CTX, ss sto _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) require.NoError(t, nErr) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), }) @@ -1474,7 +1474,7 @@ func testUserStoreGetAllProfilesInChannel(t *testing.T, rctx request.CTX, ss sto func testUserStoreGetProfilesNotInChannel(t *testing.T, rctx request.CTX, ss store.Store) { teamId := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), }) @@ -1483,7 +1483,7 @@ func testUserStoreGetProfilesNotInChannel(t *testing.T, rctx request.CTX, ss sto _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) @@ -1492,7 +1492,7 @@ func testUserStoreGetProfilesNotInChannel(t *testing.T, rctx request.CTX, ss sto _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) require.NoError(t, nErr) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), }) @@ -1636,7 +1636,7 @@ func testUserStoreGetProfilesNotInChannel(t *testing.T, rctx request.CTX, ss sto func testUserStoreGetProfilesByIds(t *testing.T, rctx request.CTX, ss store.Store) { teamId := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), }) @@ -1645,7 +1645,7 @@ func testUserStoreGetProfilesByIds(t *testing.T, rctx request.CTX, ss store.Stor _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) @@ -1655,7 +1655,7 @@ func testUserStoreGetProfilesByIds(t *testing.T, rctx request.CTX, ss store.Stor require.NoError(t, nErr) time.Sleep(time.Millisecond) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), }) @@ -1672,7 +1672,7 @@ func testUserStoreGetProfilesByIds(t *testing.T, rctx request.CTX, ss store.Stor u3.IsBot = true defer func() { require.NoError(t, ss.Bot().PermanentDelete(u3.Id)) }() - u4, err := ss.User().Save(&model.User{ + u4, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u4" + model.NewId(), }) @@ -1721,28 +1721,28 @@ func testUserStoreGetProfilesByIds(t *testing.T, rctx request.CTX, ss store.Stor } func testUserStoreGetProfileByGroupChannelIdsForUser(t *testing.T, rctx request.CTX, ss store.Store) { - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), }) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), }) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u3.Id)) }() - u4, err := ss.User().Save(&model.User{ + u4, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u4" + model.NewId(), }) @@ -1846,7 +1846,7 @@ func testUserStoreGetProfilesByUsernames(t *testing.T, rctx request.CTX, ss stor teamId := model.NewId() team2Id := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), }) @@ -1855,7 +1855,7 @@ func testUserStoreGetProfilesByUsernames(t *testing.T, rctx request.CTX, ss stor _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) @@ -1864,7 +1864,7 @@ func testUserStoreGetProfilesByUsernames(t *testing.T, rctx request.CTX, ss stor _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) require.NoError(t, nErr) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), }) @@ -1915,7 +1915,7 @@ func testUserStoreGetProfilesByUsernames(t *testing.T, rctx request.CTX, ss stor func testUserStoreGetSystemAdminProfiles(t *testing.T, rctx request.CTX, ss store.Store) { teamId := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Roles: model.SystemUserRoleId + " " + model.SystemAdminRoleId, Username: "u1" + model.NewId(), @@ -1925,7 +1925,7 @@ func testUserStoreGetSystemAdminProfiles(t *testing.T, rctx request.CTX, ss stor _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) @@ -1934,7 +1934,7 @@ func testUserStoreGetSystemAdminProfiles(t *testing.T, rctx request.CTX, ss stor _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) require.NoError(t, nErr) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Roles: model.SystemUserRoleId + " " + model.SystemAdminRoleId, Username: "u3" + model.NewId(), @@ -1965,7 +1965,7 @@ func testUserStoreGetSystemAdminProfiles(t *testing.T, rctx request.CTX, ss stor func testUserStoreGetByEmail(t *testing.T, rctx request.CTX, ss store.Store) { teamId := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), }) @@ -1974,7 +1974,7 @@ func testUserStoreGetByEmail(t *testing.T, rctx request.CTX, ss store.Store) { _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) @@ -1983,7 +1983,7 @@ func testUserStoreGetByEmail(t *testing.T, rctx request.CTX, ss store.Store) { _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) require.NoError(t, nErr) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), }) @@ -2034,7 +2034,7 @@ func testUserStoreGetByAuthData(t *testing.T, rctx request.CTX, ss store.Store) auth1 := model.NewId() auth3 := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), AuthData: &auth1, @@ -2045,7 +2045,7 @@ func testUserStoreGetByAuthData(t *testing.T, rctx request.CTX, ss store.Store) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) @@ -2054,7 +2054,7 @@ func testUserStoreGetByAuthData(t *testing.T, rctx request.CTX, ss store.Store) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) require.NoError(t, nErr) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), AuthData: &auth3, @@ -2112,7 +2112,7 @@ func testUserStoreGetByAuthData(t *testing.T, rctx request.CTX, ss store.Store) func testUserStoreGetByUsername(t *testing.T, rctx request.CTX, ss store.Store) { teamId := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), }) @@ -2121,7 +2121,7 @@ func testUserStoreGetByUsername(t *testing.T, rctx request.CTX, ss store.Store) _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) @@ -2130,7 +2130,7 @@ func testUserStoreGetByUsername(t *testing.T, rctx request.CTX, ss store.Store) _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) require.NoError(t, nErr) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), }) @@ -2186,7 +2186,7 @@ func testUserStoreGetForLogin(t *testing.T, rctx request.CTX, ss store.Store) { auth2 := model.NewId() auth3 := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), AuthService: model.UserAuthServiceGitlab, @@ -2198,7 +2198,7 @@ func testUserStoreGetForLogin(t *testing.T, rctx request.CTX, ss store.Store) { _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), AuthService: model.UserAuthServiceLdap, @@ -2209,7 +2209,7 @@ func testUserStoreGetForLogin(t *testing.T, rctx request.CTX, ss store.Store) { _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) require.NoError(t, nErr) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), AuthService: model.UserAuthServiceLdap, @@ -2288,7 +2288,7 @@ func testUserStoreUpdatePassword(t *testing.T, rctx request.CTX, ss store.Store) u1 := &model.User{} u1.Email = MakeEmail() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) @@ -2307,7 +2307,7 @@ func testUserStoreUpdatePassword(t *testing.T, rctx request.CTX, ss store.Store) func testUserStoreDelete(t *testing.T, rctx request.CTX, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) @@ -2322,7 +2322,7 @@ func testUserStoreUpdateAuthData(t *testing.T, rctx request.CTX, ss store.Store) u1 := &model.User{} u1.Email = MakeEmail() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) @@ -2345,7 +2345,7 @@ func testUserStoreResetAuthDataToEmailForUsers(t *testing.T, rctx request.CTX, s user := &model.User{} user.Username = "user1" + model.NewId() user.Email = MakeEmail() - _, err := ss.User().Save(user) + _, err := ss.User().Save(rctx, user) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(user.Id)) }() @@ -2408,7 +2408,7 @@ func testUserUnreadCount(t *testing.T, rctx request.CTX, ss store.Store) { u1 := &model.User{} u1.Username = "user1" + model.NewId() u1.Email = MakeEmail() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) @@ -2417,7 +2417,7 @@ func testUserUnreadCount(t *testing.T, rctx request.CTX, ss store.Store) { u2 := &model.User{} u2.Email = MakeEmail() u2.Username = "user2" + model.NewId() - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) @@ -2426,7 +2426,7 @@ func testUserUnreadCount(t *testing.T, rctx request.CTX, ss store.Store) { u3 := &model.User{} u3.Email = MakeEmail() u3.Username = "user3" + model.NewId() - _, err = ss.User().Save(u3) + _, err = ss.User().Save(rctx, u3) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u3.Id)) }() _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) @@ -2523,7 +2523,7 @@ func testUserUnreadCount(t *testing.T, rctx request.CTX, ss store.Store) { func testUserStoreUpdateMfaSecret(t *testing.T, rctx request.CTX, ss store.Store) { u1 := model.User{} u1.Email = MakeEmail() - _, err := ss.User().Save(&u1) + _, err := ss.User().Save(rctx, &u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() @@ -2538,7 +2538,7 @@ func testUserStoreUpdateMfaSecret(t *testing.T, rctx request.CTX, ss store.Store func testUserStoreUpdateMfaActive(t *testing.T, rctx request.CTX, ss store.Store) { u1 := model.User{} u1.Email = MakeEmail() - _, err := ss.User().Save(&u1) + _, err := ss.User().Save(rctx, &u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() @@ -2560,7 +2560,7 @@ func testUserStoreGetRecentlyActiveUsersForTeam(t *testing.T, rctx request.CTX, teamId := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), }) @@ -2569,7 +2569,7 @@ func testUserStoreGetRecentlyActiveUsersForTeam(t *testing.T, rctx request.CTX, _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) @@ -2578,7 +2578,7 @@ func testUserStoreGetRecentlyActiveUsersForTeam(t *testing.T, rctx request.CTX, _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) require.NoError(t, nErr) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), }) @@ -2635,7 +2635,7 @@ func testUserStoreGetNewUsersForTeam(t *testing.T, rctx request.CTX, ss store.St teamId := model.NewId() teamId2 := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "Yuka", }) @@ -2644,7 +2644,7 @@ func testUserStoreGetNewUsersForTeam(t *testing.T, rctx request.CTX, ss store.St _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "Leia", }) @@ -2653,7 +2653,7 @@ func testUserStoreGetNewUsersForTeam(t *testing.T, rctx request.CTX, ss store.St _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) require.NoError(t, nErr) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "Ali", }) @@ -2670,7 +2670,7 @@ func testUserStoreGetNewUsersForTeam(t *testing.T, rctx request.CTX, ss store.St u3.IsBot = true defer func() { require.NoError(t, ss.Bot().PermanentDelete(u3.Id)) }() - u4, err := ss.User().Save(&model.User{ + u4, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u4" + model.NewId(), }) @@ -2739,7 +2739,7 @@ func testUserStoreSearch(t *testing.T, rctx request.CTX, ss store.Store) { Email: "harold" + NewTestId() + "@simulator.amazonses.com", Roles: "system_user system_admin", } - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() @@ -2748,7 +2748,7 @@ func testUserStoreSearch(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Roles: "system_user system_user_manager", } - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() @@ -2757,7 +2757,7 @@ func testUserStoreSearch(t *testing.T, rctx request.CTX, ss store.Store) { Email: MakeEmail(), Roles: "system_guest", } - _, err = ss.User().Save(u3) + _, err = ss.User().Save(rctx, u3) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u3.Id)) }() @@ -2886,7 +2886,7 @@ func testUserStoreSearchNotInChannel(t *testing.T, rctx request.CTX, ss store.St Nickname: "Rob", Email: "harold" + NewTestId() + "@simulator.amazonses.com", } - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() @@ -2894,7 +2894,7 @@ func testUserStoreSearchNotInChannel(t *testing.T, rctx request.CTX, ss store.St Username: "jim2-bobby" + NewTestId(), Email: MakeEmail(), } - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() @@ -2903,7 +2903,7 @@ func testUserStoreSearchNotInChannel(t *testing.T, rctx request.CTX, ss store.St Email: MakeEmail(), DeleteAt: 1, } - _, err = ss.User().Save(u3) + _, err = ss.User().Save(rctx, u3) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u3.Id)) }() _, nErr := ss.Bot().Save(&model.Bot{ @@ -3113,7 +3113,7 @@ func testUserStoreSearchInChannel(t *testing.T, rctx request.CTX, ss store.Store Email: "harold" + NewTestId() + "@simulator.amazonses.com", Roles: "system_user system_admin", } - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() @@ -3122,7 +3122,7 @@ func testUserStoreSearchInChannel(t *testing.T, rctx request.CTX, ss store.Store Email: MakeEmail(), Roles: "system_user", } - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() @@ -3132,7 +3132,7 @@ func testUserStoreSearchInChannel(t *testing.T, rctx request.CTX, ss store.Store DeleteAt: 1, Roles: "system_user", } - _, err = ss.User().Save(u3) + _, err = ss.User().Save(rctx, u3) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u3.Id)) }() _, nErr := ss.Bot().Save(&model.Bot{ @@ -3346,7 +3346,7 @@ func testUserStoreSearchNotInTeam(t *testing.T, rctx request.CTX, ss store.Store Nickname: "Rob", Email: "harold" + NewTestId() + "@simulator.amazonses.com", } - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() @@ -3354,7 +3354,7 @@ func testUserStoreSearchNotInTeam(t *testing.T, rctx request.CTX, ss store.Store Username: "jim-bobby" + NewTestId(), Email: MakeEmail(), } - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() @@ -3363,7 +3363,7 @@ func testUserStoreSearchNotInTeam(t *testing.T, rctx request.CTX, ss store.Store Email: MakeEmail(), DeleteAt: 1, } - _, err = ss.User().Save(u3) + _, err = ss.User().Save(rctx, u3) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u3.Id)) }() _, nErr := ss.Bot().Save(&model.Bot{ @@ -3380,7 +3380,7 @@ func testUserStoreSearchNotInTeam(t *testing.T, rctx request.CTX, ss store.Store Email: MakeEmail(), DeleteAt: 0, } - _, err = ss.User().Save(u4) + _, err = ss.User().Save(rctx, u4) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u4.Id)) }() @@ -3391,7 +3391,7 @@ func testUserStoreSearchNotInTeam(t *testing.T, rctx request.CTX, ss store.Store Nickname: "enyu", Email: MakeEmail(), } - _, err = ss.User().Save(u5) + _, err = ss.User().Save(rctx, u5) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u5.Id)) }() @@ -3402,7 +3402,7 @@ func testUserStoreSearchNotInTeam(t *testing.T, rctx request.CTX, ss store.Store Nickname: "lodash", Email: MakeEmail(), } - _, err = ss.User().Save(u6) + _, err = ss.User().Save(rctx, u6) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u6.Id)) }() @@ -3538,7 +3538,7 @@ func testUserStoreSearchWithoutTeam(t *testing.T, rctx request.CTX, ss store.Sto Nickname: "Rob", Email: "harold" + NewTestId() + "@simulator.amazonses.com", } - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() @@ -3546,7 +3546,7 @@ func testUserStoreSearchWithoutTeam(t *testing.T, rctx request.CTX, ss store.Sto Username: "jim2-bobby" + NewTestId(), Email: MakeEmail(), } - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() @@ -3555,7 +3555,7 @@ func testUserStoreSearchWithoutTeam(t *testing.T, rctx request.CTX, ss store.Sto Email: MakeEmail(), DeleteAt: 1, } - _, err = ss.User().Save(u3) + _, err = ss.User().Save(rctx, u3) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u3.Id)) }() _, nErr := ss.Bot().Save(&model.Bot{ @@ -3643,7 +3643,7 @@ func testUserStoreSearchInGroup(t *testing.T, rctx request.CTX, ss store.Store) Nickname: "Rob", Email: "harold" + NewTestId() + "@simulator.amazonses.com", } - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() @@ -3651,7 +3651,7 @@ func testUserStoreSearchInGroup(t *testing.T, rctx request.CTX, ss store.Store) Username: "jim-bobby" + NewTestId(), Email: MakeEmail(), } - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() @@ -3659,7 +3659,7 @@ func testUserStoreSearchInGroup(t *testing.T, rctx request.CTX, ss store.Store) Username: "jimbo3" + NewTestId(), Email: MakeEmail(), } - _, err = ss.User().Save(u3) + _, err = ss.User().Save(rctx, u3) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u3.Id)) }() @@ -3786,7 +3786,7 @@ func testUserStoreSearchNotInGroup(t *testing.T, rctx request.CTX, ss store.Stor Nickname: "Rob", Email: "harold" + NewTestId() + "@simulator.amazonses.com", } - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() @@ -3794,7 +3794,7 @@ func testUserStoreSearchNotInGroup(t *testing.T, rctx request.CTX, ss store.Stor Username: "jim-bobby" + NewTestId(), Email: MakeEmail(), } - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() @@ -3802,7 +3802,7 @@ func testUserStoreSearchNotInGroup(t *testing.T, rctx request.CTX, ss store.Stor Username: "jimbo3" + NewTestId(), Email: MakeEmail(), } - _, err = ss.User().Save(u3) + _, err = ss.User().Save(rctx, u3) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u3.Id)) }() @@ -3917,7 +3917,7 @@ func testCount(t *testing.T, rctx request.CTX, ss store.Store) { regularUser := &model.User{} regularUser.Email = MakeEmail() regularUser.Roles = model.SystemUserRoleId - _, err := ss.User().Save(regularUser) + _, err := ss.User().Save(rctx, regularUser) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(regularUser.Id)) }() _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: regularUser.Id, SchemeAdmin: false, SchemeUser: true}, -1) @@ -3928,7 +3928,7 @@ func testCount(t *testing.T, rctx request.CTX, ss store.Store) { guestUser := &model.User{} guestUser.Email = MakeEmail() guestUser.Roles = model.SystemGuestRoleId - _, err = ss.User().Save(guestUser) + _, err = ss.User().Save(rctx, guestUser) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(guestUser.Id)) }() _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: guestUser.Id, SchemeAdmin: false, SchemeUser: false, SchemeGuest: true}, -1) @@ -3939,7 +3939,7 @@ func testCount(t *testing.T, rctx request.CTX, ss store.Store) { teamAdmin := &model.User{} teamAdmin.Email = MakeEmail() teamAdmin.Roles = model.SystemUserRoleId - _, err = ss.User().Save(teamAdmin) + _, err = ss.User().Save(rctx, teamAdmin) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(teamAdmin.Id)) }() _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: teamAdmin.Id, SchemeAdmin: true, SchemeUser: true}, -1) @@ -3950,7 +3950,7 @@ func testCount(t *testing.T, rctx request.CTX, ss store.Store) { sysAdmin := &model.User{} sysAdmin.Email = MakeEmail() sysAdmin.Roles = model.SystemAdminRoleId + " " + model.SystemUserRoleId - _, err = ss.User().Save(sysAdmin) + _, err = ss.User().Save(rctx, sysAdmin) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(sysAdmin.Id)) }() _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: sysAdmin.Id, SchemeAdmin: false, SchemeUser: true}, -1) @@ -3962,13 +3962,13 @@ func testCount(t *testing.T, rctx request.CTX, ss store.Store) { deletedUser := &model.User{} deletedUser.Email = MakeEmail() deletedUser.DeleteAt = model.GetMillis() - _, err = ss.User().Save(deletedUser) + _, err = ss.User().Save(rctx, deletedUser) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(deletedUser.Id)) }() // Remote User remoteId := "remote-id" - remoteUser, err := ss.User().Save(&model.User{ + remoteUser, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), RemoteId: &remoteId, }) @@ -3976,7 +3976,7 @@ func testCount(t *testing.T, rctx request.CTX, ss store.Store) { defer func() { require.NoError(t, ss.User().PermanentDelete(remoteUser.Id)) }() // Bot - botUser, err := ss.User().Save(&model.User{ + botUser, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), }) require.NoError(t, err) @@ -4275,27 +4275,27 @@ func testUserStoreAnalyticsActiveCount(t *testing.T, rctx request.CTX, ss store. // Create 5 users statuses u0, u1, u2, u3, u4. // u4 is also a bot - u0, err := ss.User().Save(&model.User{ + u0, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u0" + model.NewId(), }) require.NoError(t, err) - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), }) require.NoError(t, err) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) require.NoError(t, err) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), }) require.NoError(t, err) - u4, err := ss.User().Save(&model.User{ + u4, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u4" + model.NewId(), }) @@ -4359,27 +4359,27 @@ func testUserStoreAnalyticsActiveCountForPeriod(t *testing.T, rctx request.CTX, // Create 5 users statuses u0, u1, u2, u3, u4. // u4 is also a bot - u0, err := ss.User().Save(&model.User{ + u0, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u0" + model.NewId(), }) require.NoError(t, err) - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), }) require.NoError(t, err) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) require.NoError(t, err) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), }) require.NoError(t, err) - u4, err := ss.User().Save(&model.User{ + u4, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u4" + model.NewId(), }) @@ -4439,7 +4439,7 @@ func testUserStoreAnalyticsActiveCountForPeriod(t *testing.T, rctx request.CTX, func testUserStoreAnalyticsGetInactiveUsersCount(t *testing.T, rctx request.CTX, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() @@ -4449,7 +4449,7 @@ func testUserStoreAnalyticsGetInactiveUsersCount(t *testing.T, rctx request.CTX, u2 := &model.User{} u2.Email = MakeEmail() u2.DeleteAt = model.GetMillis() - _, err = ss.User().Save(u2) + _, err = ss.User().Save(rctx, u2) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() @@ -4471,11 +4471,11 @@ func testUserStoreAnalyticsGetSystemAdminCount(t *testing.T, rctx request.CTX, s u2.Email = MakeEmail() u2.Username = model.NewId() - _, nErr := ss.User().Save(&u1) + _, nErr := ss.User().Save(rctx, &u1) require.NoError(t, nErr, "couldn't save user") defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() - _, nErr = ss.User().Save(&u2) + _, nErr = ss.User().Save(rctx, &u2) require.NoError(t, nErr, "couldn't save user") defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() @@ -4504,15 +4504,15 @@ func testUserStoreAnalyticsGetGuestCount(t *testing.T, rctx request.CTX, ss stor u3.Username = model.NewId() u3.Roles = "system_guest" - _, nErr := ss.User().Save(&u1) + _, nErr := ss.User().Save(rctx, &u1) require.NoError(t, nErr, "couldn't save user") defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() - _, nErr = ss.User().Save(&u2) + _, nErr = ss.User().Save(rctx, &u2) require.NoError(t, nErr, "couldn't save user") defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() - _, nErr = ss.User().Save(&u3) + _, nErr = ss.User().Save(rctx, &u3) require.NoError(t, nErr, "couldn't save user") defer func() { require.NoError(t, ss.User().PermanentDelete(u3.Id)) }() @@ -4542,15 +4542,15 @@ func testUserStoreAnalyticsGetExternalUsers(t *testing.T, rctx request.CTX, ss s u3.Username = model.NewId() u3.Roles = "system_guest" - _, err = ss.User().Save(&u1) + _, err = ss.User().Save(rctx, &u1) require.NoError(t, err, "couldn't save user") defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() - _, err = ss.User().Save(&u2) + _, err = ss.User().Save(rctx, &u2) require.NoError(t, err, "couldn't save user") defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() - _, err = ss.User().Save(&u3) + _, err = ss.User().Save(rctx, &u3) require.NoError(t, err, "couldn't save user") defer func() { require.NoError(t, ss.User().PermanentDelete(u3.Id)) }() @@ -4570,7 +4570,7 @@ func testUserStoreGetProfilesNotInTeam(t *testing.T, rctx request.CTX, ss store. teamId := team.Id teamId2 := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), }) @@ -4582,7 +4582,7 @@ func testUserStoreGetProfilesNotInTeam(t *testing.T, rctx request.CTX, ss store. // Ensure update at timestamp changes time.Sleep(time.Millisecond) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) @@ -4594,7 +4594,7 @@ func testUserStoreGetProfilesNotInTeam(t *testing.T, rctx request.CTX, ss store. // Ensure update at timestamp changes time.Sleep(time.Millisecond) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), }) @@ -4695,7 +4695,7 @@ func testUserStoreGetProfilesNotInTeam(t *testing.T, rctx request.CTX, ss store. // Ensure update at timestamp changes time.Sleep(time.Millisecond) - u4, err := ss.User().Save(&model.User{ + u4, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u4" + model.NewId(), }) @@ -4787,16 +4787,16 @@ func testUserStoreClearAllCustomRoleAssignments(t *testing.T, rctx request.CTX, Roles: "custom_only", } - _, err := ss.User().Save(&u1) + _, err := ss.User().Save(rctx, &u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() - _, err = ss.User().Save(&u2) + _, err = ss.User().Save(rctx, &u2) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u2.Id)) }() - _, err = ss.User().Save(&u3) + _, err = ss.User().Save(rctx, &u3) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u3.Id)) }() - _, err = ss.User().Save(&u4) + _, err = ss.User().Save(rctx, &u4) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u4.Id)) }() @@ -4820,7 +4820,7 @@ func testUserStoreClearAllCustomRoleAssignments(t *testing.T, rctx request.CTX, } func testUserStoreGetAllAfter(t *testing.T, rctx request.CTX, ss store.Store) { - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: model.NewId(), Roles: "system_user system_admin system_post_all", @@ -4828,7 +4828,7 @@ func testUserStoreGetAllAfter(t *testing.T, rctx request.CTX, ss store.Store) { require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) @@ -4901,7 +4901,7 @@ func testUserStoreGetUsersBatchForIndexing(t *testing.T, rctx request.CTX, ss st cPriv, nErr := ss.Channel().Save(ch3, -1) require.NoError(t, nErr) - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: model.NewId(), CreateAt: model.GetMillis(), @@ -4911,7 +4911,7 @@ func testUserStoreGetUsersBatchForIndexing(t *testing.T, rctx request.CTX, ss st time.Sleep(time.Millisecond) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: model.NewId(), CreateAt: model.GetMillis(), @@ -4938,7 +4938,7 @@ func testUserStoreGetUsersBatchForIndexing(t *testing.T, rctx request.CTX, ss st time.Sleep(time.Millisecond) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: model.NewId(), CreateAt: model.GetMillis(), @@ -5024,7 +5024,7 @@ func testUserStoreGetTeamGroupUsers(t *testing.T, rctx request.CTX, ss store.Sto var testUsers []*model.User for i := 0; i < 3; i++ { id = model.NewId() - user, userErr := ss.User().Save(&model.User{ + user, userErr := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5145,7 +5145,7 @@ func testUserStoreGetChannelGroupUsers(t *testing.T, rctx request.CTX, ss store. var testUsers []*model.User for i := 0; i < 3; i++ { id = model.NewId() - user, userErr := ss.User().Save(&model.User{ + user, userErr := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5256,7 +5256,7 @@ func testUserStorePromoteGuestToUser(t *testing.T, rctx request.CTX, ss store.St // create users t.Run("Must do nothing with regular user", func(t *testing.T) { id := model.NewId() - user, err := ss.User().Save(&model.User{ + user, err := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5302,7 +5302,7 @@ func testUserStorePromoteGuestToUser(t *testing.T, rctx request.CTX, ss store.St t.Run("Must do nothing with admin user", func(t *testing.T) { id := model.NewId() - user, err := ss.User().Save(&model.User{ + user, err := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5347,7 +5347,7 @@ func testUserStorePromoteGuestToUser(t *testing.T, rctx request.CTX, ss store.St t.Run("Must work with guest user without teams or channels", func(t *testing.T) { id := model.NewId() - user, err := ss.User().Save(&model.User{ + user, err := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5368,7 +5368,7 @@ func testUserStorePromoteGuestToUser(t *testing.T, rctx request.CTX, ss store.St t.Run("Must work with guest user with teams but no channels", func(t *testing.T) { id := model.NewId() - user, err := ss.User().Save(&model.User{ + user, err := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5398,7 +5398,7 @@ func testUserStorePromoteGuestToUser(t *testing.T, rctx request.CTX, ss store.St t.Run("Must work with guest user with teams and channels", func(t *testing.T) { id := model.NewId() - user, err := ss.User().Save(&model.User{ + user, err := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5443,7 +5443,7 @@ func testUserStorePromoteGuestToUser(t *testing.T, rctx request.CTX, ss store.St t.Run("Must work with guest user with teams and channels and custom role", func(t *testing.T) { id := model.NewId() - user, err := ss.User().Save(&model.User{ + user, err := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5488,7 +5488,7 @@ func testUserStorePromoteGuestToUser(t *testing.T, rctx request.CTX, ss store.St t.Run("Must no change any other user guest role", func(t *testing.T) { id := model.NewId() - user1, err := ss.User().Save(&model.User{ + user1, err := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5516,7 +5516,7 @@ func testUserStorePromoteGuestToUser(t *testing.T, rctx request.CTX, ss store.St require.NoError(t, nErr) id = model.NewId() - user2, err := ss.User().Save(&model.User{ + user2, err := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5571,7 +5571,7 @@ func testUserStoreDemoteUserToGuest(t *testing.T, rctx request.CTX, ss store.Sto // create users t.Run("Must do nothing with guest", func(t *testing.T) { id := model.NewId() - user, err := ss.User().Save(&model.User{ + user, err := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5615,7 +5615,7 @@ func testUserStoreDemoteUserToGuest(t *testing.T, rctx request.CTX, ss store.Sto t.Run("Must demote properly an admin user", func(t *testing.T) { id := model.NewId() - user, err := ss.User().Save(&model.User{ + user, err := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5658,7 +5658,7 @@ func testUserStoreDemoteUserToGuest(t *testing.T, rctx request.CTX, ss store.Sto t.Run("Must work with user without teams or channels", func(t *testing.T) { id := model.NewId() - user, err := ss.User().Save(&model.User{ + user, err := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5677,7 +5677,7 @@ func testUserStoreDemoteUserToGuest(t *testing.T, rctx request.CTX, ss store.Sto t.Run("Must work with user with teams but no channels", func(t *testing.T) { id := model.NewId() - user, err := ss.User().Save(&model.User{ + user, err := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5705,7 +5705,7 @@ func testUserStoreDemoteUserToGuest(t *testing.T, rctx request.CTX, ss store.Sto t.Run("Must work with user with teams and channels", func(t *testing.T) { id := model.NewId() - user, err := ss.User().Save(&model.User{ + user, err := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5748,7 +5748,7 @@ func testUserStoreDemoteUserToGuest(t *testing.T, rctx request.CTX, ss store.Sto t.Run("Must work with user with teams and channels and custom role", func(t *testing.T) { id := model.NewId() - user, err := ss.User().Save(&model.User{ + user, err := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5791,7 +5791,7 @@ func testUserStoreDemoteUserToGuest(t *testing.T, rctx request.CTX, ss store.Sto t.Run("Must no change any other user role", func(t *testing.T) { id := model.NewId() - user1, err := ss.User().Save(&model.User{ + user1, err := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5819,7 +5819,7 @@ func testUserStoreDemoteUserToGuest(t *testing.T, rctx request.CTX, ss store.Sto require.NoError(t, nErr) id = model.NewId() - user2, err := ss.User().Save(&model.User{ + user2, err := ss.User().Save(rctx, &model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -5872,7 +5872,7 @@ func testDeactivateGuests(t *testing.T, rctx request.CTX, ss store.Store) { // create users t.Run("Must disable all guests and no regular user or already deactivated users", func(t *testing.T) { guest1Random := model.NewId() - guest1, err := ss.User().Save(&model.User{ + guest1, err := ss.User().Save(rctx, &model.User{ Email: guest1Random + "@test.com", Username: "un_" + guest1Random, Nickname: "nn_" + guest1Random, @@ -5885,7 +5885,7 @@ func testDeactivateGuests(t *testing.T, rctx request.CTX, ss store.Store) { defer func() { require.NoError(t, ss.User().PermanentDelete(guest1.Id)) }() guest2Random := model.NewId() - guest2, err := ss.User().Save(&model.User{ + guest2, err := ss.User().Save(rctx, &model.User{ Email: guest2Random + "@test.com", Username: "un_" + guest2Random, Nickname: "nn_" + guest2Random, @@ -5898,7 +5898,7 @@ func testDeactivateGuests(t *testing.T, rctx request.CTX, ss store.Store) { defer func() { require.NoError(t, ss.User().PermanentDelete(guest2.Id)) }() guest3Random := model.NewId() - guest3, err := ss.User().Save(&model.User{ + guest3, err := ss.User().Save(rctx, &model.User{ Email: guest3Random + "@test.com", Username: "un_" + guest3Random, Nickname: "nn_" + guest3Random, @@ -5912,7 +5912,7 @@ func testDeactivateGuests(t *testing.T, rctx request.CTX, ss store.Store) { defer func() { require.NoError(t, ss.User().PermanentDelete(guest3.Id)) }() regularUserRandom := model.NewId() - regularUser, err := ss.User().Save(&model.User{ + regularUser, err := ss.User().Save(rctx, &model.User{ Email: regularUserRandom + "@test.com", Username: "un_" + regularUserRandom, Nickname: "nn_" + regularUserRandom, @@ -5950,7 +5950,7 @@ func testUserStoreResetLastPictureUpdate(t *testing.T, rctx request.CTX, ss stor startTime := model.GetMillis() u1 := &model.User{} u1.Email = MakeEmail() - _, err := ss.User().Save(u1) + _, err := ss.User().Save(rctx, u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) @@ -5982,7 +5982,7 @@ func testUserStoreResetLastPictureUpdate(t *testing.T, rctx request.CTX, ss stor func testGetKnownUsers(t *testing.T, rctx request.CTX, ss store.Store) { teamId := model.NewId() - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), }) @@ -5991,7 +5991,7 @@ func testGetKnownUsers(t *testing.T, rctx request.CTX, ss store.Store) { _, nErr := ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) require.NoError(t, nErr) - u2, err := ss.User().Save(&model.User{ + u2, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), }) @@ -6000,7 +6000,7 @@ func testGetKnownUsers(t *testing.T, rctx request.CTX, ss store.Store) { _, nErr = ss.Team().SaveMember(rctx, &model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) require.NoError(t, nErr) - u3, err := ss.User().Save(&model.User{ + u3, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), }) @@ -6018,7 +6018,7 @@ func testGetKnownUsers(t *testing.T, rctx request.CTX, ss store.Store) { defer func() { require.NoError(t, ss.Bot().PermanentDelete(u3.Id)) }() - u4, err := ss.User().Save(&model.User{ + u4, err := ss.User().Save(rctx, &model.User{ Email: MakeEmail(), Username: "u4" + model.NewId(), }) @@ -6124,7 +6124,7 @@ func testIsEmpty(t *testing.T, rctx request.CTX, ss store.Store) { Username: model.NewId(), } - u, err = ss.User().Save(u) + u, err = ss.User().Save(rctx, u) require.NoError(t, err) ok, err = ss.User().IsEmpty(false) @@ -6161,7 +6161,7 @@ func testIsEmpty(t *testing.T, rctx request.CTX, ss store.Store) { } func testGetUsersWithInvalidEmails(t *testing.T, rctx request.CTX, ss store.Store) { - u1, err := ss.User().Save(&model.User{ + u1, err := ss.User().Save(rctx, &model.User{ Email: "ben@invalid.mattermost.com", Username: "u1" + model.NewId(), }) @@ -6177,7 +6177,7 @@ func testGetUsersWithInvalidEmails(t *testing.T, rctx request.CTX, ss store.Stor func testUpdateLastLogin(t *testing.T, rctx request.CTX, ss store.Store) { u1 := model.User{} u1.Email = MakeEmail() - _, err := ss.User().Save(&u1) + _, err := ss.User().Save(rctx, &u1) require.NoError(t, err) defer func() { require.NoError(t, ss.User().PermanentDelete(u1.Id)) }() @@ -6212,7 +6212,7 @@ func testGetUserReport(t *testing.T, rctx request.CTX, ss store.Store, s SqlStor user.DeleteAt = now.UnixMilli() } - user, err := ss.User().Save(user) + user, err := ss.User().Save(rctx, user) require.NoError(t, err) users[i] = user } diff --git a/server/channels/store/timerlayer/timerlayer.go b/server/channels/store/timerlayer/timerlayer.go index 49c74ca932..1e06133dc0 100644 --- a/server/channels/store/timerlayer/timerlayer.go +++ b/server/channels/store/timerlayer/timerlayer.go @@ -10994,10 +10994,10 @@ func (s *TimerLayerUserStore) ResetLastPictureUpdate(userID string) error { return err } -func (s *TimerLayerUserStore) Save(user *model.User) (*model.User, error) { +func (s *TimerLayerUserStore) Save(rctx request.CTX, user *model.User) (*model.User, error) { start := time.Now() - result, err := s.UserStore.Save(user) + result, err := s.UserStore.Save(rctx, user) elapsed := float64(time.Since(start)) / float64(time.Second) if s.Root.Metrics != nil { diff --git a/server/platform/services/sharedchannel/sync_recv.go b/server/platform/services/sharedchannel/sync_recv.go index faf6f78f81..2677e54538 100644 --- a/server/platform/services/sharedchannel/sync_recv.go +++ b/server/platform/services/sharedchannel/sync_recv.go @@ -181,7 +181,7 @@ func (scs *Service) upsertSyncUser(c request.CTX, user *model.User, channel *mod var userSaved *model.User if euser == nil { - if userSaved, err = scs.insertSyncUser(user, channel, rc); err != nil { + if userSaved, err = scs.insertSyncUser(c, user, channel, rc); err != nil { return nil, err } } else { @@ -219,7 +219,7 @@ func (scs *Service) upsertSyncUser(c request.CTX, user *model.User, channel *mod return userSaved, nil } -func (scs *Service) insertSyncUser(user *model.User, channel *model.Channel, rc *model.RemoteCluster) (*model.User, error) { +func (scs *Service) insertSyncUser(rctx request.CTX, user *model.User, channel *model.Channel, rc *model.RemoteCluster) (*model.User, error) { var err error var userSaved *model.User var suffix string @@ -247,7 +247,7 @@ func (scs *Service) insertSyncUser(user *model.User, channel *model.Channel, rc user.Username = mungUsername(user.Username, rc.Name, suffix, model.UserNameMaxLength) user.Email = mungEmail(rc.Name, model.UserEmailMaxLength) - if userSaved, err = scs.server.GetStore().User().Save(user); err != nil { + if userSaved, err = scs.server.GetStore().User().Save(rctx, user); err != nil { field, ok := isConflictError(err) if !ok { break diff --git a/server/platform/services/slackimport/slackimport.go b/server/platform/services/slackimport/slackimport.go index cfe5034957..7d81c80c23 100644 --- a/server/platform/services/slackimport/slackimport.go +++ b/server/platform/services/slackimport/slackimport.go @@ -706,7 +706,7 @@ func (si *SlackImporter) oldImportUser(rctx request.CTX, team *model.Team, user user.Roles = model.SystemUserRoleId - ruser, nErr := si.store.User().Save(user) + ruser, nErr := si.store.User().Save(rctx, user) if nErr != nil { rctx.Logger().Debug("Error saving user.", mlog.Err(nErr)) return nil