github.com/djarvur/go-swagger@v0.18.0/examples/contributed-templates/stratoscale/models/order.go (about) 1 // Code generated by go-swagger; DO NOT EDIT. 2 3 package models 4 5 // This file was generated by the swagger tool. 6 // Editing this file might prove futile when you re-run the swagger generate command 7 8 import ( 9 "encoding/json" 10 11 strfmt "github.com/go-openapi/strfmt" 12 13 "github.com/go-openapi/errors" 14 "github.com/go-openapi/swag" 15 "github.com/go-openapi/validate" 16 ) 17 18 // Order order 19 // swagger:model Order 20 type Order struct { 21 22 // complete 23 Complete *bool `json:"complete,omitempty"` 24 25 // id 26 ID int64 `json:"id,omitempty"` 27 28 // pet Id 29 PetID int64 `json:"petId,omitempty"` 30 31 // quantity 32 Quantity int32 `json:"quantity,omitempty"` 33 34 // ship date 35 // Format: date-time 36 ShipDate strfmt.DateTime `json:"shipDate,omitempty"` 37 38 // Order Status 39 // Enum: [placed approved delivered] 40 Status string `json:"status,omitempty"` 41 } 42 43 // Validate validates this order 44 func (m *Order) Validate(formats strfmt.Registry) error { 45 var res []error 46 47 if err := m.validateShipDate(formats); err != nil { 48 res = append(res, err) 49 } 50 51 if err := m.validateStatus(formats); err != nil { 52 res = append(res, err) 53 } 54 55 if len(res) > 0 { 56 return errors.CompositeValidationError(res...) 57 } 58 return nil 59 } 60 61 func (m *Order) validateShipDate(formats strfmt.Registry) error { 62 63 if swag.IsZero(m.ShipDate) { // not required 64 return nil 65 } 66 67 if err := validate.FormatOf("shipDate", "body", "date-time", m.ShipDate.String(), formats); err != nil { 68 return err 69 } 70 71 return nil 72 } 73 74 var orderTypeStatusPropEnum []interface{} 75 76 func init() { 77 var res []string 78 if err := json.Unmarshal([]byte(`["placed","approved","delivered"]`), &res); err != nil { 79 panic(err) 80 } 81 for _, v := range res { 82 orderTypeStatusPropEnum = append(orderTypeStatusPropEnum, v) 83 } 84 } 85 86 const ( 87 88 // OrderStatusPlaced captures enum value "placed" 89 OrderStatusPlaced string = "placed" 90 91 // OrderStatusApproved captures enum value "approved" 92 OrderStatusApproved string = "approved" 93 94 // OrderStatusDelivered captures enum value "delivered" 95 OrderStatusDelivered string = "delivered" 96 ) 97 98 // prop value enum 99 func (m *Order) validateStatusEnum(path, location string, value string) error { 100 if err := validate.Enum(path, location, value, orderTypeStatusPropEnum); err != nil { 101 return err 102 } 103 return nil 104 } 105 106 func (m *Order) validateStatus(formats strfmt.Registry) error { 107 108 if swag.IsZero(m.Status) { // not required 109 return nil 110 } 111 112 // value enum 113 if err := m.validateStatusEnum("status", "body", m.Status); err != nil { 114 return err 115 } 116 117 return nil 118 } 119 120 // MarshalBinary interface implementation 121 func (m *Order) MarshalBinary() ([]byte, error) { 122 if m == nil { 123 return nil, nil 124 } 125 return swag.WriteJSON(m) 126 } 127 128 // UnmarshalBinary interface implementation 129 func (m *Order) UnmarshalBinary(b []byte) error { 130 var res Order 131 if err := swag.ReadJSON(b, &res); err != nil { 132 return err 133 } 134 *m = res 135 return nil 136 }