From 672376a55c5916bb9e45ca68e7e96edb6bd540aa Mon Sep 17 00:00:00 2001 From: Jan Bader Date: Tue, 20 Dec 2016 20:46:25 +0100 Subject: [PATCH] Implement all services in type Repository --- cmd/budgeteer/main.go | 2 +- postgres/repository.go | 12 ++++++++++++ postgres/userservice.go | 17 ++++------------- 3 files changed, 17 insertions(+), 14 deletions(-) create mode 100644 postgres/repository.go diff --git a/cmd/budgeteer/main.go b/cmd/budgeteer/main.go index f09f75d..5fc64cb 100644 --- a/cmd/budgeteer/main.go +++ b/cmd/budgeteer/main.go @@ -22,7 +22,7 @@ func main() { panic("Failed creating ID-Generator") } - us := &postgres.UserService{DB: db, IDGenerator: id} + us := &postgres.Repository{DB: db, IDGenerator: id} tv := &jwt.TokenVerifier{} h := &http.Handler{ diff --git a/postgres/repository.go b/postgres/repository.go new file mode 100644 index 0000000..56b1aa8 --- /dev/null +++ b/postgres/repository.go @@ -0,0 +1,12 @@ +package postgres + +import ( + "git.javil.eu/jacob1123/budgeteer" + "gopkg.in/pg.v5" +) + +// Repository represents a PostgreSQL implementation of all ModelServices +type Repository struct { + DB *pg.DB + IDGenerator budgeteer.IDGenerator +} diff --git a/postgres/userservice.go b/postgres/userservice.go index 8273540..9b915f9 100644 --- a/postgres/userservice.go +++ b/postgres/userservice.go @@ -1,18 +1,9 @@ package postgres -import ( - "git.javil.eu/jacob1123/budgeteer" - "gopkg.in/pg.v5" -) - -// UserService represents a PostgreSQL implementation of myapp.UserService. -type UserService struct { - DB *pg.DB - IDGenerator budgeteer.IDGenerator -} +import "git.javil.eu/jacob1123/budgeteer" // User returns a user for a given id. -func (s *UserService) User(id string) (*budgeteer.User, error) { +func (s *Repository) User(id string) (*budgeteer.User, error) { u := &budgeteer.User{ID: id} err := s.DB.Select(&u) if err != nil { @@ -22,7 +13,7 @@ func (s *UserService) User(id string) (*budgeteer.User, error) { } // UserByUsername returns a user for a given username. -func (s *UserService) UserByUsername(username string) (*budgeteer.User, error) { +func (s *Repository) UserByUsername(username string) (*budgeteer.User, error) { u := &budgeteer.User{Email: username} err := s.DB.Model(&u). Where("email = ?", username). @@ -35,7 +26,7 @@ func (s *UserService) UserByUsername(username string) (*budgeteer.User, error) { } // CreateUser saves a user to the DB -func (s *UserService) CreateUser(user *budgeteer.User) error { +func (s *Repository) CreateUser(user *budgeteer.User) error { user.ID = s.IDGenerator.New() return s.DB.Insert(user) }