aboutsummaryrefslogtreecommitdiff
path: root/internal/route/user/setting.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/setting.go
parent44333afd20a6312b617e0c33a497a4385ba3a250 (diff)
refactor(db): migrate `UpdateUser` off `user.go` (#7267)
Diffstat (limited to 'internal/route/user/setting.go')
-rw-r--r--internal/route/user/setting.go45
1 files changed, 27 insertions, 18 deletions
diff --git a/internal/route/user/setting.go b/internal/route/user/setting.go
index fbb7c9ae..0f5a62bf 100644
--- a/internal/route/user/setting.go
+++ b/internal/route/user/setting.go
@@ -96,10 +96,9 @@ func SettingsPost(c *context.Context, f form.UpdateProfile) {
c.Req.Context(),
c.User.ID,
db.UpdateUserOptions{
- FullName: f.FullName,
- Website: f.Website,
- Location: f.Location,
- MaxRepoCreation: c.User.MaxRepoCreation,
+ FullName: &f.FullName,
+ Website: &f.Website,
+ Location: &f.Location,
},
)
if err != nil {
@@ -113,13 +112,23 @@ func SettingsPost(c *context.Context, f form.UpdateProfile) {
// FIXME: limit upload size
func UpdateAvatarSetting(c *context.Context, f form.Avatar, ctxUser *db.User) error {
- if f.Source == form.AVATAR_BYMAIL && len(f.Gravatar) > 0 {
- ctxUser.UseCustomAvatar = false
- ctxUser.Avatar = cryptoutil.MD5(f.Gravatar)
- ctxUser.AvatarEmail = f.Gravatar
+ if f.Source == form.AvatarLookup && f.Gravatar != "" {
+ avatar := cryptoutil.MD5(f.Gravatar)
+ err := db.Users.Update(
+ c.Req.Context(),
+ ctxUser.ID,
+ db.UpdateUserOptions{
+ Avatar: &avatar,
+ AvatarEmail: &f.Gravatar,
+ },
+ )
+ if err != nil {
+ return errors.Wrap(err, "update user")
+ }
- if err := db.UpdateUser(ctxUser); err != nil {
- return fmt.Errorf("update user: %v", err)
+ err = db.Users.DeleteCustomAvatar(c.Req.Context(), c.User.ID)
+ if err != nil {
+ return errors.Wrap(err, "delete custom avatar")
}
return nil
}
@@ -193,14 +202,14 @@ func SettingsPasswordPost(c *context.Context, f form.ChangePassword) {
} else if f.Password != f.Retype {
c.Flash.Error(c.Tr("form.password_not_match"))
} else {
- c.User.Password = f.Password
- var err error
- if c.User.Salt, err = userutil.RandomSalt(); err != nil {
- c.Errorf(err, "get user salt")
- return
- }
- c.User.Password = userutil.EncodePassword(c.User.Password, c.User.Salt)
- if err := db.UpdateUser(c.User); err != nil {
+ err := db.Users.Update(
+ c.Req.Context(),
+ c.User.ID,
+ db.UpdateUserOptions{
+ Password: &f.Password,
+ },
+ )
+ if err != nil {
c.Errorf(err, "update user")
return
}