Skip to content
Snippets Groups Projects
Commit dde11336 authored by meskio's avatar meskio :tent:
Browse files

Trim and lower login names

parent 1a205c51
Branches
No related tags found
No related merge requests found
...@@ -6,6 +6,7 @@ import ( ...@@ -6,6 +6,7 @@ import (
"encoding/base64" "encoding/base64"
"errors" "errors"
"log" "log"
"strings"
"time" "time"
"golang.org/x/crypto/argon2" "golang.org/x/crypto/argon2"
...@@ -47,9 +48,9 @@ type MemberReq struct { ...@@ -47,9 +48,9 @@ type MemberReq struct {
func (d DB) AddMember(memberReq *MemberReq) (member Member, err error) { func (d DB) AddMember(memberReq *MemberReq) (member Member, err error) {
member.Num = memberReq.Num member.Num = memberReq.Num
member.Login = memberReq.Login member.Login = cleanLogin(*memberReq.Login)
member.Name = memberReq.Name member.Name = memberReq.Name
member.Email = memberReq.Email member.Email = strings.TrimSpace(memberReq.Email)
member.Phone = memberReq.Phone member.Phone = memberReq.Phone
member.Balance = memberReq.Balance member.Balance = memberReq.Balance
member.Role = memberReq.Role member.Role = memberReq.Role
...@@ -97,13 +98,13 @@ func (d DB) UpdateMember(num int, member MemberReq, checkPass bool) (Member, err ...@@ -97,13 +98,13 @@ func (d DB) UpdateMember(num int, member MemberReq, checkPass bool) (Member, err
dbMember.Num = member.Num dbMember.Num = member.Num
} }
if member.Login != nil { if member.Login != nil {
dbMember.Login = member.Login dbMember.Login = cleanLogin(*member.Login)
} }
if member.Name != "" { if member.Name != "" {
dbMember.Name = member.Name dbMember.Name = member.Name
} }
if member.Email != "" { if member.Email != "" {
dbMember.Email = member.Email dbMember.Email = strings.TrimSpace(member.Email)
} }
if member.Phone != "" { if member.Phone != "" {
dbMember.Phone = member.Phone dbMember.Phone = member.Phone
...@@ -122,7 +123,8 @@ func (d DB) UpdateMember(num int, member MemberReq, checkPass bool) (Member, err ...@@ -122,7 +123,8 @@ func (d DB) UpdateMember(num int, member MemberReq, checkPass bool) (Member, err
} }
func (d DB) Login(login, password string) (member Member, err error) { func (d DB) Login(login, password string) (member Member, err error) {
err = d.db.Where("login = ?", login).First(&member).Error err = d.db.Where("login = ?", cleanLogin(login)).
First(&member).Error
if err != nil { if err != nil {
return return
} }
...@@ -168,7 +170,7 @@ func (d *DB) ResetPassword(token, password, login string) error { ...@@ -168,7 +170,7 @@ func (d *DB) ResetPassword(token, password, login string) error {
return err return err
} }
if login != "" { if login != "" {
member.Login = &login member.Login = cleanLogin(login)
} }
return d.db.Transaction(func(tx *gorm.DB) error { return d.db.Transaction(func(tx *gorm.DB) error {
...@@ -228,3 +230,8 @@ func hashPass(password string, salt []byte) []byte { ...@@ -228,3 +230,8 @@ func hashPass(password string, salt []byte) []byte {
return argon2.IDKey([]byte(password), salt, time, memory, threads, keyLen) return argon2.IDKey([]byte(password), salt, time, memory, threads, keyLen)
} }
func cleanLogin(login string) *string {
cleanedLogin := strings.ToLower(strings.TrimSpace(login))
return &cleanedLogin
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment