Skip to content

Commit

Permalink
feat(users): check duplicate email
Browse files Browse the repository at this point in the history
  • Loading branch information
LinkinStars committed Aug 14, 2023
1 parent 00e40ad commit 64c7271
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions internal/service/user_admin/user_backyard.go
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,24 @@ func (us *UserAdminService) formatBulkAddUsers(ctx context.Context, req *schema.
lang := handler.GetLangByCtx(ctx)
val := validator.GetValidatorByLang(lang)
errorData := &schema.AddUsersErrorData{Line: -1}
existEmails := make(map[string]bool)
existDisplayNames := make(map[string]bool)
for line, user := range req.Users {
if existEmails[user.Email] {
errorData.Field = "email"
errorData.Line = line + 1
errorData.Content = user.Email
errorData.ExtraMessage = translator.Tr(lang, reason.EmailDuplicate)
break
}
if existDisplayNames[user.DisplayName] {
errorData.Field = "displayName"
errorData.Line = line + 1
errorData.Content = user.DisplayName
errorData.ExtraMessage = translator.Tr(lang, reason.UsernameDuplicate)
break
}

if fields, e := val.Check(user); e != nil {
errorData.SetErrField(fields)
errorData.Line = line + 1
Expand Down Expand Up @@ -227,6 +244,8 @@ func (us *UserAdminService) formatBulkAddUsers(ctx context.Context, req *schema.
userInfo.Status = entity.UserStatusAvailable
userInfo.Rank = 1
users = append(users, userInfo)
existEmails[user.Email] = true
existDisplayNames[user.DisplayName] = true
}

if errorData.Line != -1 {
Expand Down

0 comments on commit 64c7271

Please sign in to comment.