Changeset 382 in code for trunk/db.go
- Timestamp:
- Aug 11, 2020, 8:26:42 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/db.go
r375 r382 11 11 12 12 type User struct { 13 Created bool13 ID int64 14 14 Username string 15 15 Password string // hashed … … 191 191 defer db.lock.RUnlock() 192 192 193 rows, err := db.db.Query("SELECT username, password, admin FROM User")193 rows, err := db.db.Query("SELECT rowid, username, password, admin FROM User") 194 194 if err != nil { 195 195 return nil, err … … 201 201 var user User 202 202 var password *string 203 if err := rows.Scan(&user. Username, &password, &user.Admin); err != nil {203 if err := rows.Scan(&user.ID, &user.Username, &password, &user.Admin); err != nil { 204 204 return nil, err 205 205 } 206 user.Created = true207 206 user.Password = fromStringPtr(password) 208 207 users = append(users, user) … … 219 218 defer db.lock.RUnlock() 220 219 221 user := &User{ Created: true,Username: username}220 user := &User{Username: username} 222 221 223 222 var password *string 224 row := db.db.QueryRow("SELECT password, admin FROM User WHERE username = ?", username)225 if err := row.Scan(& password, &user.Admin); err != nil {223 row := db.db.QueryRow("SELECT rowid, password, admin FROM User WHERE username = ?", username) 224 if err := row.Scan(&user.ID, &password, &user.Admin); err != nil { 226 225 return nil, err 227 226 } … … 237 236 238 237 var err error 239 if user. Created{238 if user.ID != 0 { 240 239 _, err = db.db.Exec("UPDATE User SET password = ?, admin = ? WHERE username = ?", 241 240 password, user.Admin, user.Username) 242 241 } else { 243 _, err = db.db.Exec("INSERT INTO User(username, password, admin) VALUES (?, ?, ?)", 242 var res sql.Result 243 res, err = db.db.Exec("INSERT INTO User(username, password, admin) VALUES (?, ?, ?, ?)", 244 244 user.Username, password, user.Admin) 245 if err == nil { 246 user.Created = true 247 } 245 if err != nil { 246 return err 247 } 248 user.ID, err = res.LastInsertId() 248 249 } 249 250
Note:
See TracChangeset
for help on using the changeset viewer.