]> code.octet-stream.net Git - broadcaster/blobdiff - server/database.go
User management
[broadcaster] / server / database.go
index 13122083f94c4b140dac3ff65bedff72d22b04f6..06e5968ac1090b2e8cbaad4857338b8004ac0b0f 100644 (file)
@@ -79,6 +79,15 @@ func (d *Database) GetUser(username string) (User, error) {
        return user, nil
 }
 
+func (d *Database) GetUserById(id int) (User, error) {
+       var user User
+       err := d.sqldb.QueryRow("SELECT id, username, password_hash, is_admin FROM users WHERE id = ?", id).Scan(&user.Id, &user.Username, &user.PasswordHash, &user.IsAdmin)
+       if err != nil {
+               return User{}, errors.New("no user with that id")
+       }
+       return user, nil
+}
+
 func (d *Database) GetUsers() []User {
        ret := make([]User, 0)
        rows, err := d.sqldb.Query("SELECT id, username, password_hash, is_admin FROM users ORDER BY username ASC")