From a3915b148fd3ce7b706b963915ffbdf7e507fd8e Mon Sep 17 00:00:00 2001 From: "grafana-delivery-bot[bot]" <132647405+grafana-delivery-bot[bot]@users.noreply.github.com> Date: Mon, 10 Jun 2024 10:42:47 +0200 Subject: [PATCH] [v11.0.x] User: add second migration for lowercasing login/email of users (#88917) User: add second migration for lowercasing login/email of users (#88915) (cherry picked from commit 39bd13f877939403921b9745f01f5191861edc23) Co-authored-by: Eric Leijonmarck --- pkg/services/org/orgimpl/store_test.go | 2 +- pkg/services/sqlstore/migrations/user_mig.go | 2 ++ pkg/services/user/userimpl/store_test.go | 4 ++-- pkg/services/user/userimpl/user.go | 4 ++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/pkg/services/org/orgimpl/store_test.go b/pkg/services/org/orgimpl/store_test.go index 292c08d0335..65d5ee8eba5 100644 --- a/pkg/services/org/orgimpl/store_test.go +++ b/pkg/services/org/orgimpl/store_test.go @@ -773,7 +773,7 @@ func TestIntegration_SQLStore_GetOrgUsers_PopulatesCorrectly(t *testing.T) { assert.Equal(t, int64(1), actual.UserID) assert.Equal(t, "viewer@localhost", actual.Email) assert.Equal(t, "Viewer Localhost", actual.Name) - assert.Equal(t, "Viewer", actual.Login) + assert.Equal(t, "viewer", actual.Login) assert.Equal(t, "Viewer", actual.Role) assert.Equal(t, constNow.AddDate(-10, 0, 0), actual.LastSeenAt) assert.Equal(t, constNow, actual.Created) diff --git a/pkg/services/sqlstore/migrations/user_mig.go b/pkg/services/sqlstore/migrations/user_mig.go index 8603314a3d1..d4d8384a4d3 100644 --- a/pkg/services/sqlstore/migrations/user_mig.go +++ b/pkg/services/sqlstore/migrations/user_mig.go @@ -161,6 +161,8 @@ func addUserMigrations(mg *Migrator) { // Users login and email should be in lower case mg.AddMigration(usermig.LowerCaseUserLoginAndEmail, &usermig.UsersLowerCaseLoginAndEmail{}) + // Users login and email should be in lower case - 2, fix for creating users not lowering login and email + mg.AddMigration(usermig.LowerCaseUserLoginAndEmail+"2", &usermig.UsersLowerCaseLoginAndEmail{}) } const migSQLITEisServiceAccountNullable = `ALTER TABLE user ADD COLUMN tmp_service_account BOOLEAN DEFAULT 0; diff --git a/pkg/services/user/userimpl/store_test.go b/pkg/services/user/userimpl/store_test.go index 2fbbb937283..6fa6320bc0b 100644 --- a/pkg/services/user/userimpl/store_test.go +++ b/pkg/services/user/userimpl/store_test.go @@ -924,8 +924,8 @@ func TestIntegrationUserUpdate(t *testing.T) { require.Equal(t, "Change Name", result.Name) // Unchanged - require.Equal(t, "loginUSER3", result.Login) - require.Equal(t, "USER3@test.com", result.Email) + require.Equal(t, "loginuser3", result.Login) + require.Equal(t, "user3@test.com", result.Email) }) } diff --git a/pkg/services/user/userimpl/user.go b/pkg/services/user/userimpl/user.go index 14c3be1ce7a..3ea944d67ac 100644 --- a/pkg/services/user/userimpl/user.go +++ b/pkg/services/user/userimpl/user.go @@ -135,9 +135,9 @@ func (s *Service) Create(ctx context.Context, cmd *user.CreateUserCommand) (*use // create user usr := &user.User{ UID: cmd.UID, - Email: cmd.Email, + Email: strings.ToLower(cmd.Email), Name: cmd.Name, - Login: cmd.Login, + Login: strings.ToLower(cmd.Login), Company: cmd.Company, IsAdmin: cmd.IsAdmin, IsDisabled: cmd.IsDisabled,