github.com/emreu/go-swagger@v0.22.1/examples/task-tracker/models/milestone.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 strfmt "github.com/go-openapi/strfmt" 10 11 "github.com/go-openapi/errors" 12 "github.com/go-openapi/swag" 13 "github.com/go-openapi/validate" 14 ) 15 16 // Milestone A milestone is a particular goal that is important to the project for this issue tracker. 17 // 18 // Milestones can have a escription and due date. 19 // This can be useful for filters and such. 20 // 21 // swagger:model Milestone 22 type Milestone struct { 23 24 // The description of the milestone. 25 // 26 // A description is a free text field that allows for a more detailed explanation of what the milestone is trying to achieve. 27 // 28 Description string `json:"description,omitempty"` 29 30 // An optional due date for this milestone. 31 // 32 // This property is optional, but when present it lets people know when they can expect this milestone to be completed. 33 // 34 // Format: date 35 DueDate strfmt.Date `json:"dueDate,omitempty"` 36 37 // The name of the milestone. 38 // 39 // Each milestone should get a unique name. 40 // 41 // Required: true 42 // Max Length: 50 43 // Min Length: 3 44 // Pattern: [A-Za-z][\w- ]+ 45 Name *string `json:"name"` 46 47 // stats 48 Stats *MilestoneStats `json:"stats,omitempty"` 49 } 50 51 // Validate validates this milestone 52 func (m *Milestone) Validate(formats strfmt.Registry) error { 53 var res []error 54 55 if err := m.validateDueDate(formats); err != nil { 56 res = append(res, err) 57 } 58 59 if err := m.validateName(formats); err != nil { 60 res = append(res, err) 61 } 62 63 if err := m.validateStats(formats); err != nil { 64 res = append(res, err) 65 } 66 67 if len(res) > 0 { 68 return errors.CompositeValidationError(res...) 69 } 70 return nil 71 } 72 73 func (m *Milestone) validateDueDate(formats strfmt.Registry) error { 74 75 if swag.IsZero(m.DueDate) { // not required 76 return nil 77 } 78 79 if err := validate.FormatOf("dueDate", "body", "date", m.DueDate.String(), formats); err != nil { 80 return err 81 } 82 83 return nil 84 } 85 86 func (m *Milestone) validateName(formats strfmt.Registry) error { 87 88 if err := validate.Required("name", "body", m.Name); err != nil { 89 return err 90 } 91 92 if err := validate.MinLength("name", "body", string(*m.Name), 3); err != nil { 93 return err 94 } 95 96 if err := validate.MaxLength("name", "body", string(*m.Name), 50); err != nil { 97 return err 98 } 99 100 if err := validate.Pattern("name", "body", string(*m.Name), `[A-Za-z][\w- ]+`); err != nil { 101 return err 102 } 103 104 return nil 105 } 106 107 func (m *Milestone) validateStats(formats strfmt.Registry) error { 108 109 if swag.IsZero(m.Stats) { // not required 110 return nil 111 } 112 113 if m.Stats != nil { 114 if err := m.Stats.Validate(formats); err != nil { 115 if ve, ok := err.(*errors.Validation); ok { 116 return ve.ValidateName("stats") 117 } 118 return err 119 } 120 } 121 122 return nil 123 } 124 125 // MarshalBinary interface implementation 126 func (m *Milestone) MarshalBinary() ([]byte, error) { 127 if m == nil { 128 return nil, nil 129 } 130 return swag.WriteJSON(m) 131 } 132 133 // UnmarshalBinary interface implementation 134 func (m *Milestone) UnmarshalBinary(b []byte) error { 135 var res Milestone 136 if err := swag.ReadJSON(b, &res); err != nil { 137 return err 138 } 139 *m = res 140 return nil 141 } 142 143 // MilestoneStats Some counters for this milestone. 144 // 145 // This object contains counts for the remaining open issues and the amount of issues that have been closed. 146 // 147 // swagger:model MilestoneStats 148 type MilestoneStats struct { 149 150 // The closed issues. 151 Closed int32 `json:"closed,omitempty"` 152 153 // The remaining open issues. 154 Open int32 `json:"open,omitempty"` 155 156 // The total number of issues for this milestone. 157 Total int32 `json:"total,omitempty"` 158 } 159 160 // Validate validates this milestone stats 161 func (m *MilestoneStats) Validate(formats strfmt.Registry) error { 162 return nil 163 } 164 165 // MarshalBinary interface implementation 166 func (m *MilestoneStats) MarshalBinary() ([]byte, error) { 167 if m == nil { 168 return nil, nil 169 } 170 return swag.WriteJSON(m) 171 } 172 173 // UnmarshalBinary interface implementation 174 func (m *MilestoneStats) UnmarshalBinary(b []byte) error { 175 var res MilestoneStats 176 if err := swag.ReadJSON(b, &res); err != nil { 177 return err 178 } 179 *m = res 180 return nil 181 }