From d9a99d432ce4b74cb68a73ffb67fc269e59441ed Mon Sep 17 00:00:00 2001 From: Alf Sebastian Houge Date: Mon, 7 Mar 2022 00:13:50 +0100 Subject: [PATCH] Make emails case insensitive --- server/controllers/auth.go | 3 ++- server/db/migrations.go | 4 ++++ server/service/userService.go | 4 +++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/server/controllers/auth.go b/server/controllers/auth.go index b130739..f7acfd0 100644 --- a/server/controllers/auth.go +++ b/server/controllers/auth.go @@ -5,6 +5,7 @@ import ( "fmt" "net/http" "os" + "strings" "github.com/akhilrex/hammond/common" "github.com/akhilrex/hammond/db" @@ -91,7 +92,7 @@ func userLogin(c *gin.Context) { c.JSON(http.StatusUnprocessableEntity, common.NewValidatorError(err)) return } - user, err := db.FindOneUser(&db.User{Email: loginRequest.Email}) + user, err := db.FindOneUser(&db.User{Email: strings.ToLower(loginRequest.Email)}) if err != nil { c.JSON(http.StatusForbidden, common.NewError("login", errors.New("Not Registered email or invalid password"))) diff --git a/server/db/migrations.go b/server/db/migrations.go index cddd3b3..ded1a96 100644 --- a/server/db/migrations.go +++ b/server/db/migrations.go @@ -18,6 +18,10 @@ var migrations = []localMigration{ Name: "2021_06_24_04_42_SetUserDisabledFalse", Query: "update users set is_disabled=0", }, + { + Name: "2021_02_07_00_09_LowerCaseEmails", + Query: "update users set email=lower(email)", + }, } func RunMigrations() { diff --git a/server/service/userService.go b/server/service/userService.go index bdd568f..8a225e6 100644 --- a/server/service/userService.go +++ b/server/service/userService.go @@ -1,6 +1,8 @@ package service import ( + "strings" + "github.com/akhilrex/hammond/db" "github.com/akhilrex/hammond/models" ) @@ -8,7 +10,7 @@ import ( func CreateUser(userModel *models.RegisterRequest, role db.Role) error { setting := db.GetOrCreateSetting() toCreate := db.User{ - Email: userModel.Email, + Email: strings.ToLower(userModel.Email), Name: userModel.Name, Role: role, Currency: setting.Currency,