summaryrefslogtreecommitdiff
path: root/server/guests/store.go
diff options
context:
space:
mode:
authorMichael Hunteman <michael@huntm.net>2024-07-06 15:24:05 -0700
committerMichael Hunteman <michael@huntm.net>2024-07-06 15:24:43 -0700
commitbacefa8db406aa188d27670649bb57f12a3b4c47 (patch)
treea6fb8996b940b6016d314d29fdd265ce6d74275e /server/guests/store.go
parentb9b8099da1a098300d11e0f479d56e24e363e076 (diff)
Rename to guest
Diffstat (limited to 'server/guests/store.go')
-rw-r--r--server/guests/store.go117
1 files changed, 0 insertions, 117 deletions
diff --git a/server/guests/store.go b/server/guests/store.go
deleted file mode 100644
index bedc646..0000000
--- a/server/guests/store.go
+++ /dev/null
@@ -1,117 +0,0 @@
-package guests
-
-import (
- "context"
- "errors"
-
- "github.com/jackc/pgx/v5/pgxpool"
-)
-
-type MemStore struct {
- db *pgxpool.Pool
-}
-
-func NewMemStore(db *pgxpool.Pool) *MemStore {
- return &MemStore{
- db,
- }
-}
-
-func (m MemStore) FindGuest(creds Credentials) (Guest, error) {
- rows, err := m.db.Query(context.Background(), "select * from guest")
- var guest Guest
- if err != nil {
- return guest, err
- }
- defer rows.Close()
-
- for rows.Next() {
- err := rows.Scan(&guest.Id, &guest.FirstName, &guest.LastName, &guest.Attendance, &guest.Email, &guest.Message, &guest.PartySize)
- if err != nil {
- return guest, err
- }
- if guest.FirstName == creds.FirstName && guest.LastName == creds.LastName {
- return guest, nil
- }
- }
- return guest, errors.New("Guest does not exist")
-}
-
-func (m MemStore) Get() ([]Guest, error) {
- rows, err := m.db.Query(context.Background(), "select * from guest")
- if err != nil {
- return nil, err
- }
- defer rows.Close()
-
- guestSlice := []Guest{}
- for rows.Next() {
- var guest Guest
- err := rows.Scan(&guest.Id, &guest.FirstName, &guest.LastName, &guest.Attendance, &guest.Email, &guest.Message, &guest.PartySize)
- if err != nil {
- return guestSlice, err
- }
- guestSlice = append(guestSlice, guest)
- }
-
- rows, err = m.db.Query(context.Background(), "select * from party")
- if err != nil {
- return guestSlice, err
- }
- defer rows.Close()
-
- for rows.Next() {
- var guestId int
- var partyGuest PartyGuest
- err := rows.Scan(&guestId, &partyGuest.FirstName, &partyGuest.LastName)
- if err != nil {
- return guestSlice, err
- }
- for i, g := range guestSlice {
- if guestId == g.Id {
- guestSlice[i].PartyList = append(g.PartyList, partyGuest)
- }
- }
- }
- return guestSlice, nil
-}
-
-func (m MemStore) Add(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 := m.db.Exec(context.Background(), statement, guest.Id, guest.FirstName, guest.LastName, guest.Attendance, guest.Email, guest.Message, guest.PartySize)
- if err != nil {
- return err
- }
-
- statement = "insert into party (guest_id, first_name, last_name) values ($1, $2, $3)"
- for _, pg := range guest.PartyList {
- _, err = m.db.Exec(context.Background(), statement, guest.Id, pg.FirstName, pg.LastName)
- if err != nil {
- return err
- }
- }
- return nil
-}
-
-func (m MemStore) Update(guest Guest) error {
- statement := "update guest set attendance = $1, email = $2, message = $3, party_size = $4 where id = $5"
- _, err := m.db.Exec(context.Background(), statement, guest.Attendance, guest.Email, guest.Message, guest.PartySize, guest.Id)
- if err != nil {
- return err
- }
-
- statement = "delete from party where guest_id = $1"
- _, err = m.db.Exec(context.Background(), statement, guest.Id)
- if err != nil {
- return err
- }
-
- statement = "insert into party (guest_id, first_name, last_name) values ($1, $2, $3)"
- for _, pg := range guest.PartyList {
- _, err = m.db.Exec(context.Background(), statement, guest.Id, pg.FirstName, pg.LastName)
- if err != nil {
- return err
- }
- }
- return nil
-}