From 9e6c97e532ef9970fc975123abaca86c4ce9b6b1 Mon Sep 17 00:00:00 2001 From: Michael Hunteman Date: Sat, 31 Aug 2024 16:09:58 -0700 Subject: Update type names --- server/admin/handler.go | 4 ++-- server/admin/models.go | 2 +- server/guest/handler.go | 26 +++++++++++++------------- server/guest/models.go | 27 +++++++++++---------------- server/guest/store.go | 14 +++++++------- server/test/guest_test.go | 8 ++++---- 6 files changed, 38 insertions(+), 43 deletions(-) (limited to 'server') diff --git a/server/admin/handler.go b/server/admin/handler.go index 5fd1fee..f2d5807 100644 --- a/server/admin/handler.go +++ b/server/admin/handler.go @@ -114,6 +114,6 @@ func (adminHandler *AdminHandler) marshalResponse(guests []guest.Guest, token st return json.Marshal(loginResponse) } -func (adminHandler *AdminHandler) createLoginResponse(guests []guest.Guest, token string) *LoginResponse { - return &LoginResponse{guests, token} +func (adminHandler *AdminHandler) createLoginResponse(guests []guest.Guest, token string) *Login { + return &Login{guests, token} } diff --git a/server/admin/models.go b/server/admin/models.go index d9b8232..1699381 100644 --- a/server/admin/models.go +++ b/server/admin/models.go @@ -15,7 +15,7 @@ type Claims struct { jwt.RegisteredClaims } -type LoginResponse struct { +type Login struct { Guests []guest.Guest `json:"guests"` Token string `json:"token"` } diff --git a/server/guest/handler.go b/server/guest/handler.go index a14a039..e4ba3f3 100644 --- a/server/guest/handler.go +++ b/server/guest/handler.go @@ -22,7 +22,7 @@ type GuestHandler struct { } type GuestStore interface { - Find(credentials Credentials) (Guest, error) + Find(name Name) (Guest, error) Get() ([]Guest, error) Add(guest Guest) error Update(guest Guest) error @@ -103,16 +103,16 @@ func (handler *GuestHandler) handleDelete(responseWriter http.ResponseWriter, re } func (handler *GuestHandler) logIn(request *http.Request) ([]byte, *appError) { - credentials, err := handler.decodeCredentials(request) + name, err := handler.decodeName(request) if err != nil { - return []byte{}, &appError{err, "failed to unmarshal credentials", http.StatusBadRequest} + return []byte{}, &appError{err, "failed to unmarshal name", http.StatusBadRequest} } - guest, err := handler.store.Find(credentials) + guest, err := handler.store.Find(name) if err != nil { return []byte{}, &appError{err, "guest not found", http.StatusUnauthorized} } expirationTime := handler.setExpirationTime() - claims := handler.createClaims(credentials, expirationTime) + claims := handler.createClaims(name, expirationTime) key, err := handler.readGuestKey() if err != nil { return []byte{}, &appError{err, "failed to read secret key", http.StatusInternalServerError} @@ -128,20 +128,20 @@ func (handler *GuestHandler) logIn(request *http.Request) ([]byte, *appError) { return jsonBytes, nil } -func (handler *GuestHandler) decodeCredentials(request *http.Request) (Credentials, error) { - var credentials Credentials - err := json.NewDecoder(request.Body).Decode(&credentials) +func (handler *GuestHandler) decodeName(request *http.Request) (Name, error) { + var name Name + err := json.NewDecoder(request.Body).Decode(&name) defer request.Body.Close() - return credentials, err + return name, err } func (handler *GuestHandler) setExpirationTime() time.Time { return time.Now().Add(15 * time.Minute) } -func (handler *GuestHandler) createClaims(credentials Credentials, expirationTime time.Time) *Claims { +func (handler *GuestHandler) createClaims(name Name, expirationTime time.Time) *Claims { return &Claims{ - Credentials: credentials, + Name: name, RegisteredClaims: jwt.RegisteredClaims{ ExpiresAt: jwt.NewNumericDate(expirationTime), }, @@ -167,8 +167,8 @@ func (handler *GuestHandler) marshalResponse(guest Guest, token string) ([]byte, return json.Marshal(loginResponse) } -func (handler *GuestHandler) createLoginResponse(weddingGuest Guest, token string) *LoginResponse { - return &LoginResponse{ +func (handler *GuestHandler) createLoginResponse(weddingGuest Guest, token string) *Login { + return &Login{ Guest: weddingGuest, Token: token, } diff --git a/server/guest/models.go b/server/guest/models.go index f792789..d93bd53 100644 --- a/server/guest/models.go +++ b/server/guest/models.go @@ -3,32 +3,27 @@ package guest import "github.com/golang-jwt/jwt/v5" type Guest struct { - ID int `json:"id"` - FirstName string `json:"firstName"` - LastName string `json:"lastName"` - Attendance string `json:"attendance"` - Email string `json:"email"` - Message string `json:"message"` - PartySize int `json:"partySize"` - PartyList []PartyMember `json:"partyList"` + ID int `json:"id"` + FirstName string `json:"firstName"` + LastName string `json:"lastName"` + Attendance string `json:"attendance"` + Email string `json:"email"` + Message string `json:"message"` + PartySize int `json:"partySize"` + PartyList []Name `json:"partyList"` } -type PartyMember struct { - FirstName string `json:"firstName"` - LastName string `json:"lastName"` -} - -type Credentials struct { +type Name struct { FirstName string `json:"firstName"` LastName string `json:"lastName"` } type Claims struct { - Credentials Credentials `json:"credentials"` + Name Name `json:"name"` jwt.RegisteredClaims } -type LoginResponse struct { +type Login struct { Guest Guest `json:"guest"` Token string `json:"token"` } diff --git a/server/guest/store.go b/server/guest/store.go index 44fa6d7..16123e3 100644 --- a/server/guest/store.go +++ b/server/guest/store.go @@ -18,14 +18,14 @@ func NewStore(database *pgxpool.Pool) *Store { } } -func (store Store) Find(credentials Credentials) (Guest, error) { +func (store Store) Find(name Name) (Guest, error) { guestRows, err := store.database.Query(context.Background(), "select * from guest") if err != nil { return Guest{}, err } defer guestRows.Close() - guest, found := createGuest(credentials, guestRows) + guest, found := createGuest(name, guestRows) partyRows, err := store.database.Query(context.Background(), "select * from party") @@ -45,7 +45,7 @@ func (store Store) Find(credentials Credentials) (Guest, error) { return Guest{}, errors.New("guest not found") } -func createGuest(credentials Credentials, guestRows pgx.Rows) (Guest, bool) { +func createGuest(name Name, guestRows pgx.Rows) (Guest, bool) { var guest Guest for guestRows.Next() { err := guestRows.Scan(&guest.ID, &guest.FirstName, &guest.LastName, @@ -53,8 +53,8 @@ func createGuest(credentials Credentials, guestRows pgx.Rows) (Guest, bool) { if err != nil { return Guest{}, false } - if guest.FirstName == credentials.FirstName && - guest.LastName == credentials.LastName { + if guest.FirstName == name.FirstName && + guest.LastName == name.LastName { return guest, true } } @@ -65,7 +65,7 @@ func addParty(guestWithoutParty Guest, partyRows pgx.Rows) (Guest, error) { guestWithParty := guestWithoutParty for partyRows.Next() { var guestID int - var partyMember PartyMember + var partyMember Name err := partyRows.Scan(&guestID, &partyMember.FirstName, &partyMember.LastName) if err != nil { return Guest{}, err @@ -123,7 +123,7 @@ func addPartySlice(guestsWithoutParty []Guest, guestsWithParty := guestsWithoutParty for partyRows.Next() { var guestID int - var partyMember PartyMember + var partyMember Name err := partyRows.Scan(&guestID, &partyMember.FirstName, &partyMember.LastName) if err != nil { return []Guest{}, err diff --git a/server/test/guest_test.go b/server/test/guest_test.go index 4609d57..a5e8e8d 100644 --- a/server/test/guest_test.go +++ b/server/test/guest_test.go @@ -63,7 +63,7 @@ func TestUpdateRSVP(test *testing.T) { deleteGuest(guestHandler, adminToken, test) } -func logInGuest(guestHandler *guest.GuestHandler, test *testing.T) guest.LoginResponse { +func logInGuest(guestHandler *guest.GuestHandler, test *testing.T) guest.Login { response := httptest.NewRecorder() loginRequest, err := http.NewRequest(http.MethodPost, "http://localhost:8080/guests/login", strings.NewReader(getName())) @@ -72,7 +72,7 @@ func logInGuest(guestHandler *guest.GuestHandler, test *testing.T) guest.LoginRe } guestHandler.ServeHTTP(response, loginRequest) assertEquals(test, response.Result().StatusCode, 200) - var login guest.LoginResponse + var login guest.Login if err = json.NewDecoder(response.Body).Decode(&login); err != nil { log.Fatal(err) } @@ -91,7 +91,7 @@ func addPartyMember(guestHandler *guest.GuestHandler, token string, test *testin assertEquals(test, response.Result().StatusCode, 200) } -func logInAdmin(adminHandler *admin.AdminHandler, test *testing.T) admin.LoginResponse { +func logInAdmin(adminHandler *admin.AdminHandler, test *testing.T) admin.Login { response := httptest.NewRecorder() loginRequest, err := http.NewRequest(http.MethodPost, "http://localhost:8080/admin/login", strings.NewReader(getCredentials())) @@ -100,7 +100,7 @@ func logInAdmin(adminHandler *admin.AdminHandler, test *testing.T) admin.LoginRe } adminHandler.ServeHTTP(response, loginRequest) assertEquals(test, response.Result().StatusCode, 200) - var login admin.LoginResponse + var login admin.Login if err = json.NewDecoder(response.Body).Decode(&login); err != nil { log.Fatal(err) } -- cgit v1.2.3