github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/pkg/platform/api/mono/mono_models/merge_strategies.go (about)

     1  // Code generated by go-swagger; DO NOT EDIT.
     2  
     3  package mono_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  	"strconv"
    11  
    12  	"github.com/go-openapi/errors"
    13  	"github.com/go-openapi/strfmt"
    14  	"github.com/go-openapi/swag"
    15  )
    16  
    17  // MergeStrategies merge strategies
    18  //
    19  // swagger:model MergeStrategies
    20  type MergeStrategies struct {
    21  
    22  	// conflicts
    23  	Conflicts []*RequirementKey `json:"conflicts"`
    24  
    25  	// keep changes
    26  	KeepChanges []*CommitChangeEditable `json:"keep-changes"`
    27  
    28  	// overwrite changes
    29  	OverwriteChanges []*CommitChangeEditable `json:"overwrite-changes"`
    30  }
    31  
    32  // Validate validates this merge strategies
    33  func (m *MergeStrategies) Validate(formats strfmt.Registry) error {
    34  	var res []error
    35  
    36  	if err := m.validateConflicts(formats); err != nil {
    37  		res = append(res, err)
    38  	}
    39  
    40  	if err := m.validateKeepChanges(formats); err != nil {
    41  		res = append(res, err)
    42  	}
    43  
    44  	if err := m.validateOverwriteChanges(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  func (m *MergeStrategies) validateConflicts(formats strfmt.Registry) error {
    55  	if swag.IsZero(m.Conflicts) { // not required
    56  		return nil
    57  	}
    58  
    59  	for i := 0; i < len(m.Conflicts); i++ {
    60  		if swag.IsZero(m.Conflicts[i]) { // not required
    61  			continue
    62  		}
    63  
    64  		if m.Conflicts[i] != nil {
    65  			if err := m.Conflicts[i].Validate(formats); err != nil {
    66  				if ve, ok := err.(*errors.Validation); ok {
    67  					return ve.ValidateName("conflicts" + "." + strconv.Itoa(i))
    68  				}
    69  				return err
    70  			}
    71  		}
    72  
    73  	}
    74  
    75  	return nil
    76  }
    77  
    78  func (m *MergeStrategies) validateKeepChanges(formats strfmt.Registry) error {
    79  	if swag.IsZero(m.KeepChanges) { // not required
    80  		return nil
    81  	}
    82  
    83  	for i := 0; i < len(m.KeepChanges); i++ {
    84  		if swag.IsZero(m.KeepChanges[i]) { // not required
    85  			continue
    86  		}
    87  
    88  		if m.KeepChanges[i] != nil {
    89  			if err := m.KeepChanges[i].Validate(formats); err != nil {
    90  				if ve, ok := err.(*errors.Validation); ok {
    91  					return ve.ValidateName("keep-changes" + "." + strconv.Itoa(i))
    92  				}
    93  				return err
    94  			}
    95  		}
    96  
    97  	}
    98  
    99  	return nil
   100  }
   101  
   102  func (m *MergeStrategies) validateOverwriteChanges(formats strfmt.Registry) error {
   103  	if swag.IsZero(m.OverwriteChanges) { // not required
   104  		return nil
   105  	}
   106  
   107  	for i := 0; i < len(m.OverwriteChanges); i++ {
   108  		if swag.IsZero(m.OverwriteChanges[i]) { // not required
   109  			continue
   110  		}
   111  
   112  		if m.OverwriteChanges[i] != nil {
   113  			if err := m.OverwriteChanges[i].Validate(formats); err != nil {
   114  				if ve, ok := err.(*errors.Validation); ok {
   115  					return ve.ValidateName("overwrite-changes" + "." + strconv.Itoa(i))
   116  				}
   117  				return err
   118  			}
   119  		}
   120  
   121  	}
   122  
   123  	return nil
   124  }
   125  
   126  // ContextValidate validate this merge strategies based on the context it is used
   127  func (m *MergeStrategies) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
   128  	var res []error
   129  
   130  	if err := m.contextValidateConflicts(ctx, formats); err != nil {
   131  		res = append(res, err)
   132  	}
   133  
   134  	if err := m.contextValidateKeepChanges(ctx, formats); err != nil {
   135  		res = append(res, err)
   136  	}
   137  
   138  	if err := m.contextValidateOverwriteChanges(ctx, formats); err != nil {
   139  		res = append(res, err)
   140  	}
   141  
   142  	if len(res) > 0 {
   143  		return errors.CompositeValidationError(res...)
   144  	}
   145  	return nil
   146  }
   147  
   148  func (m *MergeStrategies) contextValidateConflicts(ctx context.Context, formats strfmt.Registry) error {
   149  
   150  	for i := 0; i < len(m.Conflicts); i++ {
   151  
   152  		if m.Conflicts[i] != nil {
   153  			if err := m.Conflicts[i].ContextValidate(ctx, formats); err != nil {
   154  				if ve, ok := err.(*errors.Validation); ok {
   155  					return ve.ValidateName("conflicts" + "." + strconv.Itoa(i))
   156  				}
   157  				return err
   158  			}
   159  		}
   160  
   161  	}
   162  
   163  	return nil
   164  }
   165  
   166  func (m *MergeStrategies) contextValidateKeepChanges(ctx context.Context, formats strfmt.Registry) error {
   167  
   168  	for i := 0; i < len(m.KeepChanges); i++ {
   169  
   170  		if m.KeepChanges[i] != nil {
   171  			if err := m.KeepChanges[i].ContextValidate(ctx, formats); err != nil {
   172  				if ve, ok := err.(*errors.Validation); ok {
   173  					return ve.ValidateName("keep-changes" + "." + strconv.Itoa(i))
   174  				}
   175  				return err
   176  			}
   177  		}
   178  
   179  	}
   180  
   181  	return nil
   182  }
   183  
   184  func (m *MergeStrategies) contextValidateOverwriteChanges(ctx context.Context, formats strfmt.Registry) error {
   185  
   186  	for i := 0; i < len(m.OverwriteChanges); i++ {
   187  
   188  		if m.OverwriteChanges[i] != nil {
   189  			if err := m.OverwriteChanges[i].ContextValidate(ctx, formats); err != nil {
   190  				if ve, ok := err.(*errors.Validation); ok {
   191  					return ve.ValidateName("overwrite-changes" + "." + strconv.Itoa(i))
   192  				}
   193  				return err
   194  			}
   195  		}
   196  
   197  	}
   198  
   199  	return nil
   200  }
   201  
   202  // MarshalBinary interface implementation
   203  func (m *MergeStrategies) MarshalBinary() ([]byte, error) {
   204  	if m == nil {
   205  		return nil, nil
   206  	}
   207  	return swag.WriteJSON(m)
   208  }
   209  
   210  // UnmarshalBinary interface implementation
   211  func (m *MergeStrategies) UnmarshalBinary(b []byte) error {
   212  	var res MergeStrategies
   213  	if err := swag.ReadJSON(b, &res); err != nil {
   214  		return err
   215  	}
   216  	*m = res
   217  	return nil
   218  }