Skip to content

Commit

Permalink
fix(queries.Register): reward inviter after checking email availability
Browse files Browse the repository at this point in the history
  • Loading branch information
AstatineAi committed May 29, 2024
1 parent 2b903f9 commit 7b70858
Showing 1 changed file with 17 additions and 16 deletions.
33 changes: 17 additions & 16 deletions pkg/queries/user.go
Original file line number Diff line number Diff line change
Expand Up @@ -117,22 +117,6 @@ func Register(db *gorm.DB, u *models.User, invitation_code string) error {
return errors.New(errors.InvalidArgument)
}

// check if the invitation code is valid
if invitation_code != "" {
inviter, err := GetUserByInvitationCode(db, invitation_code)
if err != nil {
if errors.Is(err, errors.UserNotExists) {
return errors.New(errors.InvitationCodeInvalid)
}
return err
}

u.InvitedByUserID = inviter.ID
// TODO: only once for the inviter?
inviter.Reward += 100
db.Save(inviter)
}

// 检查邮箱是否已存在
user := &models.User{}
result := db.Where("email = ?", u.Email).Take(user)
Expand Down Expand Up @@ -160,6 +144,23 @@ func Register(db *gorm.DB, u *models.User, invitation_code string) error {
}
u.InvitationCode = code

// check if the invitation code is valid
if invitation_code != "" {
inviter, err := GetUserByInvitationCode(db, invitation_code)
if err != nil {
if errors.Is(err, errors.UserNotExists) {
return errors.New(errors.InvitationCodeInvalid)
}
return err
}

u.InvitedByUserID = inviter.ID
inviter.Reward += 100
if err = db.Select("reward").Save(inviter).Error; err != nil {
return errors.Wrap(err, errors.DatabaseError)
}
}

if err = db.Create(u).Error; err != nil {
return errors.Wrap(err, errors.DatabaseError)
}
Expand Down

0 comments on commit 7b70858

Please sign in to comment.