23 lines
544 B
Go
23 lines
544 B
Go
package postgres
|
|
|
|
import (
|
|
"database/sql"
|
|
|
|
"git.javil.eu/jacob1123/budgeteer"
|
|
)
|
|
|
|
// UserService represents a PostgreSQL implementation of myapp.UserService.
|
|
type UserService struct {
|
|
DB *sql.DB
|
|
}
|
|
|
|
// User returns a user for a given id.
|
|
func (s *UserService) User(id int) (*budgeteer.User, error) {
|
|
var u budgeteer.User
|
|
row := s.DB.QueryRow(`SELECT id, email, password, name FROM users WHERE id = $1`, id)
|
|
if err := row.Scan(&u.ID, &u.Email, &u.Password, &u.Name); err != nil {
|
|
return nil, err
|
|
}
|
|
return &u, nil
|
|
}
|