From cb6558a8ce5c6d0849eadf36fcfdece90cd2a4ab Mon Sep 17 00:00:00 2001 From: Jan Bader Date: Tue, 20 Dec 2016 11:45:34 +0100 Subject: [PATCH] Implement CreateUser & use ID --- postgres/userservice.go | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/postgres/userservice.go b/postgres/userservice.go index 7928f77..8a78084 100644 --- a/postgres/userservice.go +++ b/postgres/userservice.go @@ -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) +}