mirror of
https://github.com/kevin-DL/services.git
synced 2026-01-12 03:05:14 +00:00
user service: check for email or user name existence when creating (#172)
This commit is contained in:
@@ -52,6 +52,21 @@ func (s *User) Create(ctx context.Context, req *pb.CreateRequest, rsp *pb.Create
|
||||
}
|
||||
req.Username = strings.ToLower(req.Username)
|
||||
req.Email = strings.ToLower(req.Email)
|
||||
usernames, err := s.domain.Search(ctx, req.Username, "")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if len(usernames) > 0 {
|
||||
return errors.BadRequest("create.username-check", "username already exists")
|
||||
}
|
||||
|
||||
emails, err := s.domain.Search(ctx, "", req.Email)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if len(emails) > 0 {
|
||||
return errors.BadRequest("create.email-check", "email already exists")
|
||||
}
|
||||
|
||||
salt := random(16)
|
||||
h, err := bcrypt.GenerateFromPassword([]byte(x+salt+req.Password), 10)
|
||||
|
||||
Reference in New Issue
Block a user