aboutsummaryrefslogtreecommitdiff
path: root/internal/route/user/auth.go
diff options
context:
space:
mode:
authorJoe Chen <jc@unknwon.io>2022-11-27 19:36:10 +0800
committerGitHub <noreply@github.com>2022-11-27 19:36:10 +0800
commitae20d03aece78fb44dc1caaacfa40c3aa40c7949 (patch)
tree7e7b33f99eae57d8426eeead443276d5cbe0dd5a /internal/route/user/auth.go
parent44333afd20a6312b617e0c33a497a4385ba3a250 (diff)
refactor(db): migrate `UpdateUser` off `user.go` (#7267)
Diffstat (limited to 'internal/route/user/auth.go')
-rw-r--r--internal/route/user/auth.go48
1 files changed, 24 insertions, 24 deletions
diff --git a/internal/route/user/auth.go b/internal/route/user/auth.go
index 8e63d914..ff0febb9 100644
--- a/internal/route/user/auth.go
+++ b/internal/route/user/auth.go
@@ -367,9 +367,16 @@ func SignUpPost(c *context.Context, cpt *captcha.Captcha, f form.Register) {
//
// Auto-set admin for the only user.
if db.Users.Count(c.Req.Context()) == 1 {
- user.IsAdmin = true
- user.IsActive = true
- if err := db.UpdateUser(user); err != nil {
+ v := true
+ err := db.Users.Update(
+ c.Req.Context(),
+ user.ID,
+ db.UpdateUserOptions{
+ IsActivated: &v,
+ IsAdmin: &v,
+ },
+ )
+ if err != nil {
c.Error(err, "update user")
return
}
@@ -476,13 +483,16 @@ func Activate(c *context.Context) {
// Verify code.
if user := verifyUserActiveCode(code); user != nil {
- user.IsActive = true
- var err error
- if user.Rands, err = userutil.RandomSalt(); err != nil {
- c.Error(err, "get user salt")
- return
- }
- if err := db.UpdateUser(user); err != nil {
+ v := true
+ err := db.Users.Update(
+ c.Req.Context(),
+ user.ID,
+ db.UpdateUserOptions{
+ GenerateNewRands: true,
+ IsActivated: &v,
+ },
+ )
+ if err != nil {
c.Error(err, "update user")
return
}
@@ -601,26 +611,16 @@ func ResetPasswdPost(c *context.Context) {
if u := verifyUserActiveCode(code); u != nil {
// Validate password length.
- passwd := c.Query("password")
- if len(passwd) < 6 {
+ password := c.Query("password")
+ if len(password) < 6 {
c.Data["IsResetForm"] = true
c.Data["Err_Password"] = true
c.RenderWithErr(c.Tr("auth.password_too_short"), RESET_PASSWORD, nil)
return
}
- u.Password = passwd
- var err error
- if u.Rands, err = userutil.RandomSalt(); err != nil {
- c.Error(err, "get user salt")
- return
- }
- if u.Salt, err = userutil.RandomSalt(); err != nil {
- c.Error(err, "get user salt")
- return
- }
- u.Password = userutil.EncodePassword(u.Password, u.Salt)
- if err := db.UpdateUser(u); err != nil {
+ err := db.Users.Update(c.Req.Context(), u.ID, db.UpdateUserOptions{Password: &password})
+ if err != nil {
c.Error(err, "update user")
return
}