Implement CreateUser & use ID

This commit is contained in:
Jan Bader 2016-12-20 11:45:34 +01:00
parent f66e544d43
commit cb6558a8ce

View File

@ -1,16 +1,18 @@
package postgres
import "git.javil.eu/jacob1123/budgeteer"
import "gopkg.in/pg.v5"
import (
"git.javil.eu/jacob1123/budgeteer"
"gopkg.in/pg.v5"
)
// UserService represents a PostgreSQL implementation of myapp.UserService.
type UserService struct {
DB *pg.DB
DB *pg.DB
IDGenerator budgeteer.IDGenerator
}
// User returns a user for a given id.
func (s *UserService) User(id int) (*budgeteer.User, error) {
func (s *UserService) User(id budgeteer.ID) (*budgeteer.User, error) {
u := &budgeteer.User{ID: id}
err := s.DB.Select(&u)
if err != nil {
@ -18,3 +20,9 @@ func (s *UserService) User(id int) (*budgeteer.User, error) {
}
return u, nil
}
// CreateUser saves a user to the DB
func (s *UserService) CreateUser(user *budgeteer.User) error {
user.ID = s.IDGenerator.New()
return s.DB.Insert(user)
}