cmd/sojuctl: read user from DB before updating it

This makes sure we don't overwrite other fields, such as Admin.

Closes: https://todo.sr.ht/~emersion/soju/85

git-svn-id: file:///srv/svn/repo/suika/trunk@380 f0ae65fe-ee39-954e-97ec-027ff2717ef4
This commit is contained in:
contact 2020-08-11 08:21:49 +00:00
parent d6696ca80c
commit d000ec491a

View File

@ -94,12 +94,12 @@ func main() {
log.Fatalf("failed to hash password: %v", err)
}
user := soju.User{
Created: true,
Username: username,
Password: string(hashed),
user, err := db.GetUser(username)
if err != nil {
log.Fatalf("failed to get user: %v", err)
}
if err := db.StoreUser(&user); err != nil {
user.Password = string(hashed)
if err := db.StoreUser(user); err != nil {
log.Fatalf("failed to update password: %v", err)
}
default: