From ead5c151886ba2c52772b6213c433c95cad2822b Mon Sep 17 00:00:00 2001
From: Bob Callaway <bobcallaway@users.noreply.github.com>
Date: Mon, 4 Jan 2021 15:23:47 -0500
Subject: [PATCH] Mark request body for create entry as required (#81)

We can't insert a blank entry, so mark request body as required.

Signed-off-by: Bob Callaway <bcallawa@redhat.com>
---
 openapi.yaml                                               | 1 +
 pkg/generated/restapi/embedded_spec.go                     | 2 ++
 .../operations/entries/create_log_entry_parameters.go      | 7 +++++++
 3 files changed, 10 insertions(+)

diff --git a/openapi.yaml b/openapi.yaml
index 2a1524d..40e850e 100644
--- a/openapi.yaml
+++ b/openapi.yaml
@@ -75,6 +75,7 @@ paths:
           name: proposedEntry
           schema:
             $ref: '#/definitions/ProposedEntry'
+          required: true
       responses:
         201:
           description: Returns the entry created in the transparency log
diff --git a/pkg/generated/restapi/embedded_spec.go b/pkg/generated/restapi/embedded_spec.go
index bf0e81a..f0f6b4e 100644
--- a/pkg/generated/restapi/embedded_spec.go
+++ b/pkg/generated/restapi/embedded_spec.go
@@ -115,6 +115,7 @@ func init() {
           {
             "name": "proposedEntry",
             "in": "body",
+            "required": true,
             "schema": {
               "$ref": "#/definitions/ProposedEntry"
             }
@@ -579,6 +580,7 @@ func init() {
           {
             "name": "proposedEntry",
             "in": "body",
+            "required": true,
             "schema": {
               "$ref": "#/definitions/ProposedEntry"
             }
diff --git a/pkg/generated/restapi/operations/entries/create_log_entry_parameters.go b/pkg/generated/restapi/operations/entries/create_log_entry_parameters.go
index 7d73319..efd6865 100644
--- a/pkg/generated/restapi/operations/entries/create_log_entry_parameters.go
+++ b/pkg/generated/restapi/operations/entries/create_log_entry_parameters.go
@@ -24,6 +24,7 @@ package entries
 
 import (
 	"context"
+	"io"
 	"net/http"
 
 	"github.com/go-openapi/errors"
@@ -51,6 +52,7 @@ type CreateLogEntryParams struct {
 	HTTPRequest *http.Request `json:"-"`
 
 	/*
+	  Required: true
 	  In: body
 	*/
 	ProposedEntry models.ProposedEntry
@@ -69,6 +71,9 @@ func (o *CreateLogEntryParams) BindRequest(r *http.Request, route *middleware.Ma
 		defer r.Body.Close()
 		body, err := models.UnmarshalProposedEntry(r.Body, route.Consumer)
 		if err != nil {
+			if err == io.EOF {
+				err = errors.Required("proposedEntry", "body", "")
+			}
 			res = append(res, err)
 		} else {
 			// validate body object
@@ -85,6 +90,8 @@ func (o *CreateLogEntryParams) BindRequest(r *http.Request, route *middleware.Ma
 				o.ProposedEntry = body
 			}
 		}
+	} else {
+		res = append(res, errors.Required("proposedEntry", "body", ""))
 	}
 	if len(res) > 0 {
 		return errors.CompositeValidationError(res...)
-- 
GitLab