github.com/djarvur/go-swagger@v0.18.0/examples/contributed-templates/stratoscale/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 "encoding/json" 10 "strconv" 11 12 strfmt "github.com/go-openapi/strfmt" 13 14 "github.com/go-openapi/errors" 15 "github.com/go-openapi/swag" 16 "github.com/go-openapi/validate" 17 ) 18 19 // Pet pet 20 // swagger:model Pet 21 type Pet struct { 22 23 // category 24 Category *Category `json:"category,omitempty"` 25 26 // id 27 ID int64 `json:"id,omitempty" gorm:"primary_key" query:"filter,sort"` 28 29 // name 30 // Required: true 31 Name *string `json:"name" query:"filter,sort"` 32 33 // photo urls 34 // Required: true 35 PhotoUrls []string `json:"photoUrls" gorm:"-"` 36 37 // pet status in the store 38 // Enum: [available pending sold] 39 Status string `json:"status,omitempty" query:"filter,sort"` 40 41 // tags 42 Tags []*Tag `json:"tags"` 43 } 44 45 // Validate validates this pet 46 func (m *Pet) Validate(formats strfmt.Registry) error { 47 var res []error 48 49 if err := m.validateCategory(formats); err != nil { 50 res = append(res, err) 51 } 52 53 if err := m.validateName(formats); err != nil { 54 res = append(res, err) 55 } 56 57 if err := m.validatePhotoUrls(formats); err != nil { 58 res = append(res, err) 59 } 60 61 if err := m.validateStatus(formats); err != nil { 62 res = append(res, err) 63 } 64 65 if err := m.validateTags(formats); err != nil { 66 res = append(res, err) 67 } 68 69 if len(res) > 0 { 70 return errors.CompositeValidationError(res...) 71 } 72 return nil 73 } 74 75 func (m *Pet) validateCategory(formats strfmt.Registry) error { 76 77 if swag.IsZero(m.Category) { // not required 78 return nil 79 } 80 81 if m.Category != nil { 82 if err := m.Category.Validate(formats); err != nil { 83 if ve, ok := err.(*errors.Validation); ok { 84 return ve.ValidateName("category") 85 } 86 return err 87 } 88 } 89 90 return nil 91 } 92 93 func (m *Pet) validateName(formats strfmt.Registry) error { 94 95 if err := validate.Required("name", "body", m.Name); err != nil { 96 return err 97 } 98 99 return nil 100 } 101 102 func (m *Pet) validatePhotoUrls(formats strfmt.Registry) error { 103 104 if err := validate.Required("photoUrls", "body", m.PhotoUrls); err != nil { 105 return err 106 } 107 108 return nil 109 } 110 111 var petTypeStatusPropEnum []interface{} 112 113 func init() { 114 var res []string 115 if err := json.Unmarshal([]byte(`["available","pending","sold"]`), &res); err != nil { 116 panic(err) 117 } 118 for _, v := range res { 119 petTypeStatusPropEnum = append(petTypeStatusPropEnum, v) 120 } 121 } 122 123 const ( 124 125 // PetStatusAvailable captures enum value "available" 126 PetStatusAvailable string = "available" 127 128 // PetStatusPending captures enum value "pending" 129 PetStatusPending string = "pending" 130 131 // PetStatusSold captures enum value "sold" 132 PetStatusSold string = "sold" 133 ) 134 135 // prop value enum 136 func (m *Pet) validateStatusEnum(path, location string, value string) error { 137 if err := validate.Enum(path, location, value, petTypeStatusPropEnum); err != nil { 138 return err 139 } 140 return nil 141 } 142 143 func (m *Pet) validateStatus(formats strfmt.Registry) error { 144 145 if swag.IsZero(m.Status) { // not required 146 return nil 147 } 148 149 // value enum 150 if err := m.validateStatusEnum("status", "body", m.Status); err != nil { 151 return err 152 } 153 154 return nil 155 } 156 157 func (m *Pet) validateTags(formats strfmt.Registry) error { 158 159 if swag.IsZero(m.Tags) { // not required 160 return nil 161 } 162 163 for i := 0; i < len(m.Tags); i++ { 164 if swag.IsZero(m.Tags[i]) { // not required 165 continue 166 } 167 168 if m.Tags[i] != nil { 169 if err := m.Tags[i].Validate(formats); err != nil { 170 if ve, ok := err.(*errors.Validation); ok { 171 return ve.ValidateName("tags" + "." + strconv.Itoa(i)) 172 } 173 return err 174 } 175 } 176 177 } 178 179 return nil 180 } 181 182 // MarshalBinary interface implementation 183 func (m *Pet) MarshalBinary() ([]byte, error) { 184 if m == nil { 185 return nil, nil 186 } 187 return swag.WriteJSON(m) 188 } 189 190 // UnmarshalBinary interface implementation 191 func (m *Pet) UnmarshalBinary(b []byte) error { 192 var res Pet 193 if err := swag.ReadJSON(b, &res); err != nil { 194 return err 195 } 196 *m = res 197 return nil 198 }