github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/pkg/platform/api/inventory/inventory_models/version_requirement.go (about)

     1  // Code generated by go-swagger; DO NOT EDIT.
     2  
     3  package inventory_models
     4  
     5  // This file was generated by the swagger tool.
     6  // Editing this file might prove futile when you re-run the swagger generate command
     7  
     8  import (
     9  	"context"
    10  	"encoding/json"
    11  
    12  	"github.com/go-openapi/errors"
    13  	"github.com/go-openapi/strfmt"
    14  	"github.com/go-openapi/swag"
    15  	"github.com/go-openapi/validate"
    16  )
    17  
    18  // VersionRequirement Version Requirement
    19  //
    20  // The version constraint for a feature
    21  //
    22  // swagger:model versionRequirement
    23  type VersionRequirement struct {
    24  
    25  	// The operator used to compare the version against a given provided feature to determine if it meets this requirement
    26  	// Required: true
    27  	// Enum: [eq gt gte lt lte ne]
    28  	Comparator *string `json:"comparator"`
    29  
    30  	// The required version in its original form
    31  	// Required: true
    32  	// Min Length: 1
    33  	Version *string `json:"version"`
    34  }
    35  
    36  // Validate validates this version requirement
    37  func (m *VersionRequirement) Validate(formats strfmt.Registry) error {
    38  	var res []error
    39  
    40  	if err := m.validateComparator(formats); err != nil {
    41  		res = append(res, err)
    42  	}
    43  
    44  	if err := m.validateVersion(formats); err != nil {
    45  		res = append(res, err)
    46  	}
    47  
    48  	if len(res) > 0 {
    49  		return errors.CompositeValidationError(res...)
    50  	}
    51  	return nil
    52  }
    53  
    54  var versionRequirementTypeComparatorPropEnum []interface{}
    55  
    56  func init() {
    57  	var res []string
    58  	if err := json.Unmarshal([]byte(`["eq","gt","gte","lt","lte","ne"]`), &res); err != nil {
    59  		panic(err)
    60  	}
    61  	for _, v := range res {
    62  		versionRequirementTypeComparatorPropEnum = append(versionRequirementTypeComparatorPropEnum, v)
    63  	}
    64  }
    65  
    66  const (
    67  
    68  	// VersionRequirementComparatorEq captures enum value "eq"
    69  	VersionRequirementComparatorEq string = "eq"
    70  
    71  	// VersionRequirementComparatorGt captures enum value "gt"
    72  	VersionRequirementComparatorGt string = "gt"
    73  
    74  	// VersionRequirementComparatorGte captures enum value "gte"
    75  	VersionRequirementComparatorGte string = "gte"
    76  
    77  	// VersionRequirementComparatorLt captures enum value "lt"
    78  	VersionRequirementComparatorLt string = "lt"
    79  
    80  	// VersionRequirementComparatorLte captures enum value "lte"
    81  	VersionRequirementComparatorLte string = "lte"
    82  
    83  	// VersionRequirementComparatorNe captures enum value "ne"
    84  	VersionRequirementComparatorNe string = "ne"
    85  )
    86  
    87  // prop value enum
    88  func (m *VersionRequirement) validateComparatorEnum(path, location string, value string) error {
    89  	if err := validate.EnumCase(path, location, value, versionRequirementTypeComparatorPropEnum, true); err != nil {
    90  		return err
    91  	}
    92  	return nil
    93  }
    94  
    95  func (m *VersionRequirement) validateComparator(formats strfmt.Registry) error {
    96  
    97  	if err := validate.Required("comparator", "body", m.Comparator); err != nil {
    98  		return err
    99  	}
   100  
   101  	// value enum
   102  	if err := m.validateComparatorEnum("comparator", "body", *m.Comparator); err != nil {
   103  		return err
   104  	}
   105  
   106  	return nil
   107  }
   108  
   109  func (m *VersionRequirement) validateVersion(formats strfmt.Registry) error {
   110  
   111  	if err := validate.Required("version", "body", m.Version); err != nil {
   112  		return err
   113  	}
   114  
   115  	if err := validate.MinLength("version", "body", *m.Version, 1); err != nil {
   116  		return err
   117  	}
   118  
   119  	return nil
   120  }
   121  
   122  // ContextValidate validates this version requirement based on context it is used
   123  func (m *VersionRequirement) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
   124  	return nil
   125  }
   126  
   127  // MarshalBinary interface implementation
   128  func (m *VersionRequirement) MarshalBinary() ([]byte, error) {
   129  	if m == nil {
   130  		return nil, nil
   131  	}
   132  	return swag.WriteJSON(m)
   133  }
   134  
   135  // UnmarshalBinary interface implementation
   136  func (m *VersionRequirement) UnmarshalBinary(b []byte) error {
   137  	var res VersionRequirement
   138  	if err := swag.ReadJSON(b, &res); err != nil {
   139  		return err
   140  	}
   141  	*m = res
   142  	return nil
   143  }