budgeteer/postgres/userservice.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
}