summaryrefslogtreecommitdiff
path: root/server/guest/store.go
diff options
context:
space:
mode:
Diffstat (limited to 'server/guest/store.go')
-rw-r--r--server/guest/store.go73
1 files changed, 34 insertions, 39 deletions
diff --git a/server/guest/store.go b/server/guest/store.go
index 56a8c2c..e111ea0 100644
--- a/server/guest/store.go
+++ b/server/guest/store.go
@@ -18,23 +18,21 @@ func NewStore(database *pgxpool.Pool) *Store {
}
}
-func (store Store) Find(name Name) (Guest, error) {
- guestRows, err := store.database.Query(context.Background(),
- "select * from guest")
+func (s *Store) Find(name Name) (Guest, error) {
+ guestRows, err := s.database.Query(context.Background(), "select * from guest")
if err != nil {
return Guest{}, err
}
defer guestRows.Close()
- guest, found := createGuest(name, guestRows)
+ guest, found := s.createGuest(name, guestRows)
- partyRows, err := store.database.Query(context.Background(),
- "select * from party")
+ partyRows, err := s.database.Query(context.Background(), "select * from party")
if err != nil {
return Guest{}, err
}
defer partyRows.Close()
- guest, err = addParty(guest, partyRows)
+ guest, err = s.addParty(guest, partyRows)
if err != nil {
return Guest{}, err
}
@@ -45,7 +43,7 @@ func (store Store) Find(name Name) (Guest, error) {
return Guest{}, errors.New("guest not found")
}
-func createGuest(name Name, guestRows pgx.Rows) (Guest, bool) {
+func (s *Store) createGuest(name Name, guestRows pgx.Rows) (Guest, bool) {
var guest Guest
for guestRows.Next() {
err := guestRows.Scan(&guest.Id, &guest.FirstName, &guest.LastName,
@@ -61,7 +59,7 @@ func createGuest(name Name, guestRows pgx.Rows) (Guest, bool) {
return Guest{}, false
}
-func addParty(guestWithoutParty Guest, partyRows pgx.Rows) (Guest, error) {
+func (s *Store) addParty(guestWithoutParty Guest, partyRows pgx.Rows) (Guest, error) {
guestWithParty := guestWithoutParty
for partyRows.Next() {
var guestId string
@@ -77,34 +75,32 @@ func addParty(guestWithoutParty Guest, partyRows pgx.Rows) (Guest, error) {
return guestWithParty, nil
}
-func (store Store) Get() ([]Guest, error) {
- guestRows, err := store.database.Query(context.Background(),
- "select * from guest")
+func (s *Store) Get() ([]Guest, error) {
+ guestRows, err := s.database.Query(context.Background(), "select * from guest")
if err != nil {
return nil, err
}
defer guestRows.Close()
- guestsWithoutParty, err := store.createGuestSlice(guestRows)
+ guestsWithoutParty, err := s.createGuestSlice(guestRows)
if err != nil {
return []Guest{}, err
}
- partyRows, err := store.database.Query(context.Background(),
- "select * from party")
+ partyRows, err := s.database.Query(context.Background(), "select * from party")
if err != nil {
return []Guest{}, err
}
defer partyRows.Close()
- guestsWithParty, err := addPartySlice(guestsWithoutParty, partyRows)
+ guestsWithParty, err := s.addPartySlice(guestsWithoutParty, partyRows)
if err != nil {
return []Guest{}, err
}
return guestsWithParty, nil
}
-func (store Store) createGuestSlice(guestRows pgx.Rows) ([]Guest, error) {
+func (s *Store) createGuestSlice(guestRows pgx.Rows) ([]Guest, error) {
guests := []Guest{}
for guestRows.Next() {
var guest Guest
@@ -118,8 +114,7 @@ func (store Store) createGuestSlice(guestRows pgx.Rows) ([]Guest, error) {
return guests, nil
}
-func addPartySlice(guestsWithoutParty []Guest,
- partyRows pgx.Rows) ([]Guest, error) {
+func (s *Store) addPartySlice(guestsWithoutParty []Guest, partyRows pgx.Rows) ([]Guest, error) {
guestsWithParty := guestsWithoutParty
for partyRows.Next() {
var guestId string
@@ -137,51 +132,51 @@ func addPartySlice(guestsWithoutParty []Guest,
return guestsWithParty, nil
}
-func (store Store) Add(guest Guest) error {
- if err := store.insertGuest(guest); err != nil {
+func (s *Store) Add(guest Guest) error {
+ if err := s.insertGuest(guest); err != nil {
return err
}
- return store.insertParty(guest)
+ return s.insertParty(guest)
}
-func (store Store) insertGuest(guest Guest) error {
+func (s *Store) insertGuest(guest Guest) error {
statement := `insert into guest (id, first_name, last_name, attendance,
email, message, party_size) values ($1, $2, $3, $4, $5, $6, $7)`
- _, err := store.database.Exec(context.Background(), statement, guest.Id,
+ _, err := s.database.Exec(context.Background(), statement, guest.Id,
guest.FirstName, guest.LastName, guest.Attendance, guest.Email,
guest.Message, guest.PartySize)
return err
}
-func (store Store) Update(guest Guest) error {
- if err := store.updateGuest(guest); err != nil {
+func (s *Store) Update(guest Guest) error {
+ if err := s.updateGuest(guest); err != nil {
return err
}
- if err := store.deleteParty(guest.Id); err != nil {
+ if err := s.deleteParty(guest.Id); err != nil {
return err
}
- return store.insertParty(guest)
+ return s.insertParty(guest)
}
-func (store Store) updateGuest(guest Guest) error {
+func (s *Store) updateGuest(guest Guest) error {
statement := `update guest set attendance = $1, email = $2, message = $3,
party_size = $4 where id = $5`
- _, err := store.database.Exec(context.Background(), statement,
+ _, err := s.database.Exec(context.Background(), statement,
guest.Attendance, guest.Email, guest.Message, guest.PartySize, guest.Id)
return err
}
-func (store Store) deleteParty(guestId string) error {
+func (s *Store) deleteParty(guestId string) error {
statement := "delete from party where guest_id = $1"
- _, err := store.database.Exec(context.Background(), statement, guestId)
+ _, err := s.database.Exec(context.Background(), statement, guestId)
return err
}
-func (store Store) insertParty(guest Guest) error {
+func (s *Store) insertParty(guest Guest) error {
statement := `insert into party (guest_id, first_name, last_name)
values ($1, $2, $3)`
for _, pg := range guest.PartyList {
- _, err := store.database.Exec(context.Background(), statement, guest.Id,
+ _, err := s.database.Exec(context.Background(), statement, guest.Id,
pg.FirstName, pg.LastName)
if err != nil {
return err
@@ -190,18 +185,18 @@ func (store Store) insertParty(guest Guest) error {
return nil
}
-func (store Store) Delete(guestId string) error {
- if err := store.deleteGuest(guestId); err != nil {
+func (s *Store) Delete(guestId string) error {
+ if err := s.deleteGuest(guestId); err != nil {
return err
}
- if err := store.deleteParty(guestId); err != nil {
+ if err := s.deleteParty(guestId); err != nil {
return err
}
return nil
}
-func (store Store) deleteGuest(guestId string) error {
+func (s *Store) deleteGuest(guestId string) error {
statement := "delete from guest where id = $1"
- _, err := store.database.Exec(context.Background(), statement, guestId)
+ _, err := s.database.Exec(context.Background(), statement, guestId)
return err
}