23 lines
550 B
Go
23 lines
550 B
Go
package user
|
|
|
|
import (
|
|
"database/sql"
|
|
"time"
|
|
)
|
|
|
|
type User struct {
|
|
id int
|
|
created_at time.Time
|
|
name sql.NullString
|
|
username string
|
|
password string
|
|
}
|
|
|
|
func Create(db *sql.DB, username string, password string) (*User, error) {
|
|
//TODO: Hash password, plaintext is dumb and unsafe
|
|
row := db.QueryRow("INSERT INTO users(username, password) VALUES (?, ?) RETURNING id, created_at, name, username;", username, password)
|
|
user := &User{}
|
|
err := row.Scan(&user.id, &user.created_at, &user.name, &user.username)
|
|
return user, err
|
|
}
|