summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hunteman <michael@huntm.net>2024-07-06 16:27:15 -0700
committerMichael Hunteman <michael@huntm.net>2024-07-06 16:27:15 -0700
commit865d3fcb6780e209d209e4e7735c318ef32733dc (patch)
tree7ed564937451f5180b0f084f0c4540c71963aa2c
parentbacefa8db406aa188d27670649bb57f12a3b4c47 (diff)
Populate RSVP form
-rw-r--r--client/src/components/RsvpForm.tsx11
-rw-r--r--server/guest/store.go28
2 files changed, 31 insertions, 8 deletions
diff --git a/client/src/components/RsvpForm.tsx b/client/src/components/RsvpForm.tsx
index 9ac2d53..06c20c0 100644
--- a/client/src/components/RsvpForm.tsx
+++ b/client/src/components/RsvpForm.tsx
@@ -32,11 +32,11 @@ function RsvpForm() {
id: guest?.id,
firstName: guest?.firstName,
lastName: guest?.lastName,
- attendance: '',
- email: '',
- message: '',
- partySize: 1,
- partyList: [],
+ attendance: guest?.attendance,
+ email: guest?.email,
+ message: guest?.message,
+ partySize: guest?.partySize,
+ partyList: guest?.partyList,
},
});
@@ -126,7 +126,6 @@ function RsvpForm() {
fullWidth
error={!!errors.email}
helperText={errors.email?.message}
- required
{...register('email', {
required: 'This field is required',
pattern: {
diff --git a/server/guest/store.go b/server/guest/store.go
index 525bb71..db9fc3d 100644
--- a/server/guest/store.go
+++ b/server/guest/store.go
@@ -25,16 +25,40 @@ func (m MemStore) FindGuest(creds Credentials) (Guest, error) {
}
defer rows.Close()
+ found := false
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
+ found = true
+ break
}
}
- return guest, errors.New("Guest does not exist")
+
+ rows, err = m.db.Query(context.Background(), "select * from party")
+ if err != nil {
+ return guest, 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 guest, err
+ }
+ if guestId == guest.Id {
+ guest.PartyList = append(guest.PartyList, partyGuest)
+ }
+ }
+
+ if found {
+ return guest, nil
+ }
+ return guest, errors.New("Guest not found")
}
func (m MemStore) Get() ([]Guest, error) {