github.com/kaisawind/go-swagger@v0.19.0/examples/generated/models/pet.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 "strconv" 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 // Pet pet 19 // swagger:model Pet 20 type Pet struct { 21 22 // category 23 Category *Category `json:"category,omitempty"` 24 25 // id 26 ID int64 `json:"id,omitempty"` 27 28 // name 29 // Required: true 30 Name *string `json:"name"` 31 32 // photo urls 33 // Required: true 34 PhotoUrls []string `json:"photoUrls"` 35 36 // pet status in the store 37 Status string `json:"status,omitempty"` 38 39 // tags 40 Tags []*Tag `json:"tags"` 41 } 42 43 // Validate validates this pet 44 func (m *Pet) Validate(formats strfmt.Registry) error { 45 var res []error 46 47 if err := m.validateCategory(formats); err != nil { 48 res = append(res, err) 49 } 50 51 if err := m.validateName(formats); err != nil { 52 res = append(res, err) 53 } 54 55 if err := m.validatePhotoUrls(formats); err != nil { 56 res = append(res, err) 57 } 58 59 if err := m.validateTags(formats); err != nil { 60 res = append(res, err) 61 } 62 63 if len(res) > 0 { 64 return errors.CompositeValidationError(res...) 65 } 66 return nil 67 } 68 69 func (m *Pet) validateCategory(formats strfmt.Registry) error { 70 71 if swag.IsZero(m.Category) { // not required 72 return nil 73 } 74 75 if m.Category != nil { 76 if err := m.Category.Validate(formats); err != nil { 77 if ve, ok := err.(*errors.Validation); ok { 78 return ve.ValidateName("category") 79 } 80 return err 81 } 82 } 83 84 return nil 85 } 86 87 func (m *Pet) validateName(formats strfmt.Registry) error { 88 89 if err := validate.Required("name", "body", m.Name); err != nil { 90 return err 91 } 92 93 return nil 94 } 95 96 func (m *Pet) validatePhotoUrls(formats strfmt.Registry) error { 97 98 if err := validate.Required("photoUrls", "body", m.PhotoUrls); err != nil { 99 return err 100 } 101 102 return nil 103 } 104 105 func (m *Pet) validateTags(formats strfmt.Registry) error { 106 107 if swag.IsZero(m.Tags) { // not required 108 return nil 109 } 110 111 for i := 0; i < len(m.Tags); i++ { 112 if swag.IsZero(m.Tags[i]) { // not required 113 continue 114 } 115 116 if m.Tags[i] != nil { 117 if err := m.Tags[i].Validate(formats); err != nil { 118 if ve, ok := err.(*errors.Validation); ok { 119 return ve.ValidateName("tags" + "." + strconv.Itoa(i)) 120 } 121 return err 122 } 123 } 124 125 } 126 127 return nil 128 } 129 130 // MarshalBinary interface implementation 131 func (m *Pet) MarshalBinary() ([]byte, error) { 132 if m == nil { 133 return nil, nil 134 } 135 return swag.WriteJSON(m) 136 } 137 138 // UnmarshalBinary interface implementation 139 func (m *Pet) UnmarshalBinary(b []byte) error { 140 var res Pet 141 if err := swag.ReadJSON(b, &res); err != nil { 142 return err 143 } 144 *m = res 145 return nil 146 }