Merge pull request #74 from AlfHou/case-insensitive-emails

This commit is contained in:
Akhil Gupta
2022-07-25 12:01:51 +05:30
committed by GitHub
3 changed files with 9 additions and 2 deletions

View File

@@ -5,6 +5,7 @@ import (
"fmt" "fmt"
"net/http" "net/http"
"os" "os"
"strings"
"github.com/akhilrex/hammond/common" "github.com/akhilrex/hammond/common"
"github.com/akhilrex/hammond/db" "github.com/akhilrex/hammond/db"
@@ -91,7 +92,7 @@ func userLogin(c *gin.Context) {
c.JSON(http.StatusUnprocessableEntity, common.NewValidatorError(err)) c.JSON(http.StatusUnprocessableEntity, common.NewValidatorError(err))
return return
} }
user, err := db.FindOneUser(&db.User{Email: loginRequest.Email}) user, err := db.FindOneUser(&db.User{Email: strings.ToLower(loginRequest.Email)})
if err != nil { if err != nil {
c.JSON(http.StatusForbidden, common.NewError("login", errors.New("not Registered email or invalid password"))) c.JSON(http.StatusForbidden, common.NewError("login", errors.New("not Registered email or invalid password")))

View File

@@ -18,6 +18,10 @@ var migrations = []localMigration{
Name: "2021_06_24_04_42_SetUserDisabledFalse", Name: "2021_06_24_04_42_SetUserDisabledFalse",
Query: "update users set is_disabled=0", Query: "update users set is_disabled=0",
}, },
{
Name: "2021_02_07_00_09_LowerCaseEmails",
Query: "update users set email=lower(email)",
},
} }
func RunMigrations() { func RunMigrations() {

View File

@@ -1,6 +1,8 @@
package service package service
import ( import (
"strings"
"github.com/akhilrex/hammond/db" "github.com/akhilrex/hammond/db"
"github.com/akhilrex/hammond/models" "github.com/akhilrex/hammond/models"
) )
@@ -8,7 +10,7 @@ import (
func CreateUser(userModel *models.RegisterRequest, role db.Role) error { func CreateUser(userModel *models.RegisterRequest, role db.Role) error {
setting := db.GetOrCreateSetting() setting := db.GetOrCreateSetting()
toCreate := db.User{ toCreate := db.User{
Email: userModel.Email, Email: strings.ToLower(userModel.Email),
Name: userModel.Name, Name: userModel.Name,
Role: role, Role: role,
Currency: setting.Currency, Currency: setting.Currency,