Changeset 572 in code
- Timestamp:
- Jun 28, 2021, 4:05:03 PM (4 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/service.go
r570 r572 776 776 } 777 777 778 // copy the user record because we'll mutate it 779 record := dc.user.User 780 778 781 if password != nil { 779 782 hashed, err := bcrypt.GenerateFromPassword([]byte(*password), bcrypt.DefaultCost) … … 781 784 return fmt.Errorf("failed to hash password: %v", err) 782 785 } 783 if err := dc.user.updatePassword(string(hashed)); err != nil { 784 return err 785 } 786 record.Password = string(hashed) 786 787 } 787 788 if realname != nil { 788 if err := dc.user.updateRealname(*realname); err != nil { 789 return err 790 } 789 record.Realname = *realname 790 } 791 792 if err := dc.user.updateUser(&record); err != nil { 793 return err 791 794 } 792 795 -
trunk/user.go
r568 r572 857 857 } 858 858 859 func (u *user) updatePassword(hashed string) error { 860 u.User.Password = hashed 861 return u.srv.db.StoreUser(&u.User) 862 } 863 864 func (u *user) updateRealname(realname string) error { 865 u.User.Realname = realname 866 if err := u.srv.db.StoreUser(&u.User); err != nil { 859 func (u *user) updateUser(record *User) error { 860 if u.ID != record.ID { 861 panic("ID mismatch when updating user") 862 } 863 864 realnameUpdated := u.Realname != record.Realname 865 if err := u.srv.db.StoreUser(record); err != nil { 867 866 return fmt.Errorf("failed to update user %q: %v", u.Username, err) 868 867 } 869 870 // Re-connect to networks which use the default realname 871 var needUpdate []Network 872 u.forEachNetwork(func(net *network) { 873 if net.Realname == "" { 874 needUpdate = append(needUpdate, net.Network) 875 } 876 }) 877 878 var netErr error 879 for _, net := range needUpdate { 880 if _, err := u.updateNetwork(&net); err != nil { 881 netErr = err 882 } 883 } 884 885 return netErr 868 u.User = *record 869 870 if realnameUpdated { 871 // Re-connect to networks which use the default realname 872 var needUpdate []Network 873 u.forEachNetwork(func(net *network) { 874 if net.Realname == "" { 875 needUpdate = append(needUpdate, net.Network) 876 } 877 }) 878 879 var netErr error 880 for _, net := range needUpdate { 881 if _, err := u.updateNetwork(&net); err != nil { 882 netErr = err 883 } 884 } 885 if netErr != nil { 886 return netErr 887 } 888 } 889 890 return nil 886 891 } 887 892
Note:
See TracChangeset
for help on using the changeset viewer.