From 1030df32f7ffef9bc11273676bae538f9fcc10b1 Mon Sep 17 00:00:00 2001 From: Kevin Midboe Date: Sat, 3 Dec 2022 12:20:05 +0100 Subject: [PATCH] Non-empty validation of required post body fields --- server/handler/confirmation.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/server/handler/confirmation.go b/server/handler/confirmation.go index 7a3f0f2..bbe4bcd 100644 --- a/server/handler/confirmation.go +++ b/server/handler/confirmation.go @@ -22,7 +22,6 @@ func SendOrderConfirmation(s *sendgrid.Client) http.HandlerFunc { err = s.SendOrderConfirmation(ctx, *mailData) if err != nil { - fmt.Println(err) handleError(w, err, "error from sendgrid ", http.StatusInternalServerError, true) return } @@ -51,5 +50,17 @@ func getOrderConfirmationPayload(r *http.Request) (*mail.OrderConfirmationData, return nil, fmt.Errorf("decode: %w", err) } + if payload.Email == "" { + return nil, fmt.Errorf("missing required email field") + } + + if payload.OrderId == "" { + return nil, fmt.Errorf("missing required orderid field") + } + + if len(payload.Products) == 0 { + return nil, fmt.Errorf("missing required products array") + } + return &payload, nil }