github.com/go-swagger/go-swagger@v0.31.0/examples/composed-auth/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 "context" 10 "strconv" 11 12 "github.com/go-openapi/errors" 13 "github.com/go-openapi/strfmt" 14 "github.com/go-openapi/swag" 15 "github.com/go-openapi/validate" 16 ) 17 18 // Order order 19 // 20 // swagger:model Order 21 type Order struct { 22 23 // order ID 24 // Required: true 25 OrderID *string `json:"orderID"` 26 27 // order lines 28 OrderLines []*OrderLine `json:"orderLines"` 29 } 30 31 // Validate validates this order 32 func (m *Order) Validate(formats strfmt.Registry) error { 33 var res []error 34 35 if err := m.validateOrderID(formats); err != nil { 36 res = append(res, err) 37 } 38 39 if err := m.validateOrderLines(formats); err != nil { 40 res = append(res, err) 41 } 42 43 if len(res) > 0 { 44 return errors.CompositeValidationError(res...) 45 } 46 return nil 47 } 48 49 func (m *Order) validateOrderID(formats strfmt.Registry) error { 50 51 if err := validate.Required("orderID", "body", m.OrderID); err != nil { 52 return err 53 } 54 55 return nil 56 } 57 58 func (m *Order) validateOrderLines(formats strfmt.Registry) error { 59 if swag.IsZero(m.OrderLines) { // not required 60 return nil 61 } 62 63 for i := 0; i < len(m.OrderLines); i++ { 64 if swag.IsZero(m.OrderLines[i]) { // not required 65 continue 66 } 67 68 if m.OrderLines[i] != nil { 69 if err := m.OrderLines[i].Validate(formats); err != nil { 70 if ve, ok := err.(*errors.Validation); ok { 71 return ve.ValidateName("orderLines" + "." + strconv.Itoa(i)) 72 } else if ce, ok := err.(*errors.CompositeError); ok { 73 return ce.ValidateName("orderLines" + "." + strconv.Itoa(i)) 74 } 75 return err 76 } 77 } 78 79 } 80 81 return nil 82 } 83 84 // ContextValidate validate this order based on the context it is used 85 func (m *Order) ContextValidate(ctx context.Context, formats strfmt.Registry) error { 86 var res []error 87 88 if err := m.contextValidateOrderLines(ctx, formats); err != nil { 89 res = append(res, err) 90 } 91 92 if len(res) > 0 { 93 return errors.CompositeValidationError(res...) 94 } 95 return nil 96 } 97 98 func (m *Order) contextValidateOrderLines(ctx context.Context, formats strfmt.Registry) error { 99 100 for i := 0; i < len(m.OrderLines); i++ { 101 102 if m.OrderLines[i] != nil { 103 104 if swag.IsZero(m.OrderLines[i]) { // not required 105 return nil 106 } 107 108 if err := m.OrderLines[i].ContextValidate(ctx, formats); err != nil { 109 if ve, ok := err.(*errors.Validation); ok { 110 return ve.ValidateName("orderLines" + "." + strconv.Itoa(i)) 111 } else if ce, ok := err.(*errors.CompositeError); ok { 112 return ce.ValidateName("orderLines" + "." + strconv.Itoa(i)) 113 } 114 return err 115 } 116 } 117 118 } 119 120 return nil 121 } 122 123 // MarshalBinary interface implementation 124 func (m *Order) MarshalBinary() ([]byte, error) { 125 if m == nil { 126 return nil, nil 127 } 128 return swag.WriteJSON(m) 129 } 130 131 // UnmarshalBinary interface implementation 132 func (m *Order) UnmarshalBinary(b []byte) error { 133 var res Order 134 if err := swag.ReadJSON(b, &res); err != nil { 135 return err 136 } 137 *m = res 138 return nil 139 } 140 141 // OrderLine order line 142 // 143 // swagger:model orderLine 144 type OrderLine struct { 145 146 // purchased item 147 // Required: true 148 PurchasedItem *Item `json:"purchasedItem"` 149 150 // quantity 151 // Required: true 152 // Minimum: 1 153 Quantity *int32 `json:"quantity"` 154 } 155 156 // Validate validates this order line 157 func (m *OrderLine) Validate(formats strfmt.Registry) error { 158 var res []error 159 160 if err := m.validatePurchasedItem(formats); err != nil { 161 res = append(res, err) 162 } 163 164 if err := m.validateQuantity(formats); err != nil { 165 res = append(res, err) 166 } 167 168 if len(res) > 0 { 169 return errors.CompositeValidationError(res...) 170 } 171 return nil 172 } 173 174 func (m *OrderLine) validatePurchasedItem(formats strfmt.Registry) error { 175 176 if err := validate.Required("purchasedItem", "body", m.PurchasedItem); err != nil { 177 return err 178 } 179 180 if err := validate.Required("purchasedItem", "body", m.PurchasedItem); err != nil { 181 return err 182 } 183 184 if m.PurchasedItem != nil { 185 if err := m.PurchasedItem.Validate(formats); err != nil { 186 if ve, ok := err.(*errors.Validation); ok { 187 return ve.ValidateName("purchasedItem") 188 } else if ce, ok := err.(*errors.CompositeError); ok { 189 return ce.ValidateName("purchasedItem") 190 } 191 return err 192 } 193 } 194 195 return nil 196 } 197 198 func (m *OrderLine) validateQuantity(formats strfmt.Registry) error { 199 200 if err := validate.Required("quantity", "body", m.Quantity); err != nil { 201 return err 202 } 203 204 if err := validate.MinimumInt("quantity", "body", int64(*m.Quantity), 1, false); err != nil { 205 return err 206 } 207 208 return nil 209 } 210 211 // ContextValidate validate this order line based on the context it is used 212 func (m *OrderLine) ContextValidate(ctx context.Context, formats strfmt.Registry) error { 213 var res []error 214 215 if err := m.contextValidatePurchasedItem(ctx, formats); err != nil { 216 res = append(res, err) 217 } 218 219 if len(res) > 0 { 220 return errors.CompositeValidationError(res...) 221 } 222 return nil 223 } 224 225 func (m *OrderLine) contextValidatePurchasedItem(ctx context.Context, formats strfmt.Registry) error { 226 227 if m.PurchasedItem != nil { 228 229 if err := m.PurchasedItem.ContextValidate(ctx, formats); err != nil { 230 if ve, ok := err.(*errors.Validation); ok { 231 return ve.ValidateName("purchasedItem") 232 } else if ce, ok := err.(*errors.CompositeError); ok { 233 return ce.ValidateName("purchasedItem") 234 } 235 return err 236 } 237 } 238 239 return nil 240 } 241 242 // MarshalBinary interface implementation 243 func (m *OrderLine) MarshalBinary() ([]byte, error) { 244 if m == nil { 245 return nil, nil 246 } 247 return swag.WriteJSON(m) 248 } 249 250 // UnmarshalBinary interface implementation 251 func (m *OrderLine) UnmarshalBinary(b []byte) error { 252 var res OrderLine 253 if err := swag.ReadJSON(b, &res); err != nil { 254 return err 255 } 256 *m = res 257 return nil 258 }