feat: init
This commit is contained in:
127
models/activity.go
Normal file
127
models/activity.go
Normal file
@ -0,0 +1,127 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// Activity activity
|
||||
//
|
||||
// swagger:model Activity
|
||||
type Activity struct {
|
||||
|
||||
// billable
|
||||
// Required: true
|
||||
Billable *bool `json:"billable"`
|
||||
|
||||
// The assigned color in HTML hex format, eg. #dd1d00
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// Description of this activity
|
||||
Comment string `json:"comment,omitempty"`
|
||||
|
||||
// Internal ID
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// Name of this activity
|
||||
// Required: true
|
||||
// Max Length: 150
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// project
|
||||
Project int64 `json:"project,omitempty"`
|
||||
|
||||
// Whether this activity is visible and can be used for timesheets
|
||||
// Required: true
|
||||
Visible *bool `json:"visible"`
|
||||
}
|
||||
|
||||
// Validate validates this activity
|
||||
func (m *Activity) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateBillable(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateVisible(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Activity) validateBillable(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("billable", "body", m.Billable); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Activity) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 150); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Activity) validateVisible(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("visible", "body", m.Visible); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this activity based on context it is used
|
||||
func (m *Activity) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *Activity) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *Activity) UnmarshalBinary(b []byte) error {
|
||||
var res Activity
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
254
models/activity_collection.go
Normal file
254
models/activity_collection.go
Normal file
@ -0,0 +1,254 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ActivityCollection activity collection
|
||||
//
|
||||
// swagger:model ActivityCollection
|
||||
type ActivityCollection struct {
|
||||
|
||||
// billable
|
||||
// Required: true
|
||||
Billable *bool `json:"billable"`
|
||||
|
||||
// The assigned color in HTML hex format, eg. #dd1d00
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// Description of this activity
|
||||
Comment string `json:"comment,omitempty"`
|
||||
|
||||
// Internal ID
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// Meta fields
|
||||
//
|
||||
// All visible meta (custom) fields registered with this activity
|
||||
MetaFields []*ActivityMeta `json:"metaFields"`
|
||||
|
||||
// Name of this activity
|
||||
// Required: true
|
||||
// Max Length: 150
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// parent title
|
||||
ParentTitle string `json:"parentTitle,omitempty"`
|
||||
|
||||
// project
|
||||
Project int64 `json:"project,omitempty"`
|
||||
|
||||
// Teams
|
||||
//
|
||||
// If no team is assigned, everyone can access the activity
|
||||
Teams []*Team `json:"teams"`
|
||||
|
||||
// Whether this activity is visible and can be used for timesheets
|
||||
// Required: true
|
||||
Visible *bool `json:"visible"`
|
||||
}
|
||||
|
||||
// Validate validates this activity collection
|
||||
func (m *ActivityCollection) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateBillable(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateMetaFields(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTeams(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateVisible(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityCollection) validateBillable(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("billable", "body", m.Billable); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityCollection) validateMetaFields(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.MetaFields) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
if swag.IsZero(m.MetaFields[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityCollection) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 150); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityCollection) validateTeams(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Teams) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Teams); i++ {
|
||||
if swag.IsZero(m.Teams[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.Teams[i] != nil {
|
||||
if err := m.Teams[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityCollection) validateVisible(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("visible", "body", m.Visible); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this activity collection based on the context it is used
|
||||
func (m *ActivityCollection) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateMetaFields(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateTeams(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityCollection) contextValidateMetaFields(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityCollection) contextValidateTeams(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.Teams); i++ {
|
||||
|
||||
if m.Teams[i] != nil {
|
||||
if err := m.Teams[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ActivityCollection) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ActivityCollection) UnmarshalBinary(b []byte) error {
|
||||
var res ActivityCollection
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
89
models/activity_edit_form.go
Normal file
89
models/activity_edit_form.go
Normal file
@ -0,0 +1,89 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ActivityEditForm activity edit form
|
||||
//
|
||||
// swagger:model ActivityEditForm
|
||||
type ActivityEditForm struct {
|
||||
|
||||
// billable
|
||||
Billable bool `json:"billable,omitempty"`
|
||||
|
||||
// The hexadecimal color code (default: #d2d6de)
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// comment
|
||||
Comment string `json:"comment,omitempty"`
|
||||
|
||||
// invoice text
|
||||
InvoiceText string `json:"invoiceText,omitempty"`
|
||||
|
||||
// name
|
||||
// Required: true
|
||||
Name *string `json:"name"`
|
||||
|
||||
// Project ID
|
||||
Project int64 `json:"project,omitempty"`
|
||||
|
||||
// visible
|
||||
Visible bool `json:"visible,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this activity edit form
|
||||
func (m *ActivityEditForm) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityEditForm) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this activity edit form based on context it is used
|
||||
func (m *ActivityEditForm) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ActivityEditForm) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ActivityEditForm) UnmarshalBinary(b []byte) error {
|
||||
var res ActivityEditForm
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
313
models/activity_entity.go
Normal file
313
models/activity_entity.go
Normal file
@ -0,0 +1,313 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ActivityEntity activity entity
|
||||
//
|
||||
// swagger:model ActivityEntity
|
||||
type ActivityEntity struct {
|
||||
|
||||
// billable
|
||||
// Required: true
|
||||
Billable *bool `json:"billable"`
|
||||
|
||||
// The total monetary budget, will be zero if unconfigured.
|
||||
// Required: true
|
||||
// Maximum: 9e+11
|
||||
// Minimum: 0
|
||||
Budget *float32 `json:"budget"`
|
||||
|
||||
// The type of budget:
|
||||
// - null = default / full time
|
||||
// - month = monthly budget
|
||||
BudgetType string `json:"budgetType,omitempty"`
|
||||
|
||||
// The assigned color in HTML hex format, eg. #dd1d00
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// Description of this activity
|
||||
Comment string `json:"comment,omitempty"`
|
||||
|
||||
// Internal ID
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// Meta fields
|
||||
//
|
||||
// All visible meta (custom) fields registered with this activity
|
||||
MetaFields []*ActivityMeta `json:"metaFields"`
|
||||
|
||||
// Name of this activity
|
||||
// Required: true
|
||||
// Max Length: 150
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// parent title
|
||||
ParentTitle string `json:"parentTitle,omitempty"`
|
||||
|
||||
// project
|
||||
Project int64 `json:"project,omitempty"`
|
||||
|
||||
// Teams
|
||||
//
|
||||
// If no team is assigned, everyone can access the activity
|
||||
Teams []*Team `json:"teams"`
|
||||
|
||||
// The time budget in seconds, will be zero if unconfigured.
|
||||
// Required: true
|
||||
// Maximum: 2.1456e+09
|
||||
// Minimum: 0
|
||||
TimeBudget *int64 `json:"timeBudget"`
|
||||
|
||||
// Whether this activity is visible and can be used for timesheets
|
||||
// Required: true
|
||||
Visible *bool `json:"visible"`
|
||||
}
|
||||
|
||||
// Validate validates this activity entity
|
||||
func (m *ActivityEntity) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateBillable(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateBudget(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateMetaFields(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTeams(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTimeBudget(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateVisible(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityEntity) validateBillable(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("billable", "body", m.Billable); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityEntity) validateBudget(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("budget", "body", m.Budget); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.Minimum("budget", "body", float64(*m.Budget), 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.Maximum("budget", "body", float64(*m.Budget), 9e+11, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityEntity) validateMetaFields(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.MetaFields) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
if swag.IsZero(m.MetaFields[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityEntity) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 150); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityEntity) validateTeams(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Teams) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Teams); i++ {
|
||||
if swag.IsZero(m.Teams[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.Teams[i] != nil {
|
||||
if err := m.Teams[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityEntity) validateTimeBudget(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("timeBudget", "body", m.TimeBudget); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinimumInt("timeBudget", "body", *m.TimeBudget, 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaximumInt("timeBudget", "body", *m.TimeBudget, 2.1456e+09, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityEntity) validateVisible(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("visible", "body", m.Visible); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this activity entity based on the context it is used
|
||||
func (m *ActivityEntity) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateMetaFields(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateTeams(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityEntity) contextValidateMetaFields(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityEntity) contextValidateTeams(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.Teams); i++ {
|
||||
|
||||
if m.Teams[i] != nil {
|
||||
if err := m.Teams[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ActivityEntity) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ActivityEntity) UnmarshalBinary(b []byte) error {
|
||||
var res ActivityEntity
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
175
models/activity_expanded.go
Normal file
175
models/activity_expanded.go
Normal file
@ -0,0 +1,175 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ActivityExpanded activity expanded
|
||||
//
|
||||
// swagger:model ActivityExpanded
|
||||
type ActivityExpanded struct {
|
||||
|
||||
// billable
|
||||
// Required: true
|
||||
Billable *bool `json:"billable"`
|
||||
|
||||
// The assigned color in HTML hex format, eg. #dd1d00
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// Description of this activity
|
||||
Comment string `json:"comment,omitempty"`
|
||||
|
||||
// Internal ID
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// Name of this activity
|
||||
// Required: true
|
||||
// Max Length: 150
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// project
|
||||
Project *Project `json:"project,omitempty"`
|
||||
|
||||
// Whether this activity is visible and can be used for timesheets
|
||||
// Required: true
|
||||
Visible *bool `json:"visible"`
|
||||
}
|
||||
|
||||
// Validate validates this activity expanded
|
||||
func (m *ActivityExpanded) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateBillable(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateProject(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateVisible(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityExpanded) validateBillable(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("billable", "body", m.Billable); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityExpanded) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 150); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityExpanded) validateProject(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Project) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if m.Project != nil {
|
||||
if err := m.Project.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("project")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("project")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityExpanded) validateVisible(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("visible", "body", m.Visible); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this activity expanded based on the context it is used
|
||||
func (m *ActivityExpanded) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateProject(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityExpanded) contextValidateProject(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.Project != nil {
|
||||
if err := m.Project.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("project")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("project")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ActivityExpanded) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ActivityExpanded) UnmarshalBinary(b []byte) error {
|
||||
var res ActivityExpanded
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
101
models/activity_meta.go
Normal file
101
models/activity_meta.go
Normal file
@ -0,0 +1,101 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ActivityMeta activity meta
|
||||
//
|
||||
// swagger:model ActivityMeta
|
||||
type ActivityMeta struct {
|
||||
|
||||
// Name of the meta (custom) field
|
||||
// Required: true
|
||||
// Max Length: 50
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// Value of the meta (custom) field
|
||||
// Max Length: 65535
|
||||
Value string `json:"value,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this activity meta
|
||||
func (m *ActivityMeta) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateValue(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityMeta) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 50); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityMeta) validateValue(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Value) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("value", "body", m.Value, 65535); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this activity meta based on context it is used
|
||||
func (m *ActivityMeta) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ActivityMeta) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ActivityMeta) UnmarshalBinary(b []byte) error {
|
||||
var res ActivityMeta
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
148
models/activity_rate.go
Normal file
148
models/activity_rate.go
Normal file
@ -0,0 +1,148 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ActivityRate activity rate
|
||||
//
|
||||
// swagger:model ActivityRate
|
||||
type ActivityRate struct {
|
||||
|
||||
// id
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// internal rate
|
||||
InternalRate float32 `json:"internalRate,omitempty"`
|
||||
|
||||
// is fixed
|
||||
// Required: true
|
||||
IsFixed *bool `json:"isFixed"`
|
||||
|
||||
// rate
|
||||
// Minimum: 0
|
||||
Rate *float32 `json:"rate,omitempty"`
|
||||
|
||||
// user
|
||||
User *User `json:"user,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this activity rate
|
||||
func (m *ActivityRate) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateIsFixed(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateRate(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateUser(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityRate) validateIsFixed(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("isFixed", "body", m.IsFixed); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityRate) validateRate(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Rate) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.Minimum("rate", "body", float64(*m.Rate), 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityRate) validateUser(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.User) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if m.User != nil {
|
||||
if err := m.User.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("user")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("user")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this activity rate based on the context it is used
|
||||
func (m *ActivityRate) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateUser(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityRate) contextValidateUser(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.User != nil {
|
||||
if err := m.User.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("user")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("user")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ActivityRate) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ActivityRate) UnmarshalBinary(b []byte) error {
|
||||
var res ActivityRate
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
80
models/activity_rate_form.go
Normal file
80
models/activity_rate_form.go
Normal file
@ -0,0 +1,80 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ActivityRateForm activity rate form
|
||||
//
|
||||
// swagger:model ActivityRateForm
|
||||
type ActivityRateForm struct {
|
||||
|
||||
// The internal rate (eg. 10.0 or 10)
|
||||
InternalRate float64 `json:"internalRate,omitempty"`
|
||||
|
||||
// If "true" each time record gets the same rate, regardless of its duration
|
||||
IsFixed bool `json:"isFixed,omitempty"`
|
||||
|
||||
// The rate (eg. 10.5)
|
||||
// Required: true
|
||||
Rate *float64 `json:"rate"`
|
||||
|
||||
// User ID
|
||||
User int64 `json:"user,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this activity rate form
|
||||
func (m *ActivityRateForm) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateRate(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ActivityRateForm) validateRate(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("rate", "body", m.Rate); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this activity rate form based on context it is used
|
||||
func (m *ActivityRateForm) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ActivityRateForm) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ActivityRateForm) UnmarshalBinary(b []byte) error {
|
||||
var res ActivityRateForm
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
144
models/customer.go
Normal file
144
models/customer.go
Normal file
@ -0,0 +1,144 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// Customer customer
|
||||
//
|
||||
// swagger:model Customer
|
||||
type Customer struct {
|
||||
|
||||
// billable
|
||||
// Required: true
|
||||
Billable *bool `json:"billable"`
|
||||
|
||||
// The assigned color in HTML hex format, eg. #dd1d00
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// comment
|
||||
Comment string `json:"comment,omitempty"`
|
||||
|
||||
// id
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// name
|
||||
// Required: true
|
||||
// Max Length: 150
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// number
|
||||
// Max Length: 50
|
||||
Number string `json:"number,omitempty"`
|
||||
|
||||
// visible
|
||||
// Required: true
|
||||
Visible *bool `json:"visible"`
|
||||
}
|
||||
|
||||
// Validate validates this customer
|
||||
func (m *Customer) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateBillable(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateNumber(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateVisible(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Customer) validateBillable(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("billable", "body", m.Billable); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Customer) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 150); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Customer) validateNumber(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Number) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("number", "body", m.Number, 50); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Customer) validateVisible(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("visible", "body", m.Visible); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this customer based on context it is used
|
||||
func (m *Customer) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *Customer) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *Customer) UnmarshalBinary(b []byte) error {
|
||||
var res Customer
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
290
models/customer_collection.go
Normal file
290
models/customer_collection.go
Normal file
@ -0,0 +1,290 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// CustomerCollection customer collection
|
||||
//
|
||||
// swagger:model CustomerCollection
|
||||
type CustomerCollection struct {
|
||||
|
||||
// billable
|
||||
// Required: true
|
||||
Billable *bool `json:"billable"`
|
||||
|
||||
// The assigned color in HTML hex format, eg. #dd1d00
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// comment
|
||||
Comment string `json:"comment,omitempty"`
|
||||
|
||||
// currency
|
||||
// Required: true
|
||||
// Max Length: 3
|
||||
Currency *string `json:"currency"`
|
||||
|
||||
// id
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// Meta fields
|
||||
//
|
||||
// All visible meta (custom) fields registered with this customer
|
||||
MetaFields []*CustomerMeta `json:"metaFields"`
|
||||
|
||||
// name
|
||||
// Required: true
|
||||
// Max Length: 150
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// number
|
||||
// Max Length: 50
|
||||
Number string `json:"number,omitempty"`
|
||||
|
||||
// Teams
|
||||
//
|
||||
// If no team is assigned, everyone can access the customer
|
||||
Teams []*Team `json:"teams"`
|
||||
|
||||
// visible
|
||||
// Required: true
|
||||
Visible *bool `json:"visible"`
|
||||
}
|
||||
|
||||
// Validate validates this customer collection
|
||||
func (m *CustomerCollection) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateBillable(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateCurrency(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateMetaFields(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateNumber(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTeams(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateVisible(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerCollection) validateBillable(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("billable", "body", m.Billable); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerCollection) validateCurrency(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("currency", "body", m.Currency); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("currency", "body", *m.Currency, 3); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerCollection) validateMetaFields(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.MetaFields) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
if swag.IsZero(m.MetaFields[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerCollection) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 150); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerCollection) validateNumber(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Number) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("number", "body", m.Number, 50); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerCollection) validateTeams(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Teams) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Teams); i++ {
|
||||
if swag.IsZero(m.Teams[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.Teams[i] != nil {
|
||||
if err := m.Teams[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerCollection) validateVisible(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("visible", "body", m.Visible); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this customer collection based on the context it is used
|
||||
func (m *CustomerCollection) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateMetaFields(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateTeams(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerCollection) contextValidateMetaFields(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerCollection) contextValidateTeams(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.Teams); i++ {
|
||||
|
||||
if m.Teams[i] != nil {
|
||||
if err := m.Teams[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *CustomerCollection) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *CustomerCollection) UnmarshalBinary(b []byte) error {
|
||||
var res CustomerCollection
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
164
models/customer_edit_form.go
Normal file
164
models/customer_edit_form.go
Normal file
@ -0,0 +1,164 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// CustomerEditForm customer edit form
|
||||
//
|
||||
// swagger:model CustomerEditForm
|
||||
type CustomerEditForm struct {
|
||||
|
||||
// address
|
||||
Address string `json:"address,omitempty"`
|
||||
|
||||
// billable
|
||||
Billable bool `json:"billable,omitempty"`
|
||||
|
||||
// The hexadecimal color code (default: #d2d6de)
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// comment
|
||||
Comment string `json:"comment,omitempty"`
|
||||
|
||||
// company
|
||||
Company string `json:"company,omitempty"`
|
||||
|
||||
// contact
|
||||
Contact string `json:"contact,omitempty"`
|
||||
|
||||
// country
|
||||
// Required: true
|
||||
Country *string `json:"country"`
|
||||
|
||||
// currency
|
||||
// Required: true
|
||||
Currency *string `json:"currency"`
|
||||
|
||||
// email
|
||||
Email string `json:"email,omitempty"`
|
||||
|
||||
// fax
|
||||
Fax string `json:"fax,omitempty"`
|
||||
|
||||
// homepage
|
||||
Homepage string `json:"homepage,omitempty"`
|
||||
|
||||
// mobile
|
||||
Mobile string `json:"mobile,omitempty"`
|
||||
|
||||
// name
|
||||
// Required: true
|
||||
Name *string `json:"name"`
|
||||
|
||||
// number
|
||||
Number string `json:"number,omitempty"`
|
||||
|
||||
// phone
|
||||
Phone string `json:"phone,omitempty"`
|
||||
|
||||
// timezone
|
||||
// Required: true
|
||||
Timezone *string `json:"timezone"`
|
||||
|
||||
// vat Id
|
||||
VatID string `json:"vatId,omitempty"`
|
||||
|
||||
// visible
|
||||
Visible bool `json:"visible,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this customer edit form
|
||||
func (m *CustomerEditForm) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateCountry(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateCurrency(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTimezone(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEditForm) validateCountry(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("country", "body", m.Country); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEditForm) validateCurrency(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("currency", "body", m.Currency); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEditForm) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEditForm) validateTimezone(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("timezone", "body", m.Timezone); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this customer edit form based on context it is used
|
||||
func (m *CustomerEditForm) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *CustomerEditForm) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *CustomerEditForm) UnmarshalBinary(b []byte) error {
|
||||
var res CustomerEditForm
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
560
models/customer_entity.go
Normal file
560
models/customer_entity.go
Normal file
@ -0,0 +1,560 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// CustomerEntity customer entity
|
||||
//
|
||||
// swagger:model CustomerEntity
|
||||
type CustomerEntity struct {
|
||||
|
||||
// address
|
||||
Address string `json:"address,omitempty"`
|
||||
|
||||
// billable
|
||||
// Required: true
|
||||
Billable *bool `json:"billable"`
|
||||
|
||||
// The total monetary budget, will be zero if unconfigured.
|
||||
// Required: true
|
||||
// Maximum: 9e+11
|
||||
// Minimum: 0
|
||||
Budget *float32 `json:"budget"`
|
||||
|
||||
// The type of budget:
|
||||
// - null = default / full time
|
||||
// - month = monthly budget
|
||||
BudgetType string `json:"budgetType,omitempty"`
|
||||
|
||||
// The assigned color in HTML hex format, eg. #dd1d00
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// comment
|
||||
Comment string `json:"comment,omitempty"`
|
||||
|
||||
// company
|
||||
// Max Length: 255
|
||||
Company string `json:"company,omitempty"`
|
||||
|
||||
// contact
|
||||
// Max Length: 255
|
||||
Contact string `json:"contact,omitempty"`
|
||||
|
||||
// country
|
||||
// Required: true
|
||||
// Max Length: 2
|
||||
Country *string `json:"country"`
|
||||
|
||||
// currency
|
||||
// Required: true
|
||||
// Max Length: 3
|
||||
Currency *string `json:"currency"`
|
||||
|
||||
// Customers contact email
|
||||
//
|
||||
// Limited via RFC to 254 chars
|
||||
// Max Length: 254
|
||||
Email string `json:"email,omitempty"`
|
||||
|
||||
// fax
|
||||
// Max Length: 255
|
||||
Fax string `json:"fax,omitempty"`
|
||||
|
||||
// homepage
|
||||
// Max Length: 255
|
||||
Homepage string `json:"homepage,omitempty"`
|
||||
|
||||
// id
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// Meta fields
|
||||
//
|
||||
// All visible meta (custom) fields registered with this customer
|
||||
MetaFields []*CustomerMeta `json:"metaFields"`
|
||||
|
||||
// mobile
|
||||
// Max Length: 255
|
||||
Mobile string `json:"mobile,omitempty"`
|
||||
|
||||
// name
|
||||
// Required: true
|
||||
// Max Length: 150
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// number
|
||||
// Max Length: 50
|
||||
Number string `json:"number,omitempty"`
|
||||
|
||||
// phone
|
||||
// Max Length: 255
|
||||
Phone string `json:"phone,omitempty"`
|
||||
|
||||
// Teams
|
||||
//
|
||||
// If no team is assigned, everyone can access the customer
|
||||
Teams []*Team `json:"teams"`
|
||||
|
||||
// The time budget in seconds, will be zero if unconfigured.
|
||||
// Required: true
|
||||
// Maximum: 2.1456e+09
|
||||
// Minimum: 0
|
||||
TimeBudget *int64 `json:"timeBudget"`
|
||||
|
||||
// Timezone of begin and end
|
||||
//
|
||||
// Length was determined by a MySQL column via "use mysql;describe time_zone_name;"
|
||||
// Required: true
|
||||
// Max Length: 64
|
||||
Timezone *string `json:"timezone"`
|
||||
|
||||
// vat Id
|
||||
// Max Length: 50
|
||||
VatID string `json:"vatId,omitempty"`
|
||||
|
||||
// visible
|
||||
// Required: true
|
||||
Visible *bool `json:"visible"`
|
||||
}
|
||||
|
||||
// Validate validates this customer entity
|
||||
func (m *CustomerEntity) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateBillable(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateBudget(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateCompany(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateContact(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateCountry(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateCurrency(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateEmail(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateFax(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateHomepage(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateMetaFields(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateMobile(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateNumber(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validatePhone(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTeams(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTimeBudget(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTimezone(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateVatID(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateVisible(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateBillable(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("billable", "body", m.Billable); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateBudget(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("budget", "body", m.Budget); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.Minimum("budget", "body", float64(*m.Budget), 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.Maximum("budget", "body", float64(*m.Budget), 9e+11, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateCompany(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Company) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("company", "body", m.Company, 255); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateContact(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Contact) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("contact", "body", m.Contact, 255); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateCountry(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("country", "body", m.Country); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("country", "body", *m.Country, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateCurrency(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("currency", "body", m.Currency); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("currency", "body", *m.Currency, 3); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateEmail(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Email) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("email", "body", m.Email, 254); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateFax(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Fax) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("fax", "body", m.Fax, 255); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateHomepage(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Homepage) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("homepage", "body", m.Homepage, 255); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateMetaFields(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.MetaFields) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
if swag.IsZero(m.MetaFields[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateMobile(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Mobile) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("mobile", "body", m.Mobile, 255); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 150); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateNumber(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Number) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("number", "body", m.Number, 50); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validatePhone(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Phone) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("phone", "body", m.Phone, 255); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateTeams(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Teams) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Teams); i++ {
|
||||
if swag.IsZero(m.Teams[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.Teams[i] != nil {
|
||||
if err := m.Teams[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateTimeBudget(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("timeBudget", "body", m.TimeBudget); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinimumInt("timeBudget", "body", *m.TimeBudget, 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaximumInt("timeBudget", "body", *m.TimeBudget, 2.1456e+09, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateTimezone(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("timezone", "body", m.Timezone); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("timezone", "body", *m.Timezone, 64); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateVatID(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.VatID) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("vatId", "body", m.VatID, 50); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) validateVisible(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("visible", "body", m.Visible); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this customer entity based on the context it is used
|
||||
func (m *CustomerEntity) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateMetaFields(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateTeams(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) contextValidateMetaFields(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerEntity) contextValidateTeams(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.Teams); i++ {
|
||||
|
||||
if m.Teams[i] != nil {
|
||||
if err := m.Teams[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *CustomerEntity) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *CustomerEntity) UnmarshalBinary(b []byte) error {
|
||||
var res CustomerEntity
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
101
models/customer_meta.go
Normal file
101
models/customer_meta.go
Normal file
@ -0,0 +1,101 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// CustomerMeta customer meta
|
||||
//
|
||||
// swagger:model CustomerMeta
|
||||
type CustomerMeta struct {
|
||||
|
||||
// Name of the meta (custom) field
|
||||
// Required: true
|
||||
// Max Length: 50
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// Value of the meta (custom) field
|
||||
// Max Length: 65535
|
||||
Value string `json:"value,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this customer meta
|
||||
func (m *CustomerMeta) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateValue(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerMeta) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 50); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerMeta) validateValue(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Value) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("value", "body", m.Value, 65535); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this customer meta based on context it is used
|
||||
func (m *CustomerMeta) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *CustomerMeta) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *CustomerMeta) UnmarshalBinary(b []byte) error {
|
||||
var res CustomerMeta
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
148
models/customer_rate.go
Normal file
148
models/customer_rate.go
Normal file
@ -0,0 +1,148 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// CustomerRate customer rate
|
||||
//
|
||||
// swagger:model CustomerRate
|
||||
type CustomerRate struct {
|
||||
|
||||
// id
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// internal rate
|
||||
InternalRate float32 `json:"internalRate,omitempty"`
|
||||
|
||||
// is fixed
|
||||
// Required: true
|
||||
IsFixed *bool `json:"isFixed"`
|
||||
|
||||
// rate
|
||||
// Minimum: 0
|
||||
Rate *float32 `json:"rate,omitempty"`
|
||||
|
||||
// user
|
||||
User *User `json:"user,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this customer rate
|
||||
func (m *CustomerRate) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateIsFixed(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateRate(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateUser(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerRate) validateIsFixed(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("isFixed", "body", m.IsFixed); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerRate) validateRate(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Rate) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.Minimum("rate", "body", float64(*m.Rate), 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerRate) validateUser(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.User) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if m.User != nil {
|
||||
if err := m.User.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("user")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("user")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this customer rate based on the context it is used
|
||||
func (m *CustomerRate) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateUser(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerRate) contextValidateUser(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.User != nil {
|
||||
if err := m.User.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("user")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("user")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *CustomerRate) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *CustomerRate) UnmarshalBinary(b []byte) error {
|
||||
var res CustomerRate
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
80
models/customer_rate_form.go
Normal file
80
models/customer_rate_form.go
Normal file
@ -0,0 +1,80 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// CustomerRateForm customer rate form
|
||||
//
|
||||
// swagger:model CustomerRateForm
|
||||
type CustomerRateForm struct {
|
||||
|
||||
// The internal rate (eg. 10.0 or 10)
|
||||
InternalRate float64 `json:"internalRate,omitempty"`
|
||||
|
||||
// If "true" each time record gets the same rate, regardless of its duration
|
||||
IsFixed bool `json:"isFixed,omitempty"`
|
||||
|
||||
// The rate (eg. 10.5)
|
||||
// Required: true
|
||||
Rate *float64 `json:"rate"`
|
||||
|
||||
// User ID
|
||||
User int64 `json:"user,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this customer rate form
|
||||
func (m *CustomerRateForm) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateRate(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CustomerRateForm) validateRate(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("rate", "body", m.Rate); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this customer rate form based on context it is used
|
||||
func (m *CustomerRateForm) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *CustomerRateForm) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *CustomerRateForm) UnmarshalBinary(b []byte) error {
|
||||
var res CustomerRateForm
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
101
models/expense_category.go
Normal file
101
models/expense_category.go
Normal file
@ -0,0 +1,101 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ExpenseCategory expense category
|
||||
//
|
||||
// swagger:model ExpenseCategory
|
||||
type ExpenseCategory struct {
|
||||
|
||||
// id
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// name
|
||||
// Required: true
|
||||
// Max Length: 100
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// visible
|
||||
// Required: true
|
||||
Visible *bool `json:"visible"`
|
||||
}
|
||||
|
||||
// Validate validates this expense category
|
||||
func (m *ExpenseCategory) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateVisible(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ExpenseCategory) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 100); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ExpenseCategory) validateVisible(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("visible", "body", m.Visible); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this expense category based on context it is used
|
||||
func (m *ExpenseCategory) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ExpenseCategory) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ExpenseCategory) UnmarshalBinary(b []byte) error {
|
||||
var res ExpenseCategory
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
140
models/expense_edit_form.go
Normal file
140
models/expense_edit_form.go
Normal file
@ -0,0 +1,140 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ExpenseEditForm expense edit form
|
||||
//
|
||||
// swagger:model ExpenseEditForm
|
||||
type ExpenseEditForm struct {
|
||||
|
||||
// Activity ID
|
||||
Activity int64 `json:"activity,omitempty"`
|
||||
|
||||
// begin
|
||||
// Example: 2023-01-14T05:12:43
|
||||
// Required: true
|
||||
// Format: date-time
|
||||
Begin *strfmt.DateTime `json:"begin"`
|
||||
|
||||
// Customer ID
|
||||
Customer int64 `json:"customer,omitempty"`
|
||||
|
||||
// description
|
||||
Description string `json:"description,omitempty"`
|
||||
|
||||
// expense category
|
||||
// Required: true
|
||||
ExpenseCategory *string `json:"expenseCategory"`
|
||||
|
||||
// multiplier
|
||||
// Required: true
|
||||
Multiplier *float64 `json:"multiplier"`
|
||||
|
||||
// Project ID
|
||||
// Required: true
|
||||
Project *int64 `json:"project"`
|
||||
|
||||
// refundable
|
||||
Refundable bool `json:"refundable,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this expense edit form
|
||||
func (m *ExpenseEditForm) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateBegin(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateExpenseCategory(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateMultiplier(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateProject(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ExpenseEditForm) validateBegin(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("begin", "body", m.Begin); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("begin", "body", "date-time", m.Begin.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ExpenseEditForm) validateExpenseCategory(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("expenseCategory", "body", m.ExpenseCategory); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ExpenseEditForm) validateMultiplier(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("multiplier", "body", m.Multiplier); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ExpenseEditForm) validateProject(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("project", "body", m.Project); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this expense edit form based on context it is used
|
||||
func (m *ExpenseEditForm) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ExpenseEditForm) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ExpenseEditForm) UnmarshalBinary(b []byte) error {
|
||||
var res ExpenseEditForm
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
274
models/expense_entity.go
Normal file
274
models/expense_entity.go
Normal file
@ -0,0 +1,274 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ExpenseEntity expense entity
|
||||
//
|
||||
// swagger:model ExpenseEntity
|
||||
type ExpenseEntity struct {
|
||||
|
||||
// activity
|
||||
Activity int64 `json:"activity,omitempty"`
|
||||
|
||||
// begin
|
||||
// Format: date-time
|
||||
Begin strfmt.DateTime `json:"begin,omitempty"`
|
||||
|
||||
// category
|
||||
// Required: true
|
||||
Category *ExpenseCategory `json:"category"`
|
||||
|
||||
// cost
|
||||
// Required: true
|
||||
Cost *float32 `json:"cost"`
|
||||
|
||||
// description
|
||||
Description string `json:"description,omitempty"`
|
||||
|
||||
// exported
|
||||
// Required: true
|
||||
Exported *bool `json:"exported"`
|
||||
|
||||
// id
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// meta fields
|
||||
MetaFields []*ExpenseMeta `json:"metaFields"`
|
||||
|
||||
// multiplier
|
||||
// Minimum: 0
|
||||
Multiplier *float32 `json:"multiplier,omitempty"`
|
||||
|
||||
// project
|
||||
Project int64 `json:"project,omitempty"`
|
||||
|
||||
// refundable
|
||||
// Required: true
|
||||
Refundable *bool `json:"refundable"`
|
||||
|
||||
// total
|
||||
Total float32 `json:"total,omitempty"`
|
||||
|
||||
// user
|
||||
User int64 `json:"user,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this expense entity
|
||||
func (m *ExpenseEntity) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateBegin(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateCategory(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateCost(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateExported(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateMetaFields(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateMultiplier(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateRefundable(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ExpenseEntity) validateBegin(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Begin) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("begin", "body", "date-time", m.Begin.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ExpenseEntity) validateCategory(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("category", "body", m.Category); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if m.Category != nil {
|
||||
if err := m.Category.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("category")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("category")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ExpenseEntity) validateCost(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("cost", "body", m.Cost); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ExpenseEntity) validateExported(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("exported", "body", m.Exported); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ExpenseEntity) validateMetaFields(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.MetaFields) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
if swag.IsZero(m.MetaFields[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ExpenseEntity) validateMultiplier(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Multiplier) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.Minimum("multiplier", "body", float64(*m.Multiplier), 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ExpenseEntity) validateRefundable(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("refundable", "body", m.Refundable); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this expense entity based on the context it is used
|
||||
func (m *ExpenseEntity) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateCategory(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateMetaFields(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ExpenseEntity) contextValidateCategory(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.Category != nil {
|
||||
if err := m.Category.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("category")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("category")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ExpenseEntity) contextValidateMetaFields(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ExpenseEntity) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ExpenseEntity) UnmarshalBinary(b []byte) error {
|
||||
var res ExpenseEntity
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
101
models/expense_meta.go
Normal file
101
models/expense_meta.go
Normal file
@ -0,0 +1,101 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ExpenseMeta expense meta
|
||||
//
|
||||
// swagger:model ExpenseMeta
|
||||
type ExpenseMeta struct {
|
||||
|
||||
// Name of the meta (custom) field
|
||||
// Required: true
|
||||
// Max Length: 50
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// Value of the meta (custom) field
|
||||
// Max Length: 65535
|
||||
Value string `json:"value,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this expense meta
|
||||
func (m *ExpenseMeta) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateValue(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ExpenseMeta) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 50); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ExpenseMeta) validateValue(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Value) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("value", "body", m.Value, 65535); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this expense meta based on context it is used
|
||||
func (m *ExpenseMeta) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ExpenseMeta) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ExpenseMeta) UnmarshalBinary(b []byte) error {
|
||||
var res ExpenseMeta
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
92
models/i18n_config.go
Normal file
92
models/i18n_config.go
Normal file
@ -0,0 +1,92 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// I18nConfig i18n config
|
||||
//
|
||||
// swagger:model I18nConfig
|
||||
type I18nConfig struct {
|
||||
|
||||
// Format used to display date values (see PHP function date_format)
|
||||
Date string `json:"date,omitempty"`
|
||||
|
||||
// Format used to display date-time values (see PHP function date_format)
|
||||
DateTime string `json:"dateTime,omitempty"`
|
||||
|
||||
// Format used to display durations (replace: %h with hours, %m with minutes, %s with seconds)
|
||||
Duration string `json:"duration,omitempty"`
|
||||
|
||||
// Format used for toolbar queries
|
||||
FormDate string `json:"formDate,omitempty"`
|
||||
|
||||
// Whether a twenty-four hour format is used (true) or 12-hours AM/PM format (false)
|
||||
Is24hours bool `json:"is24hours,omitempty"`
|
||||
|
||||
// The current time of the user
|
||||
// Format: date-time
|
||||
Now strfmt.DateTime `json:"now,omitempty"`
|
||||
|
||||
// Format used to display times (see PHP function date_format)
|
||||
Time string `json:"time,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this i18n config
|
||||
func (m *I18nConfig) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateNow(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *I18nConfig) validateNow(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Now) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("now", "body", "date-time", m.Now.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this i18n config based on context it is used
|
||||
func (m *I18nConfig) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *I18nConfig) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *I18nConfig) UnmarshalBinary(b []byte) error {
|
||||
var res I18nConfig
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
195
models/meta_field_rule.go
Normal file
195
models/meta_field_rule.go
Normal file
@ -0,0 +1,195 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// MetaFieldRule meta field rule
|
||||
//
|
||||
// swagger:model MetaFieldRule
|
||||
type MetaFieldRule struct {
|
||||
|
||||
// activity
|
||||
Activity int64 `json:"activity,omitempty"`
|
||||
|
||||
// customer
|
||||
Customer int64 `json:"customer,omitempty"`
|
||||
|
||||
// entity type
|
||||
EntityType string `json:"entityType,omitempty"`
|
||||
|
||||
// help
|
||||
// Max Length: 200
|
||||
Help string `json:"help,omitempty"`
|
||||
|
||||
// id
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// label
|
||||
// Max Length: 50
|
||||
Label string `json:"label,omitempty"`
|
||||
|
||||
// name
|
||||
// Required: true
|
||||
// Max Length: 50
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// project
|
||||
Project int64 `json:"project,omitempty"`
|
||||
|
||||
// required
|
||||
// Required: true
|
||||
Required *bool `json:"required"`
|
||||
|
||||
// type
|
||||
// Required: true
|
||||
// Max Length: 100
|
||||
Type *string `json:"type"`
|
||||
|
||||
// value
|
||||
Value string `json:"value,omitempty"`
|
||||
|
||||
// visible
|
||||
// Required: true
|
||||
Visible *bool `json:"visible"`
|
||||
}
|
||||
|
||||
// Validate validates this meta field rule
|
||||
func (m *MetaFieldRule) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateHelp(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateLabel(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateRequired(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateType(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateVisible(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *MetaFieldRule) validateHelp(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Help) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("help", "body", m.Help, 200); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *MetaFieldRule) validateLabel(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Label) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("label", "body", m.Label, 50); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *MetaFieldRule) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 50); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *MetaFieldRule) validateRequired(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("required", "body", m.Required); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *MetaFieldRule) validateType(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("type", "body", m.Type); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("type", "body", *m.Type, 100); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *MetaFieldRule) validateVisible(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("visible", "body", m.Visible); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this meta field rule based on context it is used
|
||||
func (m *MetaFieldRule) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *MetaFieldRule) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *MetaFieldRule) UnmarshalBinary(b []byte) error {
|
||||
var res MetaFieldRule
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
53
models/plugin.go
Normal file
53
models/plugin.go
Normal file
@ -0,0 +1,53 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
)
|
||||
|
||||
// Plugin plugin
|
||||
//
|
||||
// swagger:model Plugin
|
||||
type Plugin struct {
|
||||
|
||||
// The plugin name, eg. "ExpensesBundle"
|
||||
Name string `json:"name,omitempty"`
|
||||
|
||||
// The plugin version, eg. "1.14"
|
||||
Version string `json:"version,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this plugin
|
||||
func (m *Plugin) Validate(formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this plugin based on context it is used
|
||||
func (m *Plugin) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *Plugin) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *Plugin) UnmarshalBinary(b []byte) error {
|
||||
var res Plugin
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
144
models/project.go
Normal file
144
models/project.go
Normal file
@ -0,0 +1,144 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// Project project
|
||||
//
|
||||
// swagger:model Project
|
||||
type Project struct {
|
||||
|
||||
// billable
|
||||
// Required: true
|
||||
Billable *bool `json:"billable"`
|
||||
|
||||
// The assigned color in HTML hex format, eg. #dd1d00
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// comment
|
||||
Comment string `json:"comment,omitempty"`
|
||||
|
||||
// customer
|
||||
Customer int64 `json:"customer,omitempty"`
|
||||
|
||||
// Whether this project allows booking of global activities
|
||||
// Required: true
|
||||
GlobalActivities *bool `json:"globalActivities"`
|
||||
|
||||
// Internal ID
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// Project name
|
||||
// Required: true
|
||||
// Max Length: 150
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// visible
|
||||
// Required: true
|
||||
Visible *bool `json:"visible"`
|
||||
}
|
||||
|
||||
// Validate validates this project
|
||||
func (m *Project) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateBillable(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateGlobalActivities(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateVisible(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Project) validateBillable(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("billable", "body", m.Billable); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Project) validateGlobalActivities(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("globalActivities", "body", m.GlobalActivities); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Project) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 150); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Project) validateVisible(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("visible", "body", m.Visible); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this project based on context it is used
|
||||
func (m *Project) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *Project) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *Project) UnmarshalBinary(b []byte) error {
|
||||
var res Project
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
311
models/project_collection.go
Normal file
311
models/project_collection.go
Normal file
@ -0,0 +1,311 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ProjectCollection project collection
|
||||
//
|
||||
// swagger:model ProjectCollection
|
||||
type ProjectCollection struct {
|
||||
|
||||
// billable
|
||||
// Required: true
|
||||
Billable *bool `json:"billable"`
|
||||
|
||||
// The assigned color in HTML hex format, eg. #dd1d00
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// comment
|
||||
Comment string `json:"comment,omitempty"`
|
||||
|
||||
// customer
|
||||
Customer int64 `json:"customer,omitempty"`
|
||||
|
||||
// end
|
||||
// Format: date-time
|
||||
End strfmt.DateTime `json:"end,omitempty"`
|
||||
|
||||
// Whether this project allows booking of global activities
|
||||
// Required: true
|
||||
GlobalActivities *bool `json:"globalActivities"`
|
||||
|
||||
// Internal ID
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// Meta fields
|
||||
//
|
||||
// All visible meta (custom) fields registered with this project
|
||||
MetaFields []*ProjectMeta `json:"metaFields"`
|
||||
|
||||
// Project name
|
||||
// Required: true
|
||||
// Max Length: 150
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// parent title
|
||||
ParentTitle string `json:"parentTitle,omitempty"`
|
||||
|
||||
// start
|
||||
// Format: date-time
|
||||
Start strfmt.DateTime `json:"start,omitempty"`
|
||||
|
||||
// Teams
|
||||
//
|
||||
// If no team is assigned, everyone can access the project (also depends on the teams of the customer)
|
||||
Teams []*Team `json:"teams"`
|
||||
|
||||
// visible
|
||||
// Required: true
|
||||
Visible *bool `json:"visible"`
|
||||
}
|
||||
|
||||
// Validate validates this project collection
|
||||
func (m *ProjectCollection) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateBillable(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateEnd(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateGlobalActivities(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateMetaFields(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateStart(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTeams(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateVisible(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectCollection) validateBillable(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("billable", "body", m.Billable); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectCollection) validateEnd(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.End) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("end", "body", "date-time", m.End.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectCollection) validateGlobalActivities(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("globalActivities", "body", m.GlobalActivities); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectCollection) validateMetaFields(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.MetaFields) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
if swag.IsZero(m.MetaFields[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectCollection) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 150); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectCollection) validateStart(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Start) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("start", "body", "date-time", m.Start.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectCollection) validateTeams(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Teams) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Teams); i++ {
|
||||
if swag.IsZero(m.Teams[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.Teams[i] != nil {
|
||||
if err := m.Teams[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectCollection) validateVisible(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("visible", "body", m.Visible); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this project collection based on the context it is used
|
||||
func (m *ProjectCollection) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateMetaFields(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateTeams(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectCollection) contextValidateMetaFields(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectCollection) contextValidateTeams(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.Teams); i++ {
|
||||
|
||||
if m.Teams[i] != nil {
|
||||
if err := m.Teams[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ProjectCollection) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ProjectCollection) UnmarshalBinary(b []byte) error {
|
||||
var res ProjectCollection
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
172
models/project_edit_form.go
Normal file
172
models/project_edit_form.go
Normal file
@ -0,0 +1,172 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ProjectEditForm project edit form
|
||||
//
|
||||
// swagger:model ProjectEditForm
|
||||
type ProjectEditForm struct {
|
||||
|
||||
// billable
|
||||
Billable bool `json:"billable,omitempty"`
|
||||
|
||||
// The hexadecimal color code (default: #d2d6de)
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// comment
|
||||
Comment string `json:"comment,omitempty"`
|
||||
|
||||
// Customer ID
|
||||
// Required: true
|
||||
Customer *int64 `json:"customer"`
|
||||
|
||||
// end
|
||||
// Example: 2023-01-14T05:12:43
|
||||
// Format: date-time
|
||||
End strfmt.DateTime `json:"end,omitempty"`
|
||||
|
||||
// global activities
|
||||
GlobalActivities bool `json:"globalActivities,omitempty"`
|
||||
|
||||
// invoice text
|
||||
InvoiceText string `json:"invoiceText,omitempty"`
|
||||
|
||||
// name
|
||||
// Required: true
|
||||
Name *string `json:"name"`
|
||||
|
||||
// order date
|
||||
// Example: 2023-01-14T05:12:43
|
||||
// Format: date-time
|
||||
OrderDate strfmt.DateTime `json:"orderDate,omitempty"`
|
||||
|
||||
// order number
|
||||
OrderNumber string `json:"orderNumber,omitempty"`
|
||||
|
||||
// start
|
||||
// Example: 2023-01-14T05:12:43
|
||||
// Format: date-time
|
||||
Start strfmt.DateTime `json:"start,omitempty"`
|
||||
|
||||
// visible
|
||||
Visible bool `json:"visible,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this project edit form
|
||||
func (m *ProjectEditForm) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateCustomer(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateEnd(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateOrderDate(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateStart(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEditForm) validateCustomer(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("customer", "body", m.Customer); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEditForm) validateEnd(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.End) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("end", "body", "date-time", m.End.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEditForm) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEditForm) validateOrderDate(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.OrderDate) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("orderDate", "body", "date-time", m.OrderDate.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEditForm) validateStart(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Start) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("start", "body", "date-time", m.Start.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this project edit form based on context it is used
|
||||
func (m *ProjectEditForm) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ProjectEditForm) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ProjectEditForm) UnmarshalBinary(b []byte) error {
|
||||
var res ProjectEditForm
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
410
models/project_entity.go
Normal file
410
models/project_entity.go
Normal file
@ -0,0 +1,410 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ProjectEntity project entity
|
||||
//
|
||||
// swagger:model ProjectEntity
|
||||
type ProjectEntity struct {
|
||||
|
||||
// billable
|
||||
// Required: true
|
||||
Billable *bool `json:"billable"`
|
||||
|
||||
// The total monetary budget, will be zero if unconfigured.
|
||||
// Required: true
|
||||
// Maximum: 9e+11
|
||||
// Minimum: 0
|
||||
Budget *float32 `json:"budget"`
|
||||
|
||||
// The type of budget:
|
||||
// - null = default / full time
|
||||
// - month = monthly budget
|
||||
BudgetType string `json:"budgetType,omitempty"`
|
||||
|
||||
// The assigned color in HTML hex format, eg. #dd1d00
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// comment
|
||||
Comment string `json:"comment,omitempty"`
|
||||
|
||||
// customer
|
||||
Customer int64 `json:"customer,omitempty"`
|
||||
|
||||
// end
|
||||
// Format: date-time
|
||||
End strfmt.DateTime `json:"end,omitempty"`
|
||||
|
||||
// Whether this project allows booking of global activities
|
||||
// Required: true
|
||||
GlobalActivities *bool `json:"globalActivities"`
|
||||
|
||||
// Internal ID
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// Meta fields
|
||||
//
|
||||
// All visible meta (custom) fields registered with this project
|
||||
MetaFields []*ProjectMeta `json:"metaFields"`
|
||||
|
||||
// Project name
|
||||
// Required: true
|
||||
// Max Length: 150
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// order date
|
||||
// Format: date-time
|
||||
OrderDate strfmt.DateTime `json:"orderDate,omitempty"`
|
||||
|
||||
// Project order number
|
||||
// Max Length: 50
|
||||
OrderNumber string `json:"orderNumber,omitempty"`
|
||||
|
||||
// parent title
|
||||
ParentTitle string `json:"parentTitle,omitempty"`
|
||||
|
||||
// start
|
||||
// Format: date-time
|
||||
Start strfmt.DateTime `json:"start,omitempty"`
|
||||
|
||||
// Teams
|
||||
//
|
||||
// If no team is assigned, everyone can access the project (also depends on the teams of the customer)
|
||||
Teams []*Team `json:"teams"`
|
||||
|
||||
// The time budget in seconds, will be zero if unconfigured.
|
||||
// Required: true
|
||||
// Maximum: 2.1456e+09
|
||||
// Minimum: 0
|
||||
TimeBudget *int64 `json:"timeBudget"`
|
||||
|
||||
// visible
|
||||
// Required: true
|
||||
Visible *bool `json:"visible"`
|
||||
}
|
||||
|
||||
// Validate validates this project entity
|
||||
func (m *ProjectEntity) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateBillable(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateBudget(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateEnd(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateGlobalActivities(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateMetaFields(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateOrderDate(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateOrderNumber(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateStart(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTeams(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTimeBudget(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateVisible(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEntity) validateBillable(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("billable", "body", m.Billable); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEntity) validateBudget(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("budget", "body", m.Budget); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.Minimum("budget", "body", float64(*m.Budget), 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.Maximum("budget", "body", float64(*m.Budget), 9e+11, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEntity) validateEnd(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.End) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("end", "body", "date-time", m.End.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEntity) validateGlobalActivities(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("globalActivities", "body", m.GlobalActivities); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEntity) validateMetaFields(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.MetaFields) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
if swag.IsZero(m.MetaFields[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEntity) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 150); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEntity) validateOrderDate(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.OrderDate) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("orderDate", "body", "date-time", m.OrderDate.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEntity) validateOrderNumber(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.OrderNumber) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("orderNumber", "body", m.OrderNumber, 50); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEntity) validateStart(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Start) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("start", "body", "date-time", m.Start.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEntity) validateTeams(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Teams) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Teams); i++ {
|
||||
if swag.IsZero(m.Teams[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.Teams[i] != nil {
|
||||
if err := m.Teams[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEntity) validateTimeBudget(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("timeBudget", "body", m.TimeBudget); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinimumInt("timeBudget", "body", *m.TimeBudget, 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaximumInt("timeBudget", "body", *m.TimeBudget, 2.1456e+09, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEntity) validateVisible(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("visible", "body", m.Visible); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this project entity based on the context it is used
|
||||
func (m *ProjectEntity) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateMetaFields(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateTeams(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEntity) contextValidateMetaFields(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectEntity) contextValidateTeams(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.Teams); i++ {
|
||||
|
||||
if m.Teams[i] != nil {
|
||||
if err := m.Teams[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ProjectEntity) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ProjectEntity) UnmarshalBinary(b []byte) error {
|
||||
var res ProjectEntity
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
194
models/project_expanded.go
Normal file
194
models/project_expanded.go
Normal file
@ -0,0 +1,194 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ProjectExpanded project expanded
|
||||
//
|
||||
// swagger:model ProjectExpanded
|
||||
type ProjectExpanded struct {
|
||||
|
||||
// billable
|
||||
// Required: true
|
||||
Billable *bool `json:"billable"`
|
||||
|
||||
// The assigned color in HTML hex format, eg. #dd1d00
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// comment
|
||||
Comment string `json:"comment,omitempty"`
|
||||
|
||||
// customer
|
||||
// Required: true
|
||||
Customer *Customer `json:"customer"`
|
||||
|
||||
// Whether this project allows booking of global activities
|
||||
// Required: true
|
||||
GlobalActivities *bool `json:"globalActivities"`
|
||||
|
||||
// Internal ID
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// Project name
|
||||
// Required: true
|
||||
// Max Length: 150
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// visible
|
||||
// Required: true
|
||||
Visible *bool `json:"visible"`
|
||||
}
|
||||
|
||||
// Validate validates this project expanded
|
||||
func (m *ProjectExpanded) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateBillable(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateCustomer(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateGlobalActivities(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateVisible(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectExpanded) validateBillable(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("billable", "body", m.Billable); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectExpanded) validateCustomer(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("customer", "body", m.Customer); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if m.Customer != nil {
|
||||
if err := m.Customer.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("customer")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("customer")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectExpanded) validateGlobalActivities(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("globalActivities", "body", m.GlobalActivities); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectExpanded) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 150); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectExpanded) validateVisible(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("visible", "body", m.Visible); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this project expanded based on the context it is used
|
||||
func (m *ProjectExpanded) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateCustomer(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectExpanded) contextValidateCustomer(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.Customer != nil {
|
||||
if err := m.Customer.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("customer")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("customer")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ProjectExpanded) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ProjectExpanded) UnmarshalBinary(b []byte) error {
|
||||
var res ProjectExpanded
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
101
models/project_meta.go
Normal file
101
models/project_meta.go
Normal file
@ -0,0 +1,101 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ProjectMeta project meta
|
||||
//
|
||||
// swagger:model ProjectMeta
|
||||
type ProjectMeta struct {
|
||||
|
||||
// Name of the meta (custom) field
|
||||
// Required: true
|
||||
// Max Length: 50
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// Value of the meta (custom) field
|
||||
// Max Length: 65535
|
||||
Value string `json:"value,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this project meta
|
||||
func (m *ProjectMeta) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateValue(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectMeta) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 50); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectMeta) validateValue(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Value) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("value", "body", m.Value, 65535); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this project meta based on context it is used
|
||||
func (m *ProjectMeta) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ProjectMeta) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ProjectMeta) UnmarshalBinary(b []byte) error {
|
||||
var res ProjectMeta
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
148
models/project_rate.go
Normal file
148
models/project_rate.go
Normal file
@ -0,0 +1,148 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ProjectRate project rate
|
||||
//
|
||||
// swagger:model ProjectRate
|
||||
type ProjectRate struct {
|
||||
|
||||
// id
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// internal rate
|
||||
InternalRate float32 `json:"internalRate,omitempty"`
|
||||
|
||||
// is fixed
|
||||
// Required: true
|
||||
IsFixed *bool `json:"isFixed"`
|
||||
|
||||
// rate
|
||||
// Minimum: 0
|
||||
Rate *float32 `json:"rate,omitempty"`
|
||||
|
||||
// user
|
||||
User *User `json:"user,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this project rate
|
||||
func (m *ProjectRate) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateIsFixed(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateRate(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateUser(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectRate) validateIsFixed(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("isFixed", "body", m.IsFixed); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectRate) validateRate(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Rate) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.Minimum("rate", "body", float64(*m.Rate), 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectRate) validateUser(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.User) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if m.User != nil {
|
||||
if err := m.User.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("user")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("user")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this project rate based on the context it is used
|
||||
func (m *ProjectRate) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateUser(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectRate) contextValidateUser(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.User != nil {
|
||||
if err := m.User.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("user")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("user")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ProjectRate) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ProjectRate) UnmarshalBinary(b []byte) error {
|
||||
var res ProjectRate
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
80
models/project_rate_form.go
Normal file
80
models/project_rate_form.go
Normal file
@ -0,0 +1,80 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// ProjectRateForm project rate form
|
||||
//
|
||||
// swagger:model ProjectRateForm
|
||||
type ProjectRateForm struct {
|
||||
|
||||
// The internal rate (eg. 10.0 or 10)
|
||||
InternalRate float64 `json:"internalRate,omitempty"`
|
||||
|
||||
// If "true" each time record gets the same rate, regardless of its duration
|
||||
IsFixed bool `json:"isFixed,omitempty"`
|
||||
|
||||
// The rate (eg. 10.5)
|
||||
// Required: true
|
||||
Rate *float64 `json:"rate"`
|
||||
|
||||
// User ID
|
||||
User int64 `json:"user,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this project rate form
|
||||
func (m *ProjectRateForm) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateRate(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ProjectRateForm) validateRate(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("rate", "body", m.Rate); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this project rate form based on context it is used
|
||||
func (m *ProjectRateForm) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *ProjectRateForm) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *ProjectRateForm) UnmarshalBinary(b []byte) error {
|
||||
var res ProjectRateForm
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
74
models/tag_edit_form.go
Normal file
74
models/tag_edit_form.go
Normal file
@ -0,0 +1,74 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// TagEditForm tag edit form
|
||||
//
|
||||
// swagger:model TagEditForm
|
||||
type TagEditForm struct {
|
||||
|
||||
// The hexadecimal color code (default: #d2d6de)
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// The tag name (forbidden character: comma)
|
||||
// Required: true
|
||||
Name *string `json:"name"`
|
||||
}
|
||||
|
||||
// Validate validates this tag edit form
|
||||
func (m *TagEditForm) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TagEditForm) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this tag edit form based on context it is used
|
||||
func (m *TagEditForm) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *TagEditForm) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *TagEditForm) UnmarshalBinary(b []byte) error {
|
||||
var res TagEditForm
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
92
models/tag_entity.go
Normal file
92
models/tag_entity.go
Normal file
@ -0,0 +1,92 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// TagEntity tag entity
|
||||
//
|
||||
// swagger:model TagEntity
|
||||
type TagEntity struct {
|
||||
|
||||
// The assigned color in HTML hex format, eg. #dd1d00
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// The internal ID
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// The tag name
|
||||
// Required: true
|
||||
// Max Length: 100
|
||||
// Min Length: 2
|
||||
// Pattern: ((?!,).)*
|
||||
Name *string `json:"name"`
|
||||
}
|
||||
|
||||
// Validate validates this tag entity
|
||||
func (m *TagEntity) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TagEntity) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 100); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.Pattern("name", "body", *m.Name, `((?!,).)*`); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this tag entity based on context it is used
|
||||
func (m *TagEntity) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *TagEntity) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *TagEntity) UnmarshalBinary(b []byte) error {
|
||||
var res TagEntity
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
406
models/task.go
Normal file
406
models/task.go
Normal file
@ -0,0 +1,406 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// Task task
|
||||
//
|
||||
// swagger:model Task
|
||||
type Task struct {
|
||||
|
||||
// active timesheets
|
||||
ActiveTimesheets []*TimesheetEntityExpanded `json:"activeTimesheets"`
|
||||
|
||||
// activity
|
||||
// Required: true
|
||||
Activity *ActivityExpanded `json:"activity"`
|
||||
|
||||
// description
|
||||
Description string `json:"description,omitempty"`
|
||||
|
||||
// end
|
||||
// Format: date-time
|
||||
End strfmt.DateTime `json:"end,omitempty"`
|
||||
|
||||
// Estimated duration for the task in seconds or null if no estimation was added
|
||||
// Minimum: 0
|
||||
Estimation *int64 `json:"estimation,omitempty"`
|
||||
|
||||
// id
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// project
|
||||
// Required: true
|
||||
Project *ProjectExpanded `json:"project"`
|
||||
|
||||
// status
|
||||
// Required: true
|
||||
// Max Length: 20
|
||||
Status *string `json:"status"`
|
||||
|
||||
// tags
|
||||
Tags []string `json:"tags"`
|
||||
|
||||
// team
|
||||
Team *Team `json:"team,omitempty"`
|
||||
|
||||
// title
|
||||
// Required: true
|
||||
// Max Length: 100
|
||||
// Min Length: 2
|
||||
Title *string `json:"title"`
|
||||
|
||||
// todo
|
||||
Todo string `json:"todo,omitempty"`
|
||||
|
||||
// user
|
||||
User *User `json:"user,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this task
|
||||
func (m *Task) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateActiveTimesheets(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateActivity(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateEnd(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateEstimation(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateProject(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateStatus(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTeam(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTitle(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateUser(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Task) validateActiveTimesheets(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.ActiveTimesheets) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.ActiveTimesheets); i++ {
|
||||
if swag.IsZero(m.ActiveTimesheets[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.ActiveTimesheets[i] != nil {
|
||||
if err := m.ActiveTimesheets[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("activeTimesheets" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("activeTimesheets" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Task) validateActivity(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("activity", "body", m.Activity); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if m.Activity != nil {
|
||||
if err := m.Activity.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("activity")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("activity")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Task) validateEnd(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.End) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("end", "body", "date-time", m.End.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Task) validateEstimation(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Estimation) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MinimumInt("estimation", "body", *m.Estimation, 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Task) validateProject(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("project", "body", m.Project); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if m.Project != nil {
|
||||
if err := m.Project.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("project")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("project")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Task) validateStatus(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("status", "body", m.Status); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("status", "body", *m.Status, 20); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Task) validateTeam(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Team) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if m.Team != nil {
|
||||
if err := m.Team.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("team")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("team")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Task) validateTitle(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("title", "body", m.Title); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("title", "body", *m.Title, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("title", "body", *m.Title, 100); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Task) validateUser(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.User) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if m.User != nil {
|
||||
if err := m.User.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("user")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("user")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this task based on the context it is used
|
||||
func (m *Task) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateActiveTimesheets(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateActivity(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateProject(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateTeam(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateUser(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Task) contextValidateActiveTimesheets(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.ActiveTimesheets); i++ {
|
||||
|
||||
if m.ActiveTimesheets[i] != nil {
|
||||
if err := m.ActiveTimesheets[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("activeTimesheets" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("activeTimesheets" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Task) contextValidateActivity(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.Activity != nil {
|
||||
if err := m.Activity.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("activity")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("activity")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Task) contextValidateProject(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.Project != nil {
|
||||
if err := m.Project.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("project")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("project")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Task) contextValidateTeam(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.Team != nil {
|
||||
if err := m.Team.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("team")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("team")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Task) contextValidateUser(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.User != nil {
|
||||
if err := m.User.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("user")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("user")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *Task) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *Task) UnmarshalBinary(b []byte) error {
|
||||
var res Task
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
144
models/task_edit_form.go
Normal file
144
models/task_edit_form.go
Normal file
@ -0,0 +1,144 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// TaskEditForm task edit form
|
||||
//
|
||||
// swagger:model TaskEditForm
|
||||
type TaskEditForm struct {
|
||||
|
||||
// Activity ID
|
||||
// Required: true
|
||||
Activity *int64 `json:"activity"`
|
||||
|
||||
// description
|
||||
Description string `json:"description,omitempty"`
|
||||
|
||||
// end
|
||||
// Example: 2023-01-14T05:12:43
|
||||
// Format: date-time
|
||||
End strfmt.DateTime `json:"end,omitempty"`
|
||||
|
||||
// Estimation in seconds
|
||||
Estimation int64 `json:"estimation,omitempty"`
|
||||
|
||||
// Project ID
|
||||
// Required: true
|
||||
Project *int64 `json:"project"`
|
||||
|
||||
// Comma separated list of tags
|
||||
Tags string `json:"tags,omitempty"`
|
||||
|
||||
// Team ID
|
||||
Team int64 `json:"team,omitempty"`
|
||||
|
||||
// title
|
||||
// Required: true
|
||||
Title *string `json:"title"`
|
||||
|
||||
// The actual doings, which will be available on the detail and edit page.
|
||||
Todo string `json:"todo,omitempty"`
|
||||
|
||||
// User ID
|
||||
User int64 `json:"user,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this task edit form
|
||||
func (m *TaskEditForm) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateActivity(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateEnd(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateProject(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTitle(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TaskEditForm) validateActivity(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("activity", "body", m.Activity); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TaskEditForm) validateEnd(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.End) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("end", "body", "date-time", m.End.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TaskEditForm) validateProject(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("project", "body", m.Project); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TaskEditForm) validateTitle(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("title", "body", m.Title); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this task edit form based on context it is used
|
||||
func (m *TaskEditForm) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *TaskEditForm) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *TaskEditForm) UnmarshalBinary(b []byte) error {
|
||||
var res TaskEditForm
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
96
models/task_log_work_form.go
Normal file
96
models/task_log_work_form.go
Normal file
@ -0,0 +1,96 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// TaskLogWorkForm task log work form
|
||||
//
|
||||
// swagger:model TaskLogWorkForm
|
||||
type TaskLogWorkForm struct {
|
||||
|
||||
// begin
|
||||
// Example: 2023-01-14T05:12:43
|
||||
// Format: date-time
|
||||
Begin strfmt.DateTime `json:"begin,omitempty"`
|
||||
|
||||
// end
|
||||
// Example: 2023-01-14T05:12:43
|
||||
// Format: date-time
|
||||
End strfmt.DateTime `json:"end,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this task log work form
|
||||
func (m *TaskLogWorkForm) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateBegin(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateEnd(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TaskLogWorkForm) validateBegin(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Begin) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("begin", "body", "date-time", m.Begin.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TaskLogWorkForm) validateEnd(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.End) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("end", "body", "date-time", m.End.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this task log work form based on context it is used
|
||||
func (m *TaskLogWorkForm) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *TaskLogWorkForm) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *TaskLogWorkForm) UnmarshalBinary(b []byte) error {
|
||||
var res TaskLogWorkForm
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
334
models/task_query.go
Normal file
334
models/task_query.go
Normal file
@ -0,0 +1,334 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// TaskQuery task query
|
||||
//
|
||||
// swagger:model TaskQuery
|
||||
type TaskQuery struct {
|
||||
|
||||
// Array of activity IDs
|
||||
// Required: true
|
||||
Activities []int64 `json:"activities"`
|
||||
|
||||
// Array of customer IDs
|
||||
// Required: true
|
||||
Customers []int64 `json:"customers"`
|
||||
|
||||
// The order for returned items
|
||||
// Required: true
|
||||
// Enum: [ASC DESC]
|
||||
Order *string `json:"order"`
|
||||
|
||||
// order by
|
||||
// Required: true
|
||||
// Enum: [title customer project activity description status user begin end team]
|
||||
OrderBy *string `json:"orderBy"`
|
||||
|
||||
// Page number. Default: 1
|
||||
Page int64 `json:"page,omitempty"`
|
||||
|
||||
// page size
|
||||
// Enum: [10 15 20 25 30 35 40 45 50 60 70 80 90 100 125 150 175 200 250 300 350 400 450 500]
|
||||
PageSize float64 `json:"pageSize,omitempty"`
|
||||
|
||||
// Array of project IDs
|
||||
// Required: true
|
||||
Projects []int64 `json:"projects"`
|
||||
|
||||
// search term
|
||||
SearchTerm string `json:"searchTerm,omitempty"`
|
||||
|
||||
// status
|
||||
Status []string `json:"status"`
|
||||
|
||||
// Comma separated list of tags
|
||||
Tags string `json:"tags,omitempty"`
|
||||
|
||||
// Array of team IDs
|
||||
Teams []int64 `json:"teams"`
|
||||
|
||||
// Array of user IDs
|
||||
Users []int64 `json:"users"`
|
||||
}
|
||||
|
||||
// Validate validates this task query
|
||||
func (m *TaskQuery) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateActivities(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateCustomers(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateOrder(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateOrderBy(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validatePageSize(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateProjects(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateStatus(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TaskQuery) validateActivities(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("activities", "body", m.Activities); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TaskQuery) validateCustomers(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("customers", "body", m.Customers); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
var taskQueryTypeOrderPropEnum []interface{}
|
||||
|
||||
func init() {
|
||||
var res []string
|
||||
if err := json.Unmarshal([]byte(`["ASC","DESC"]`), &res); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
for _, v := range res {
|
||||
taskQueryTypeOrderPropEnum = append(taskQueryTypeOrderPropEnum, v)
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
|
||||
// TaskQueryOrderASC captures enum value "ASC"
|
||||
TaskQueryOrderASC string = "ASC"
|
||||
|
||||
// TaskQueryOrderDESC captures enum value "DESC"
|
||||
TaskQueryOrderDESC string = "DESC"
|
||||
)
|
||||
|
||||
// prop value enum
|
||||
func (m *TaskQuery) validateOrderEnum(path, location string, value string) error {
|
||||
if err := validate.EnumCase(path, location, value, taskQueryTypeOrderPropEnum, true); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TaskQuery) validateOrder(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("order", "body", m.Order); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// value enum
|
||||
if err := m.validateOrderEnum("order", "body", *m.Order); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
var taskQueryTypeOrderByPropEnum []interface{}
|
||||
|
||||
func init() {
|
||||
var res []string
|
||||
if err := json.Unmarshal([]byte(`["title","customer","project","activity","description","status","user","begin","end","team"]`), &res); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
for _, v := range res {
|
||||
taskQueryTypeOrderByPropEnum = append(taskQueryTypeOrderByPropEnum, v)
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
|
||||
// TaskQueryOrderByTitle captures enum value "title"
|
||||
TaskQueryOrderByTitle string = "title"
|
||||
|
||||
// TaskQueryOrderByCustomer captures enum value "customer"
|
||||
TaskQueryOrderByCustomer string = "customer"
|
||||
|
||||
// TaskQueryOrderByProject captures enum value "project"
|
||||
TaskQueryOrderByProject string = "project"
|
||||
|
||||
// TaskQueryOrderByActivity captures enum value "activity"
|
||||
TaskQueryOrderByActivity string = "activity"
|
||||
|
||||
// TaskQueryOrderByDescription captures enum value "description"
|
||||
TaskQueryOrderByDescription string = "description"
|
||||
|
||||
// TaskQueryOrderByStatus captures enum value "status"
|
||||
TaskQueryOrderByStatus string = "status"
|
||||
|
||||
// TaskQueryOrderByUser captures enum value "user"
|
||||
TaskQueryOrderByUser string = "user"
|
||||
|
||||
// TaskQueryOrderByBegin captures enum value "begin"
|
||||
TaskQueryOrderByBegin string = "begin"
|
||||
|
||||
// TaskQueryOrderByEnd captures enum value "end"
|
||||
TaskQueryOrderByEnd string = "end"
|
||||
|
||||
// TaskQueryOrderByTeam captures enum value "team"
|
||||
TaskQueryOrderByTeam string = "team"
|
||||
)
|
||||
|
||||
// prop value enum
|
||||
func (m *TaskQuery) validateOrderByEnum(path, location string, value string) error {
|
||||
if err := validate.EnumCase(path, location, value, taskQueryTypeOrderByPropEnum, true); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TaskQuery) validateOrderBy(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("orderBy", "body", m.OrderBy); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// value enum
|
||||
if err := m.validateOrderByEnum("orderBy", "body", *m.OrderBy); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
var taskQueryTypePageSizePropEnum []interface{}
|
||||
|
||||
func init() {
|
||||
var res []float64
|
||||
if err := json.Unmarshal([]byte(`[10,15,20,25,30,35,40,45,50,60,70,80,90,100,125,150,175,200,250,300,350,400,450,500]`), &res); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
for _, v := range res {
|
||||
taskQueryTypePageSizePropEnum = append(taskQueryTypePageSizePropEnum, v)
|
||||
}
|
||||
}
|
||||
|
||||
// prop value enum
|
||||
func (m *TaskQuery) validatePageSizeEnum(path, location string, value float64) error {
|
||||
if err := validate.EnumCase(path, location, value, taskQueryTypePageSizePropEnum, true); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TaskQuery) validatePageSize(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.PageSize) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
// value enum
|
||||
if err := m.validatePageSizeEnum("pageSize", "body", m.PageSize); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TaskQuery) validateProjects(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("projects", "body", m.Projects); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
var taskQueryStatusItemsEnum []interface{}
|
||||
|
||||
func init() {
|
||||
var res []string
|
||||
if err := json.Unmarshal([]byte(`["pending","progress","closed"]`), &res); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
for _, v := range res {
|
||||
taskQueryStatusItemsEnum = append(taskQueryStatusItemsEnum, v)
|
||||
}
|
||||
}
|
||||
|
||||
func (m *TaskQuery) validateStatusItemsEnum(path, location string, value string) error {
|
||||
if err := validate.EnumCase(path, location, value, taskQueryStatusItemsEnum, true); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TaskQuery) validateStatus(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Status) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Status); i++ {
|
||||
|
||||
// value enum
|
||||
if err := m.validateStatusItemsEnum("status"+"."+strconv.Itoa(i), "body", m.Status[i]); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this task query based on context it is used
|
||||
func (m *TaskQuery) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *TaskQuery) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *TaskQuery) UnmarshalBinary(b []byte) error {
|
||||
var res TaskQuery
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
431
models/team.go
Normal file
431
models/team.go
Normal file
@ -0,0 +1,431 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// Team team
|
||||
//
|
||||
// swagger:model Team
|
||||
type Team struct {
|
||||
|
||||
// Activities assigned to the team
|
||||
Activities []*Activity `json:"activities"`
|
||||
|
||||
// The assigned color in HTML hex format, eg. #dd1d00
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// Customers assigned to the team
|
||||
Customers []*Customer `json:"customers"`
|
||||
|
||||
// id
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// All team member (including team leads)
|
||||
// Min Items: 1
|
||||
Members []*TeamMember `json:"members"`
|
||||
|
||||
// Team name
|
||||
// Required: true
|
||||
// Max Length: 100
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// Projects assigned to the team
|
||||
Projects []*Project `json:"projects"`
|
||||
|
||||
// teamlead
|
||||
Teamlead *User `json:"teamlead,omitempty"`
|
||||
|
||||
// Returns all users in the team, both teamlead and normal member.
|
||||
Users []*User `json:"users"`
|
||||
}
|
||||
|
||||
// Validate validates this team
|
||||
func (m *Team) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateActivities(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateCustomers(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateMembers(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateProjects(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTeamlead(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateUsers(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Team) validateActivities(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Activities) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Activities); i++ {
|
||||
if swag.IsZero(m.Activities[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.Activities[i] != nil {
|
||||
if err := m.Activities[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("activities" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("activities" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Team) validateCustomers(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Customers) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Customers); i++ {
|
||||
if swag.IsZero(m.Customers[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.Customers[i] != nil {
|
||||
if err := m.Customers[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("customers" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("customers" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Team) validateMembers(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Members) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
iMembersSize := int64(len(m.Members))
|
||||
|
||||
if err := validate.MinItems("members", "body", iMembersSize, 1); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Members); i++ {
|
||||
if swag.IsZero(m.Members[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.Members[i] != nil {
|
||||
if err := m.Members[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("members" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("members" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Team) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 100); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Team) validateProjects(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Projects) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Projects); i++ {
|
||||
if swag.IsZero(m.Projects[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.Projects[i] != nil {
|
||||
if err := m.Projects[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("projects" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("projects" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Team) validateTeamlead(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Teamlead) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if m.Teamlead != nil {
|
||||
if err := m.Teamlead.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("teamlead")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("teamlead")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Team) validateUsers(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Users) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Users); i++ {
|
||||
if swag.IsZero(m.Users[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.Users[i] != nil {
|
||||
if err := m.Users[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("users" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("users" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this team based on the context it is used
|
||||
func (m *Team) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateActivities(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateCustomers(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateMembers(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateProjects(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateTeamlead(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateUsers(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Team) contextValidateActivities(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.Activities); i++ {
|
||||
|
||||
if m.Activities[i] != nil {
|
||||
if err := m.Activities[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("activities" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("activities" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Team) contextValidateCustomers(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.Customers); i++ {
|
||||
|
||||
if m.Customers[i] != nil {
|
||||
if err := m.Customers[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("customers" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("customers" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Team) contextValidateMembers(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.Members); i++ {
|
||||
|
||||
if m.Members[i] != nil {
|
||||
if err := m.Members[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("members" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("members" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Team) contextValidateProjects(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.Projects); i++ {
|
||||
|
||||
if m.Projects[i] != nil {
|
||||
if err := m.Projects[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("projects" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("projects" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Team) contextValidateTeamlead(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.Teamlead != nil {
|
||||
if err := m.Teamlead.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("teamlead")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("teamlead")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Team) contextValidateUsers(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.Users); i++ {
|
||||
|
||||
if m.Users[i] != nil {
|
||||
if err := m.Users[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("users" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("users" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *Team) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *Team) UnmarshalBinary(b []byte) error {
|
||||
var res Team
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
87
models/team_collection.go
Normal file
87
models/team_collection.go
Normal file
@ -0,0 +1,87 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// TeamCollection team collection
|
||||
//
|
||||
// swagger:model TeamCollection
|
||||
type TeamCollection struct {
|
||||
|
||||
// The assigned color in HTML hex format, eg. #dd1d00
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// id
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// Team name
|
||||
// Required: true
|
||||
// Max Length: 100
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
}
|
||||
|
||||
// Validate validates this team collection
|
||||
func (m *TeamCollection) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TeamCollection) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 100); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this team collection based on context it is used
|
||||
func (m *TeamCollection) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *TeamCollection) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *TeamCollection) UnmarshalBinary(b []byte) error {
|
||||
var res TeamCollection
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
179
models/team_edit_form.go
Normal file
179
models/team_edit_form.go
Normal file
@ -0,0 +1,179 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// TeamEditForm team edit form
|
||||
//
|
||||
// swagger:model TeamEditForm
|
||||
type TeamEditForm struct {
|
||||
|
||||
// The hexadecimal color code (default: #d2d6de)
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// All team members
|
||||
// Required: true
|
||||
Members []*TeamEditFormMembersItems0 `json:"members"`
|
||||
|
||||
// Name of the team
|
||||
// Required: true
|
||||
Name *string `json:"name"`
|
||||
}
|
||||
|
||||
// Validate validates this team edit form
|
||||
func (m *TeamEditForm) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateMembers(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TeamEditForm) validateMembers(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("members", "body", m.Members); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Members); i++ {
|
||||
if swag.IsZero(m.Members[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.Members[i] != nil {
|
||||
if err := m.Members[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("members" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("members" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TeamEditForm) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this team edit form based on the context it is used
|
||||
func (m *TeamEditForm) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateMembers(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TeamEditForm) contextValidateMembers(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.Members); i++ {
|
||||
|
||||
if m.Members[i] != nil {
|
||||
if err := m.Members[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("members" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("members" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *TeamEditForm) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *TeamEditForm) UnmarshalBinary(b []byte) error {
|
||||
var res TeamEditForm
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
||||
|
||||
// TeamEditFormMembersItems0 team edit form members items0
|
||||
//
|
||||
// swagger:model TeamEditFormMembersItems0
|
||||
type TeamEditFormMembersItems0 struct {
|
||||
|
||||
// Whether the user is a teamlead
|
||||
Teamlead bool `json:"teamlead,omitempty"`
|
||||
|
||||
// User ID
|
||||
User int64 `json:"user,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this team edit form members items0
|
||||
func (m *TeamEditFormMembersItems0) Validate(formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this team edit form members items0 based on context it is used
|
||||
func (m *TeamEditFormMembersItems0) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *TeamEditFormMembersItems0) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *TeamEditFormMembersItems0) UnmarshalBinary(b []byte) error {
|
||||
var res TeamEditFormMembersItems0
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
124
models/team_member.go
Normal file
124
models/team_member.go
Normal file
@ -0,0 +1,124 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// TeamMember team member
|
||||
//
|
||||
// swagger:model TeamMember
|
||||
type TeamMember struct {
|
||||
|
||||
// teamlead
|
||||
// Required: true
|
||||
Teamlead *bool `json:"teamlead"`
|
||||
|
||||
// user
|
||||
// Required: true
|
||||
User *User `json:"user"`
|
||||
}
|
||||
|
||||
// Validate validates this team member
|
||||
func (m *TeamMember) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateTeamlead(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateUser(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TeamMember) validateTeamlead(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("teamlead", "body", m.Teamlead); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TeamMember) validateUser(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("user", "body", m.User); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if m.User != nil {
|
||||
if err := m.User.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("user")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("user")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this team member based on the context it is used
|
||||
func (m *TeamMember) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateUser(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TeamMember) contextValidateUser(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.User != nil {
|
||||
if err := m.User.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("user")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("user")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *TeamMember) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *TeamMember) UnmarshalBinary(b []byte) error {
|
||||
var res TeamMember
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
124
models/team_membership.go
Normal file
124
models/team_membership.go
Normal file
@ -0,0 +1,124 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// TeamMembership team membership
|
||||
//
|
||||
// swagger:model TeamMembership
|
||||
type TeamMembership struct {
|
||||
|
||||
// team
|
||||
// Required: true
|
||||
Team *Team `json:"team"`
|
||||
|
||||
// teamlead
|
||||
// Required: true
|
||||
Teamlead *bool `json:"teamlead"`
|
||||
}
|
||||
|
||||
// Validate validates this team membership
|
||||
func (m *TeamMembership) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateTeam(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTeamlead(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TeamMembership) validateTeam(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("team", "body", m.Team); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if m.Team != nil {
|
||||
if err := m.Team.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("team")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("team")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TeamMembership) validateTeamlead(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("teamlead", "body", m.Teamlead); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this team membership based on the context it is used
|
||||
func (m *TeamMembership) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateTeam(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TeamMembership) contextValidateTeam(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.Team != nil {
|
||||
if err := m.Team.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("team")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("team")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *TeamMembership) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *TeamMembership) UnmarshalBinary(b []byte) error {
|
||||
var res TeamMembership
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
239
models/timesheet_collection.go
Normal file
239
models/timesheet_collection.go
Normal file
@ -0,0 +1,239 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// TimesheetCollection timesheet collection
|
||||
//
|
||||
// swagger:model TimesheetCollection
|
||||
type TimesheetCollection struct {
|
||||
|
||||
// activity
|
||||
Activity int64 `json:"activity,omitempty"`
|
||||
|
||||
// begin
|
||||
// Required: true
|
||||
// Format: date-time
|
||||
Begin *strfmt.DateTime `json:"begin"`
|
||||
|
||||
// billable
|
||||
// Required: true
|
||||
Billable *bool `json:"billable"`
|
||||
|
||||
// description
|
||||
Description string `json:"description,omitempty"`
|
||||
|
||||
// duration
|
||||
Duration int64 `json:"duration,omitempty"`
|
||||
|
||||
// end
|
||||
// Format: date-time
|
||||
End strfmt.DateTime `json:"end,omitempty"`
|
||||
|
||||
// exported
|
||||
// Required: true
|
||||
Exported *bool `json:"exported"`
|
||||
|
||||
// id
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// internal rate
|
||||
InternalRate float32 `json:"internalRate,omitempty"`
|
||||
|
||||
// Meta fields
|
||||
//
|
||||
// All visible meta (custom) fields registered with this timesheet
|
||||
MetaFields []*TimesheetMeta `json:"metaFields"`
|
||||
|
||||
// project
|
||||
Project int64 `json:"project,omitempty"`
|
||||
|
||||
// rate
|
||||
// Minimum: 0
|
||||
Rate *float32 `json:"rate,omitempty"`
|
||||
|
||||
// tags
|
||||
Tags []string `json:"tags"`
|
||||
|
||||
// user
|
||||
User int64 `json:"user,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this timesheet collection
|
||||
func (m *TimesheetCollection) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateBegin(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateBillable(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateEnd(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateExported(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateMetaFields(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateRate(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollection) validateBegin(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("begin", "body", m.Begin); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("begin", "body", "date-time", m.Begin.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollection) validateBillable(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("billable", "body", m.Billable); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollection) validateEnd(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.End) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("end", "body", "date-time", m.End.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollection) validateExported(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("exported", "body", m.Exported); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollection) validateMetaFields(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.MetaFields) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
if swag.IsZero(m.MetaFields[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollection) validateRate(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Rate) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.Minimum("rate", "body", float64(*m.Rate), 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this timesheet collection based on the context it is used
|
||||
func (m *TimesheetCollection) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateMetaFields(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollection) contextValidateMetaFields(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *TimesheetCollection) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *TimesheetCollection) UnmarshalBinary(b []byte) error {
|
||||
var res TimesheetCollection
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
329
models/timesheet_collection_expanded.go
Normal file
329
models/timesheet_collection_expanded.go
Normal file
@ -0,0 +1,329 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// TimesheetCollectionExpanded timesheet collection expanded
|
||||
//
|
||||
// swagger:model TimesheetCollectionExpanded
|
||||
type TimesheetCollectionExpanded struct {
|
||||
|
||||
// activity
|
||||
// Required: true
|
||||
Activity *ActivityExpanded `json:"activity"`
|
||||
|
||||
// begin
|
||||
// Required: true
|
||||
// Format: date-time
|
||||
Begin *strfmt.DateTime `json:"begin"`
|
||||
|
||||
// billable
|
||||
// Required: true
|
||||
Billable *bool `json:"billable"`
|
||||
|
||||
// description
|
||||
Description string `json:"description,omitempty"`
|
||||
|
||||
// duration
|
||||
Duration int64 `json:"duration,omitempty"`
|
||||
|
||||
// end
|
||||
// Format: date-time
|
||||
End strfmt.DateTime `json:"end,omitempty"`
|
||||
|
||||
// exported
|
||||
// Required: true
|
||||
Exported *bool `json:"exported"`
|
||||
|
||||
// id
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// internal rate
|
||||
InternalRate float32 `json:"internalRate,omitempty"`
|
||||
|
||||
// Meta fields
|
||||
//
|
||||
// All visible meta (custom) fields registered with this timesheet
|
||||
MetaFields []*TimesheetMeta `json:"metaFields"`
|
||||
|
||||
// project
|
||||
// Required: true
|
||||
Project *ProjectExpanded `json:"project"`
|
||||
|
||||
// rate
|
||||
// Minimum: 0
|
||||
Rate *float32 `json:"rate,omitempty"`
|
||||
|
||||
// tags
|
||||
Tags []string `json:"tags"`
|
||||
|
||||
// user
|
||||
User int64 `json:"user,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this timesheet collection expanded
|
||||
func (m *TimesheetCollectionExpanded) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateActivity(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateBegin(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateBillable(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateEnd(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateExported(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateMetaFields(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateProject(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateRate(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollectionExpanded) validateActivity(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("activity", "body", m.Activity); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if m.Activity != nil {
|
||||
if err := m.Activity.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("activity")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("activity")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollectionExpanded) validateBegin(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("begin", "body", m.Begin); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("begin", "body", "date-time", m.Begin.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollectionExpanded) validateBillable(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("billable", "body", m.Billable); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollectionExpanded) validateEnd(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.End) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("end", "body", "date-time", m.End.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollectionExpanded) validateExported(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("exported", "body", m.Exported); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollectionExpanded) validateMetaFields(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.MetaFields) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
if swag.IsZero(m.MetaFields[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollectionExpanded) validateProject(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("project", "body", m.Project); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if m.Project != nil {
|
||||
if err := m.Project.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("project")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("project")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollectionExpanded) validateRate(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Rate) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.Minimum("rate", "body", float64(*m.Rate), 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this timesheet collection expanded based on the context it is used
|
||||
func (m *TimesheetCollectionExpanded) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateActivity(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateMetaFields(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateProject(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollectionExpanded) contextValidateActivity(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.Activity != nil {
|
||||
if err := m.Activity.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("activity")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("activity")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollectionExpanded) contextValidateMetaFields(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetCollectionExpanded) contextValidateProject(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.Project != nil {
|
||||
if err := m.Project.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("project")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("project")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *TimesheetCollectionExpanded) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *TimesheetCollectionExpanded) UnmarshalBinary(b []byte) error {
|
||||
var res TimesheetCollectionExpanded
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
65
models/timesheet_config.go
Normal file
65
models/timesheet_config.go
Normal file
@ -0,0 +1,65 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
)
|
||||
|
||||
// TimesheetConfig timesheet config
|
||||
//
|
||||
// swagger:model TimesheetConfig
|
||||
type TimesheetConfig struct {
|
||||
|
||||
// How many running timesheets a user is allowed to have at the same time
|
||||
ActiveEntriesHardLimit int64 `json:"activeEntriesHardLimit,omitempty"`
|
||||
|
||||
// How many running timesheets a user is allowed before a warning is shown
|
||||
ActiveEntriesSoftLimit int64 `json:"activeEntriesSoftLimit,omitempty"`
|
||||
|
||||
// Default begin datetime in PHP format
|
||||
DefaultBeginTime string `json:"defaultBeginTime,omitempty"`
|
||||
|
||||
// Whether entries for future times are allowed
|
||||
IsAllowFutureTimes bool `json:"isAllowFutureTimes,omitempty"`
|
||||
|
||||
// Whether overlapping entries are allowed
|
||||
IsAllowOverlapping bool `json:"isAllowOverlapping,omitempty"`
|
||||
|
||||
// The time-tracking mode, see also: https://www.kimai.org/documentation/timesheet.html#tracking-modes
|
||||
TrackingMode string `json:"trackingMode,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this timesheet config
|
||||
func (m *TimesheetConfig) Validate(formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this timesheet config based on context it is used
|
||||
func (m *TimesheetConfig) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *TimesheetConfig) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *TimesheetConfig) UnmarshalBinary(b []byte) error {
|
||||
var res TimesheetConfig
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
153
models/timesheet_edit_form.go
Normal file
153
models/timesheet_edit_form.go
Normal file
@ -0,0 +1,153 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// TimesheetEditForm timesheet edit form
|
||||
//
|
||||
// swagger:model TimesheetEditForm
|
||||
type TimesheetEditForm struct {
|
||||
|
||||
// Activity ID
|
||||
// Required: true
|
||||
Activity *int64 `json:"activity"`
|
||||
|
||||
// begin
|
||||
// Example: 2023-01-14T05:12:43
|
||||
// Required: true
|
||||
// Format: date-time
|
||||
Begin *strfmt.DateTime `json:"begin"`
|
||||
|
||||
// billable
|
||||
Billable bool `json:"billable,omitempty"`
|
||||
|
||||
// description
|
||||
Description string `json:"description,omitempty"`
|
||||
|
||||
// end
|
||||
// Example: 2023-01-14T05:12:43
|
||||
// Format: date-time
|
||||
End strfmt.DateTime `json:"end,omitempty"`
|
||||
|
||||
// exported
|
||||
Exported bool `json:"exported,omitempty"`
|
||||
|
||||
// Fixed rate
|
||||
FixedRate float64 `json:"fixedRate,omitempty"`
|
||||
|
||||
// Hourly rate
|
||||
HourlyRate float64 `json:"hourlyRate,omitempty"`
|
||||
|
||||
// Project ID
|
||||
// Required: true
|
||||
Project *int64 `json:"project"`
|
||||
|
||||
// Comma separated list of tags
|
||||
Tags string `json:"tags,omitempty"`
|
||||
|
||||
// User ID
|
||||
User int64 `json:"user,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this timesheet edit form
|
||||
func (m *TimesheetEditForm) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateActivity(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateBegin(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateEnd(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateProject(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEditForm) validateActivity(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("activity", "body", m.Activity); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEditForm) validateBegin(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("begin", "body", m.Begin); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("begin", "body", "date-time", m.Begin.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEditForm) validateEnd(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.End) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("end", "body", "date-time", m.End.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEditForm) validateProject(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("project", "body", m.Project); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this timesheet edit form based on context it is used
|
||||
func (m *TimesheetEditForm) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *TimesheetEditForm) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *TimesheetEditForm) UnmarshalBinary(b []byte) error {
|
||||
var res TimesheetEditForm
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
279
models/timesheet_entity.go
Normal file
279
models/timesheet_entity.go
Normal file
@ -0,0 +1,279 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// TimesheetEntity timesheet entity
|
||||
//
|
||||
// swagger:model TimesheetEntity
|
||||
type TimesheetEntity struct {
|
||||
|
||||
// activity
|
||||
Activity int64 `json:"activity,omitempty"`
|
||||
|
||||
// begin
|
||||
// Required: true
|
||||
// Format: date-time
|
||||
Begin *strfmt.DateTime `json:"begin"`
|
||||
|
||||
// billable
|
||||
// Required: true
|
||||
Billable *bool `json:"billable"`
|
||||
|
||||
// description
|
||||
Description string `json:"description,omitempty"`
|
||||
|
||||
// duration
|
||||
Duration int64 `json:"duration,omitempty"`
|
||||
|
||||
// end
|
||||
// Format: date-time
|
||||
End strfmt.DateTime `json:"end,omitempty"`
|
||||
|
||||
// exported
|
||||
// Required: true
|
||||
Exported *bool `json:"exported"`
|
||||
|
||||
// fixed rate
|
||||
// Minimum: 0
|
||||
FixedRate *float32 `json:"fixedRate,omitempty"`
|
||||
|
||||
// hourly rate
|
||||
// Minimum: 0
|
||||
HourlyRate *float32 `json:"hourlyRate,omitempty"`
|
||||
|
||||
// id
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// internal rate
|
||||
InternalRate float32 `json:"internalRate,omitempty"`
|
||||
|
||||
// Meta fields
|
||||
//
|
||||
// All visible meta (custom) fields registered with this timesheet
|
||||
MetaFields []*TimesheetMeta `json:"metaFields"`
|
||||
|
||||
// project
|
||||
Project int64 `json:"project,omitempty"`
|
||||
|
||||
// rate
|
||||
// Minimum: 0
|
||||
Rate *float32 `json:"rate,omitempty"`
|
||||
|
||||
// tags
|
||||
Tags []string `json:"tags"`
|
||||
|
||||
// user
|
||||
User int64 `json:"user,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this timesheet entity
|
||||
func (m *TimesheetEntity) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateBegin(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateBillable(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateEnd(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateExported(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateFixedRate(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateHourlyRate(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateMetaFields(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateRate(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntity) validateBegin(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("begin", "body", m.Begin); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("begin", "body", "date-time", m.Begin.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntity) validateBillable(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("billable", "body", m.Billable); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntity) validateEnd(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.End) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("end", "body", "date-time", m.End.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntity) validateExported(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("exported", "body", m.Exported); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntity) validateFixedRate(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.FixedRate) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.Minimum("fixedRate", "body", float64(*m.FixedRate), 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntity) validateHourlyRate(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.HourlyRate) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.Minimum("hourlyRate", "body", float64(*m.HourlyRate), 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntity) validateMetaFields(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.MetaFields) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
if swag.IsZero(m.MetaFields[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntity) validateRate(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Rate) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.Minimum("rate", "body", float64(*m.Rate), 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this timesheet entity based on the context it is used
|
||||
func (m *TimesheetEntity) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateMetaFields(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntity) contextValidateMetaFields(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *TimesheetEntity) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *TimesheetEntity) UnmarshalBinary(b []byte) error {
|
||||
var res TimesheetEntity
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
369
models/timesheet_entity_expanded.go
Normal file
369
models/timesheet_entity_expanded.go
Normal file
@ -0,0 +1,369 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// TimesheetEntityExpanded timesheet entity expanded
|
||||
//
|
||||
// swagger:model TimesheetEntityExpanded
|
||||
type TimesheetEntityExpanded struct {
|
||||
|
||||
// activity
|
||||
// Required: true
|
||||
Activity *ActivityExpanded `json:"activity"`
|
||||
|
||||
// begin
|
||||
// Required: true
|
||||
// Format: date-time
|
||||
Begin *strfmt.DateTime `json:"begin"`
|
||||
|
||||
// billable
|
||||
// Required: true
|
||||
Billable *bool `json:"billable"`
|
||||
|
||||
// description
|
||||
Description string `json:"description,omitempty"`
|
||||
|
||||
// duration
|
||||
Duration int64 `json:"duration,omitempty"`
|
||||
|
||||
// end
|
||||
// Format: date-time
|
||||
End strfmt.DateTime `json:"end,omitempty"`
|
||||
|
||||
// exported
|
||||
// Required: true
|
||||
Exported *bool `json:"exported"`
|
||||
|
||||
// fixed rate
|
||||
// Minimum: 0
|
||||
FixedRate *float32 `json:"fixedRate,omitempty"`
|
||||
|
||||
// hourly rate
|
||||
// Minimum: 0
|
||||
HourlyRate *float32 `json:"hourlyRate,omitempty"`
|
||||
|
||||
// id
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// internal rate
|
||||
InternalRate float32 `json:"internalRate,omitempty"`
|
||||
|
||||
// Meta fields
|
||||
//
|
||||
// All visible meta (custom) fields registered with this timesheet
|
||||
MetaFields []*TimesheetMeta `json:"metaFields"`
|
||||
|
||||
// project
|
||||
// Required: true
|
||||
Project *ProjectExpanded `json:"project"`
|
||||
|
||||
// rate
|
||||
// Minimum: 0
|
||||
Rate *float32 `json:"rate,omitempty"`
|
||||
|
||||
// tags
|
||||
Tags []string `json:"tags"`
|
||||
|
||||
// user
|
||||
User int64 `json:"user,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this timesheet entity expanded
|
||||
func (m *TimesheetEntityExpanded) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateActivity(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateBegin(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateBillable(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateEnd(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateExported(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateFixedRate(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateHourlyRate(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateMetaFields(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateProject(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateRate(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntityExpanded) validateActivity(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("activity", "body", m.Activity); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if m.Activity != nil {
|
||||
if err := m.Activity.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("activity")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("activity")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntityExpanded) validateBegin(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("begin", "body", m.Begin); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("begin", "body", "date-time", m.Begin.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntityExpanded) validateBillable(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("billable", "body", m.Billable); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntityExpanded) validateEnd(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.End) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.FormatOf("end", "body", "date-time", m.End.String(), formats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntityExpanded) validateExported(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("exported", "body", m.Exported); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntityExpanded) validateFixedRate(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.FixedRate) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.Minimum("fixedRate", "body", float64(*m.FixedRate), 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntityExpanded) validateHourlyRate(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.HourlyRate) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.Minimum("hourlyRate", "body", float64(*m.HourlyRate), 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntityExpanded) validateMetaFields(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.MetaFields) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
if swag.IsZero(m.MetaFields[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntityExpanded) validateProject(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("project", "body", m.Project); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if m.Project != nil {
|
||||
if err := m.Project.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("project")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("project")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntityExpanded) validateRate(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Rate) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.Minimum("rate", "body", float64(*m.Rate), 0, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this timesheet entity expanded based on the context it is used
|
||||
func (m *TimesheetEntityExpanded) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateActivity(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateMetaFields(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateProject(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntityExpanded) contextValidateActivity(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.Activity != nil {
|
||||
if err := m.Activity.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("activity")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("activity")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntityExpanded) contextValidateMetaFields(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.MetaFields); i++ {
|
||||
|
||||
if m.MetaFields[i] != nil {
|
||||
if err := m.MetaFields[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("metaFields" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetEntityExpanded) contextValidateProject(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.Project != nil {
|
||||
if err := m.Project.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("project")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("project")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *TimesheetEntityExpanded) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *TimesheetEntityExpanded) UnmarshalBinary(b []byte) error {
|
||||
var res TimesheetEntityExpanded
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
101
models/timesheet_meta.go
Normal file
101
models/timesheet_meta.go
Normal file
@ -0,0 +1,101 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// TimesheetMeta timesheet meta
|
||||
//
|
||||
// swagger:model TimesheetMeta
|
||||
type TimesheetMeta struct {
|
||||
|
||||
// Name of the meta (custom) field
|
||||
// Required: true
|
||||
// Max Length: 50
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// Value of the meta (custom) field
|
||||
// Max Length: 65535
|
||||
Value string `json:"value,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this timesheet meta
|
||||
func (m *TimesheetMeta) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateValue(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetMeta) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 50); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TimesheetMeta) validateValue(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Value) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("value", "body", m.Value, 65535); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this timesheet meta based on context it is used
|
||||
func (m *TimesheetMeta) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *TimesheetMeta) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *TimesheetMeta) UnmarshalBinary(b []byte) error {
|
||||
var res TimesheetMeta
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
130
models/user.go
Normal file
130
models/user.go
Normal file
@ -0,0 +1,130 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// User user
|
||||
//
|
||||
// swagger:model User
|
||||
type User struct {
|
||||
|
||||
// account number
|
||||
// Max Length: 30
|
||||
AccountNumber string `json:"accountNumber,omitempty"`
|
||||
|
||||
// The user alias will be displayed in the frontend instead of the username
|
||||
// Max Length: 60
|
||||
Alias string `json:"alias,omitempty"`
|
||||
|
||||
// The assigned color in HTML hex format, eg. #dd1d00
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// enabled
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
|
||||
// Internal ID
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// username
|
||||
// Required: true
|
||||
// Max Length: 60
|
||||
// Min Length: 2
|
||||
Username *string `json:"username"`
|
||||
}
|
||||
|
||||
// Validate validates this user
|
||||
func (m *User) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateAccountNumber(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateAlias(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateUsername(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *User) validateAccountNumber(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.AccountNumber) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("accountNumber", "body", m.AccountNumber, 30); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *User) validateAlias(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Alias) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("alias", "body", m.Alias, 60); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *User) validateUsername(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("username", "body", m.Username); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("username", "body", *m.Username, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("username", "body", *m.Username, 60); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this user based on context it is used
|
||||
func (m *User) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *User) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *User) UnmarshalBinary(b []byte) error {
|
||||
var res User
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
88
models/user_auth.go
Normal file
88
models/user_auth.go
Normal file
@ -0,0 +1,88 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// UserAuth user auth
|
||||
//
|
||||
// swagger:model UserAuth
|
||||
type UserAuth struct {
|
||||
|
||||
// code
|
||||
// Required: true
|
||||
Code *string `json:"code"`
|
||||
|
||||
// type
|
||||
// Required: true
|
||||
Type *string `json:"type"`
|
||||
}
|
||||
|
||||
// Validate validates this user auth
|
||||
func (m *UserAuth) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateCode(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateType(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserAuth) validateCode(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("code", "body", m.Code); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserAuth) validateType(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("type", "body", m.Type); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this user auth based on context it is used
|
||||
func (m *UserAuth) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *UserAuth) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *UserAuth) UnmarshalBinary(b []byte) error {
|
||||
var res UserAuth
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
162
models/user_auth_codes.go
Normal file
162
models/user_auth_codes.go
Normal file
@ -0,0 +1,162 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
)
|
||||
|
||||
// UserAuthCodes user auth codes
|
||||
//
|
||||
// swagger:model UserAuthCodes
|
||||
type UserAuthCodes struct {
|
||||
|
||||
// codes
|
||||
Codes []*UserAuth `json:"codes"`
|
||||
|
||||
// user
|
||||
User *User `json:"user,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this user auth codes
|
||||
func (m *UserAuthCodes) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateCodes(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateUser(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserAuthCodes) validateCodes(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Codes) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Codes); i++ {
|
||||
if swag.IsZero(m.Codes[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.Codes[i] != nil {
|
||||
if err := m.Codes[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("codes" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("codes" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserAuthCodes) validateUser(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.User) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if m.User != nil {
|
||||
if err := m.User.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("user")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("user")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this user auth codes based on the context it is used
|
||||
func (m *UserAuthCodes) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateCodes(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateUser(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserAuthCodes) contextValidateCodes(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.Codes); i++ {
|
||||
|
||||
if m.Codes[i] != nil {
|
||||
if err := m.Codes[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("codes" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("codes" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserAuthCodes) contextValidateUser(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.User != nil {
|
||||
if err := m.User.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("user")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("user")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *UserAuthCodes) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *UserAuthCodes) UnmarshalBinary(b []byte) error {
|
||||
var res UserAuthCodes
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
130
models/user_collection.go
Normal file
130
models/user_collection.go
Normal file
@ -0,0 +1,130 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// UserCollection user collection
|
||||
//
|
||||
// swagger:model UserCollection
|
||||
type UserCollection struct {
|
||||
|
||||
// account number
|
||||
// Max Length: 30
|
||||
AccountNumber string `json:"accountNumber,omitempty"`
|
||||
|
||||
// The user alias will be displayed in the frontend instead of the username
|
||||
// Max Length: 60
|
||||
Alias string `json:"alias,omitempty"`
|
||||
|
||||
// The assigned color in HTML hex format, eg. #dd1d00
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// enabled
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
|
||||
// Internal ID
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// username
|
||||
// Required: true
|
||||
// Max Length: 60
|
||||
// Min Length: 2
|
||||
Username *string `json:"username"`
|
||||
}
|
||||
|
||||
// Validate validates this user collection
|
||||
func (m *UserCollection) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateAccountNumber(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateAlias(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateUsername(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserCollection) validateAccountNumber(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.AccountNumber) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("accountNumber", "body", m.AccountNumber, 30); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserCollection) validateAlias(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Alias) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("alias", "body", m.Alias, 60); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserCollection) validateUsername(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("username", "body", m.Username); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("username", "body", *m.Username, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("username", "body", *m.Username, 60); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this user collection based on context it is used
|
||||
func (m *UserCollection) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *UserCollection) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *UserCollection) UnmarshalBinary(b []byte) error {
|
||||
var res UserCollection
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
336
models/user_create_form.go
Normal file
336
models/user_create_form.go
Normal file
@ -0,0 +1,336 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// UserCreateForm user create form
|
||||
//
|
||||
// swagger:model UserCreateForm
|
||||
type UserCreateForm struct {
|
||||
|
||||
// account number
|
||||
AccountNumber string `json:"accountNumber,omitempty"`
|
||||
|
||||
// alias
|
||||
Alias string `json:"alias,omitempty"`
|
||||
|
||||
// The hexadecimal color code (default: #d2d6de)
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// email
|
||||
// Required: true
|
||||
Email *string `json:"email"`
|
||||
|
||||
// enabled
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
|
||||
// language
|
||||
// Required: true
|
||||
// Enum: [ar cs da de de_AT de_CH el en en_GB eo es eu fa fi fo fr he hr hu it ja ko nb_NO nl pl pt pt_BR ro ru sk sv tr uk vi zh_CN]
|
||||
Language *string `json:"language"`
|
||||
|
||||
// Plain API token
|
||||
PlainAPIToken string `json:"plainApiToken,omitempty"`
|
||||
|
||||
// Plain text password
|
||||
// Required: true
|
||||
PlainPassword *string `json:"plainPassword"`
|
||||
|
||||
// roles
|
||||
Roles []string `json:"roles"`
|
||||
|
||||
// timezone
|
||||
// Required: true
|
||||
Timezone *string `json:"timezone"`
|
||||
|
||||
// title
|
||||
Title string `json:"title,omitempty"`
|
||||
|
||||
// username
|
||||
// Required: true
|
||||
Username *string `json:"username"`
|
||||
}
|
||||
|
||||
// Validate validates this user create form
|
||||
func (m *UserCreateForm) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateEmail(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateLanguage(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validatePlainPassword(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateRoles(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTimezone(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateUsername(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserCreateForm) validateEmail(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("email", "body", m.Email); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
var userCreateFormTypeLanguagePropEnum []interface{}
|
||||
|
||||
func init() {
|
||||
var res []string
|
||||
if err := json.Unmarshal([]byte(`["ar","cs","da","de","de_AT","de_CH","el","en","en_GB","eo","es","eu","fa","fi","fo","fr","he","hr","hu","it","ja","ko","nb_NO","nl","pl","pt","pt_BR","ro","ru","sk","sv","tr","uk","vi","zh_CN"]`), &res); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
for _, v := range res {
|
||||
userCreateFormTypeLanguagePropEnum = append(userCreateFormTypeLanguagePropEnum, v)
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
|
||||
// UserCreateFormLanguageAr captures enum value "ar"
|
||||
UserCreateFormLanguageAr string = "ar"
|
||||
|
||||
// UserCreateFormLanguageCs captures enum value "cs"
|
||||
UserCreateFormLanguageCs string = "cs"
|
||||
|
||||
// UserCreateFormLanguageDa captures enum value "da"
|
||||
UserCreateFormLanguageDa string = "da"
|
||||
|
||||
// UserCreateFormLanguageDe captures enum value "de"
|
||||
UserCreateFormLanguageDe string = "de"
|
||||
|
||||
// UserCreateFormLanguageDeAT captures enum value "de_AT"
|
||||
UserCreateFormLanguageDeAT string = "de_AT"
|
||||
|
||||
// UserCreateFormLanguageDeCH captures enum value "de_CH"
|
||||
UserCreateFormLanguageDeCH string = "de_CH"
|
||||
|
||||
// UserCreateFormLanguageEl captures enum value "el"
|
||||
UserCreateFormLanguageEl string = "el"
|
||||
|
||||
// UserCreateFormLanguageEn captures enum value "en"
|
||||
UserCreateFormLanguageEn string = "en"
|
||||
|
||||
// UserCreateFormLanguageEnGB captures enum value "en_GB"
|
||||
UserCreateFormLanguageEnGB string = "en_GB"
|
||||
|
||||
// UserCreateFormLanguageEo captures enum value "eo"
|
||||
UserCreateFormLanguageEo string = "eo"
|
||||
|
||||
// UserCreateFormLanguageEs captures enum value "es"
|
||||
UserCreateFormLanguageEs string = "es"
|
||||
|
||||
// UserCreateFormLanguageEu captures enum value "eu"
|
||||
UserCreateFormLanguageEu string = "eu"
|
||||
|
||||
// UserCreateFormLanguageFa captures enum value "fa"
|
||||
UserCreateFormLanguageFa string = "fa"
|
||||
|
||||
// UserCreateFormLanguageFi captures enum value "fi"
|
||||
UserCreateFormLanguageFi string = "fi"
|
||||
|
||||
// UserCreateFormLanguageFo captures enum value "fo"
|
||||
UserCreateFormLanguageFo string = "fo"
|
||||
|
||||
// UserCreateFormLanguageFr captures enum value "fr"
|
||||
UserCreateFormLanguageFr string = "fr"
|
||||
|
||||
// UserCreateFormLanguageHe captures enum value "he"
|
||||
UserCreateFormLanguageHe string = "he"
|
||||
|
||||
// UserCreateFormLanguageHr captures enum value "hr"
|
||||
UserCreateFormLanguageHr string = "hr"
|
||||
|
||||
// UserCreateFormLanguageHu captures enum value "hu"
|
||||
UserCreateFormLanguageHu string = "hu"
|
||||
|
||||
// UserCreateFormLanguageIt captures enum value "it"
|
||||
UserCreateFormLanguageIt string = "it"
|
||||
|
||||
// UserCreateFormLanguageJa captures enum value "ja"
|
||||
UserCreateFormLanguageJa string = "ja"
|
||||
|
||||
// UserCreateFormLanguageKo captures enum value "ko"
|
||||
UserCreateFormLanguageKo string = "ko"
|
||||
|
||||
// UserCreateFormLanguageNbNO captures enum value "nb_NO"
|
||||
UserCreateFormLanguageNbNO string = "nb_NO"
|
||||
|
||||
// UserCreateFormLanguageNl captures enum value "nl"
|
||||
UserCreateFormLanguageNl string = "nl"
|
||||
|
||||
// UserCreateFormLanguagePl captures enum value "pl"
|
||||
UserCreateFormLanguagePl string = "pl"
|
||||
|
||||
// UserCreateFormLanguagePt captures enum value "pt"
|
||||
UserCreateFormLanguagePt string = "pt"
|
||||
|
||||
// UserCreateFormLanguagePtBR captures enum value "pt_BR"
|
||||
UserCreateFormLanguagePtBR string = "pt_BR"
|
||||
|
||||
// UserCreateFormLanguageRo captures enum value "ro"
|
||||
UserCreateFormLanguageRo string = "ro"
|
||||
|
||||
// UserCreateFormLanguageRu captures enum value "ru"
|
||||
UserCreateFormLanguageRu string = "ru"
|
||||
|
||||
// UserCreateFormLanguageSk captures enum value "sk"
|
||||
UserCreateFormLanguageSk string = "sk"
|
||||
|
||||
// UserCreateFormLanguageSv captures enum value "sv"
|
||||
UserCreateFormLanguageSv string = "sv"
|
||||
|
||||
// UserCreateFormLanguageTr captures enum value "tr"
|
||||
UserCreateFormLanguageTr string = "tr"
|
||||
|
||||
// UserCreateFormLanguageUk captures enum value "uk"
|
||||
UserCreateFormLanguageUk string = "uk"
|
||||
|
||||
// UserCreateFormLanguageVi captures enum value "vi"
|
||||
UserCreateFormLanguageVi string = "vi"
|
||||
|
||||
// UserCreateFormLanguageZhCN captures enum value "zh_CN"
|
||||
UserCreateFormLanguageZhCN string = "zh_CN"
|
||||
)
|
||||
|
||||
// prop value enum
|
||||
func (m *UserCreateForm) validateLanguageEnum(path, location string, value string) error {
|
||||
if err := validate.EnumCase(path, location, value, userCreateFormTypeLanguagePropEnum, true); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserCreateForm) validateLanguage(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("language", "body", m.Language); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// value enum
|
||||
if err := m.validateLanguageEnum("language", "body", *m.Language); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserCreateForm) validatePlainPassword(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("plainPassword", "body", m.PlainPassword); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
var userCreateFormRolesItemsEnum []interface{}
|
||||
|
||||
func init() {
|
||||
var res []string
|
||||
if err := json.Unmarshal([]byte(`["ROLE_TEAMLEAD","ROLE_ADMIN","ROLE_SUPER_ADMIN"]`), &res); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
for _, v := range res {
|
||||
userCreateFormRolesItemsEnum = append(userCreateFormRolesItemsEnum, v)
|
||||
}
|
||||
}
|
||||
|
||||
func (m *UserCreateForm) validateRolesItemsEnum(path, location string, value string) error {
|
||||
if err := validate.EnumCase(path, location, value, userCreateFormRolesItemsEnum, true); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserCreateForm) validateRoles(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Roles) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Roles); i++ {
|
||||
|
||||
// value enum
|
||||
if err := m.validateRolesItemsEnum("roles"+"."+strconv.Itoa(i), "body", m.Roles[i]); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserCreateForm) validateTimezone(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("timezone", "body", m.Timezone); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserCreateForm) validateUsername(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("username", "body", m.Username); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this user create form based on context it is used
|
||||
func (m *UserCreateForm) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *UserCreateForm) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *UserCreateForm) UnmarshalBinary(b []byte) error {
|
||||
var res UserCreateForm
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
299
models/user_edit_form.go
Normal file
299
models/user_edit_form.go
Normal file
@ -0,0 +1,299 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// UserEditForm user edit form
|
||||
//
|
||||
// swagger:model UserEditForm
|
||||
type UserEditForm struct {
|
||||
|
||||
// account number
|
||||
AccountNumber string `json:"accountNumber,omitempty"`
|
||||
|
||||
// alias
|
||||
Alias string `json:"alias,omitempty"`
|
||||
|
||||
// The hexadecimal color code (default: #d2d6de)
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// email
|
||||
// Required: true
|
||||
Email *string `json:"email"`
|
||||
|
||||
// enabled
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
|
||||
// language
|
||||
// Required: true
|
||||
// Enum: [ar cs da de de_AT de_CH el en en_GB eo es eu fa fi fo fr he hr hu it ja ko nb_NO nl pl pt pt_BR ro ru sk sv tr uk vi zh_CN]
|
||||
Language *string `json:"language"`
|
||||
|
||||
// roles
|
||||
Roles []string `json:"roles"`
|
||||
|
||||
// timezone
|
||||
// Required: true
|
||||
Timezone *string `json:"timezone"`
|
||||
|
||||
// title
|
||||
Title string `json:"title,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this user edit form
|
||||
func (m *UserEditForm) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateEmail(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateLanguage(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateRoles(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTimezone(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserEditForm) validateEmail(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("email", "body", m.Email); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
var userEditFormTypeLanguagePropEnum []interface{}
|
||||
|
||||
func init() {
|
||||
var res []string
|
||||
if err := json.Unmarshal([]byte(`["ar","cs","da","de","de_AT","de_CH","el","en","en_GB","eo","es","eu","fa","fi","fo","fr","he","hr","hu","it","ja","ko","nb_NO","nl","pl","pt","pt_BR","ro","ru","sk","sv","tr","uk","vi","zh_CN"]`), &res); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
for _, v := range res {
|
||||
userEditFormTypeLanguagePropEnum = append(userEditFormTypeLanguagePropEnum, v)
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
|
||||
// UserEditFormLanguageAr captures enum value "ar"
|
||||
UserEditFormLanguageAr string = "ar"
|
||||
|
||||
// UserEditFormLanguageCs captures enum value "cs"
|
||||
UserEditFormLanguageCs string = "cs"
|
||||
|
||||
// UserEditFormLanguageDa captures enum value "da"
|
||||
UserEditFormLanguageDa string = "da"
|
||||
|
||||
// UserEditFormLanguageDe captures enum value "de"
|
||||
UserEditFormLanguageDe string = "de"
|
||||
|
||||
// UserEditFormLanguageDeAT captures enum value "de_AT"
|
||||
UserEditFormLanguageDeAT string = "de_AT"
|
||||
|
||||
// UserEditFormLanguageDeCH captures enum value "de_CH"
|
||||
UserEditFormLanguageDeCH string = "de_CH"
|
||||
|
||||
// UserEditFormLanguageEl captures enum value "el"
|
||||
UserEditFormLanguageEl string = "el"
|
||||
|
||||
// UserEditFormLanguageEn captures enum value "en"
|
||||
UserEditFormLanguageEn string = "en"
|
||||
|
||||
// UserEditFormLanguageEnGB captures enum value "en_GB"
|
||||
UserEditFormLanguageEnGB string = "en_GB"
|
||||
|
||||
// UserEditFormLanguageEo captures enum value "eo"
|
||||
UserEditFormLanguageEo string = "eo"
|
||||
|
||||
// UserEditFormLanguageEs captures enum value "es"
|
||||
UserEditFormLanguageEs string = "es"
|
||||
|
||||
// UserEditFormLanguageEu captures enum value "eu"
|
||||
UserEditFormLanguageEu string = "eu"
|
||||
|
||||
// UserEditFormLanguageFa captures enum value "fa"
|
||||
UserEditFormLanguageFa string = "fa"
|
||||
|
||||
// UserEditFormLanguageFi captures enum value "fi"
|
||||
UserEditFormLanguageFi string = "fi"
|
||||
|
||||
// UserEditFormLanguageFo captures enum value "fo"
|
||||
UserEditFormLanguageFo string = "fo"
|
||||
|
||||
// UserEditFormLanguageFr captures enum value "fr"
|
||||
UserEditFormLanguageFr string = "fr"
|
||||
|
||||
// UserEditFormLanguageHe captures enum value "he"
|
||||
UserEditFormLanguageHe string = "he"
|
||||
|
||||
// UserEditFormLanguageHr captures enum value "hr"
|
||||
UserEditFormLanguageHr string = "hr"
|
||||
|
||||
// UserEditFormLanguageHu captures enum value "hu"
|
||||
UserEditFormLanguageHu string = "hu"
|
||||
|
||||
// UserEditFormLanguageIt captures enum value "it"
|
||||
UserEditFormLanguageIt string = "it"
|
||||
|
||||
// UserEditFormLanguageJa captures enum value "ja"
|
||||
UserEditFormLanguageJa string = "ja"
|
||||
|
||||
// UserEditFormLanguageKo captures enum value "ko"
|
||||
UserEditFormLanguageKo string = "ko"
|
||||
|
||||
// UserEditFormLanguageNbNO captures enum value "nb_NO"
|
||||
UserEditFormLanguageNbNO string = "nb_NO"
|
||||
|
||||
// UserEditFormLanguageNl captures enum value "nl"
|
||||
UserEditFormLanguageNl string = "nl"
|
||||
|
||||
// UserEditFormLanguagePl captures enum value "pl"
|
||||
UserEditFormLanguagePl string = "pl"
|
||||
|
||||
// UserEditFormLanguagePt captures enum value "pt"
|
||||
UserEditFormLanguagePt string = "pt"
|
||||
|
||||
// UserEditFormLanguagePtBR captures enum value "pt_BR"
|
||||
UserEditFormLanguagePtBR string = "pt_BR"
|
||||
|
||||
// UserEditFormLanguageRo captures enum value "ro"
|
||||
UserEditFormLanguageRo string = "ro"
|
||||
|
||||
// UserEditFormLanguageRu captures enum value "ru"
|
||||
UserEditFormLanguageRu string = "ru"
|
||||
|
||||
// UserEditFormLanguageSk captures enum value "sk"
|
||||
UserEditFormLanguageSk string = "sk"
|
||||
|
||||
// UserEditFormLanguageSv captures enum value "sv"
|
||||
UserEditFormLanguageSv string = "sv"
|
||||
|
||||
// UserEditFormLanguageTr captures enum value "tr"
|
||||
UserEditFormLanguageTr string = "tr"
|
||||
|
||||
// UserEditFormLanguageUk captures enum value "uk"
|
||||
UserEditFormLanguageUk string = "uk"
|
||||
|
||||
// UserEditFormLanguageVi captures enum value "vi"
|
||||
UserEditFormLanguageVi string = "vi"
|
||||
|
||||
// UserEditFormLanguageZhCN captures enum value "zh_CN"
|
||||
UserEditFormLanguageZhCN string = "zh_CN"
|
||||
)
|
||||
|
||||
// prop value enum
|
||||
func (m *UserEditForm) validateLanguageEnum(path, location string, value string) error {
|
||||
if err := validate.EnumCase(path, location, value, userEditFormTypeLanguagePropEnum, true); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserEditForm) validateLanguage(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("language", "body", m.Language); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// value enum
|
||||
if err := m.validateLanguageEnum("language", "body", *m.Language); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
var userEditFormRolesItemsEnum []interface{}
|
||||
|
||||
func init() {
|
||||
var res []string
|
||||
if err := json.Unmarshal([]byte(`["ROLE_TEAMLEAD","ROLE_ADMIN","ROLE_SUPER_ADMIN"]`), &res); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
for _, v := range res {
|
||||
userEditFormRolesItemsEnum = append(userEditFormRolesItemsEnum, v)
|
||||
}
|
||||
}
|
||||
|
||||
func (m *UserEditForm) validateRolesItemsEnum(path, location string, value string) error {
|
||||
if err := validate.EnumCase(path, location, value, userEditFormRolesItemsEnum, true); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserEditForm) validateRoles(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Roles) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Roles); i++ {
|
||||
|
||||
// value enum
|
||||
if err := m.validateRolesItemsEnum("roles"+"."+strconv.Itoa(i), "body", m.Roles[i]); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserEditForm) validateTimezone(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("timezone", "body", m.Timezone); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this user edit form based on context it is used
|
||||
func (m *UserEditForm) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *UserEditForm) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *UserEditForm) UnmarshalBinary(b []byte) error {
|
||||
var res UserEditForm
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
347
models/user_entity.go
Normal file
347
models/user_entity.go
Normal file
@ -0,0 +1,347 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// UserEntity user entity
|
||||
//
|
||||
// swagger:model UserEntity
|
||||
type UserEntity struct {
|
||||
|
||||
// account number
|
||||
// Max Length: 30
|
||||
AccountNumber string `json:"accountNumber,omitempty"`
|
||||
|
||||
// The user alias will be displayed in the frontend instead of the username
|
||||
// Max Length: 60
|
||||
Alias string `json:"alias,omitempty"`
|
||||
|
||||
// URL to the user avatar, will be auto-generated if empty
|
||||
// Max Length: 255
|
||||
Avatar string `json:"avatar,omitempty"`
|
||||
|
||||
// The assigned color in HTML hex format, eg. #dd1d00
|
||||
Color string `json:"color,omitempty"`
|
||||
|
||||
// enabled
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
|
||||
// Internal ID
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
||||
// language
|
||||
Language string `json:"language,omitempty"`
|
||||
|
||||
// memberships
|
||||
// Required: true
|
||||
Memberships *TeamMembership `json:"memberships"`
|
||||
|
||||
// Read-only list of of all visible user preferences.
|
||||
Preferences []*UserPreference `json:"preferences"`
|
||||
|
||||
// List of all role names
|
||||
Roles []string `json:"roles"`
|
||||
|
||||
// List of all teams, this user is part of
|
||||
Teams []*Team `json:"teams"`
|
||||
|
||||
// timezone
|
||||
Timezone string `json:"timezone,omitempty"`
|
||||
|
||||
// An additional title for the user, like the Job position or Department
|
||||
// Max Length: 50
|
||||
Title string `json:"title,omitempty"`
|
||||
|
||||
// username
|
||||
// Required: true
|
||||
// Max Length: 60
|
||||
// Min Length: 2
|
||||
Username *string `json:"username"`
|
||||
}
|
||||
|
||||
// Validate validates this user entity
|
||||
func (m *UserEntity) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateAccountNumber(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateAlias(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateAvatar(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateMemberships(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validatePreferences(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTeams(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateTitle(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.validateUsername(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserEntity) validateAccountNumber(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.AccountNumber) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("accountNumber", "body", m.AccountNumber, 30); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserEntity) validateAlias(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Alias) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("alias", "body", m.Alias, 60); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserEntity) validateAvatar(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Avatar) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("avatar", "body", m.Avatar, 255); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserEntity) validateMemberships(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("memberships", "body", m.Memberships); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if m.Memberships != nil {
|
||||
if err := m.Memberships.Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("memberships")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("memberships")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserEntity) validatePreferences(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Preferences) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Preferences); i++ {
|
||||
if swag.IsZero(m.Preferences[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.Preferences[i] != nil {
|
||||
if err := m.Preferences[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("preferences" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("preferences" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserEntity) validateTeams(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Teams) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
for i := 0; i < len(m.Teams); i++ {
|
||||
if swag.IsZero(m.Teams[i]) { // not required
|
||||
continue
|
||||
}
|
||||
|
||||
if m.Teams[i] != nil {
|
||||
if err := m.Teams[i].Validate(formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserEntity) validateTitle(formats strfmt.Registry) error {
|
||||
if swag.IsZero(m.Title) { // not required
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("title", "body", m.Title, 50); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserEntity) validateUsername(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("username", "body", m.Username); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("username", "body", *m.Username, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("username", "body", *m.Username, 60); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validate this user entity based on the context it is used
|
||||
func (m *UserEntity) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.contextValidateMemberships(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidatePreferences(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if err := m.contextValidateTeams(ctx, formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserEntity) contextValidateMemberships(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
if m.Memberships != nil {
|
||||
if err := m.Memberships.ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("memberships")
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("memberships")
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserEntity) contextValidatePreferences(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.Preferences); i++ {
|
||||
|
||||
if m.Preferences[i] != nil {
|
||||
if err := m.Preferences[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("preferences" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("preferences" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserEntity) contextValidateTeams(ctx context.Context, formats strfmt.Registry) error {
|
||||
|
||||
for i := 0; i < len(m.Teams); i++ {
|
||||
|
||||
if m.Teams[i] != nil {
|
||||
if err := m.Teams[i].ContextValidate(ctx, formats); err != nil {
|
||||
if ve, ok := err.(*errors.Validation); ok {
|
||||
return ve.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
} else if ce, ok := err.(*errors.CompositeError); ok {
|
||||
return ce.ValidateName("teams" + "." + strconv.Itoa(i))
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *UserEntity) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *UserEntity) UnmarshalBinary(b []byte) error {
|
||||
var res UserEntity
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
84
models/user_preference.go
Normal file
84
models/user_preference.go
Normal file
@ -0,0 +1,84 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/errors"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
"github.com/go-openapi/validate"
|
||||
)
|
||||
|
||||
// UserPreference user preference
|
||||
//
|
||||
// swagger:model UserPreference
|
||||
type UserPreference struct {
|
||||
|
||||
// name
|
||||
// Required: true
|
||||
// Max Length: 50
|
||||
// Min Length: 2
|
||||
Name *string `json:"name"`
|
||||
|
||||
// value
|
||||
Value string `json:"value,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this user preference
|
||||
func (m *UserPreference) Validate(formats strfmt.Registry) error {
|
||||
var res []error
|
||||
|
||||
if err := m.validateName(formats); err != nil {
|
||||
res = append(res, err)
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
return errors.CompositeValidationError(res...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserPreference) validateName(formats strfmt.Registry) error {
|
||||
|
||||
if err := validate.Required("name", "body", m.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MinLength("name", "body", *m.Name, 2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := validate.MaxLength("name", "body", *m.Name, 50); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this user preference based on context it is used
|
||||
func (m *UserPreference) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *UserPreference) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *UserPreference) UnmarshalBinary(b []byte) error {
|
||||
var res UserPreference
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
67
models/version.go
Normal file
67
models/version.go
Normal file
@ -0,0 +1,67 @@
|
||||
// Code generated by go-swagger; DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
// This file was generated by the swagger tool.
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
)
|
||||
|
||||
// Version version
|
||||
//
|
||||
// swagger:model Version
|
||||
type Version struct {
|
||||
|
||||
// Candidate: either "prod" or "dev"
|
||||
Candidate string `json:"candidate,omitempty"`
|
||||
|
||||
// A full copyright notice
|
||||
Copyright string `json:"copyright,omitempty"`
|
||||
|
||||
// The version name
|
||||
Name string `json:"name,omitempty"`
|
||||
|
||||
// Full version including status, eg: "1.9-prod"
|
||||
Semver string `json:"semver,omitempty"`
|
||||
|
||||
// Kimai Version, eg. "1.14"
|
||||
Version string `json:"version,omitempty"`
|
||||
|
||||
// Kimai Version as integer, eg. 11400
|
||||
//
|
||||
// Follows the same logic as PHP_VERSION_ID, see https://www.php.net/manual/de/function.phpversion.php
|
||||
VersionID int64 `json:"versionId,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this version
|
||||
func (m *Version) Validate(formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this version based on context it is used
|
||||
func (m *Version) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (m *Version) MarshalBinary() ([]byte, error) {
|
||||
if m == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(m)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (m *Version) UnmarshalBinary(b []byte) error {
|
||||
var res Version
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*m = res
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user