Legend:
- Unmodified
- Added
- Removed
-
trunk/cmd/sojuctl/main.go
r308 r324 70 70 Password: string(hashed), 71 71 } 72 if err := db. CreateUser(&user); err != nil {72 if err := db.StoreUser(&user); err != nil { 73 73 log.Fatalf("failed to create user: %v", err) 74 74 } … … 91 91 92 92 user := soju.User{ 93 Created: true, 93 94 Username: username, 94 95 Password: string(hashed), 95 96 } 96 if err := db. UpdatePassword(&user); err != nil {97 if err := db.StoreUser(&user); err != nil { 97 98 log.Fatalf("failed to update password: %v", err) 98 99 } 99 100 100 default: 101 101 flag.Usage() -
trunk/db.go
r307 r324 11 11 12 12 type User struct { 13 Created bool 13 14 Username string 14 15 Password string // hashed … … 200 201 return nil, err 201 202 } 203 user.Created = true 202 204 user.Password = fromStringPtr(password) 203 205 users = append(users, user) … … 214 216 defer db.lock.RUnlock() 215 217 216 user := &User{ Username: username}218 user := &User{Created: true, Username: username} 217 219 218 220 var password *string … … 225 227 } 226 228 227 func (db *DB) CreateUser(user *User) error {229 func (db *DB) StoreUser(user *User) error { 228 230 db.lock.Lock() 229 231 defer db.lock.Unlock() 230 232 231 233 password := toStringPtr(user.Password) 232 _, err := db.db.Exec("INSERT INTO User(username, password) VALUES (?, ?)", user.Username, password) 233 return err234 } 235 236 func (db *DB) UpdatePassword(user *User) error { 237 db.lock.Lock()238 defer db.lock.Unlock()239 240 password := toStringPtr(user.Password)241 _, err := db.db.Exec(`UPDATE User242 SET password = ?243 WHERE username = ?`,244 password, user.Username) 234 235 var err error 236 if user.Created { 237 _, err = db.db.Exec("UPDATE User SET password = ? WHERE username = ?", 238 password, user.Username) 239 } else { 240 _, err = db.db.Exec("INSERT INTO User(username, password) VALUES (?, ?)", 241 user.Username, password) 242 if err == nil { 243 user.Created = true 244 } 245 } 246 245 247 return err 246 248 } -
trunk/user.go
r313 r324 548 548 func (u *user) updatePassword(hashed string) error { 549 549 u.User.Password = hashed 550 return u.srv.db. UpdatePassword(&u.User)551 } 550 return u.srv.db.StoreUser(&u.User) 551 }
Note:
See TracChangeset
for help on using the changeset viewer.