github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/pkg/graphql/runtime_validation.go (about)

     1  package graphql
     2  
     3  import (
     4  	"regexp"
     5  
     6  	validation "github.com/go-ozzo/ozzo-validation/v4"
     7  	"github.com/kyma-incubator/compass/components/director/pkg/inputvalidation"
     8  )
     9  
    10  var runtimeNameRgx = regexp.MustCompile(`^[a-zA-Z0-9-._]+$`)
    11  
    12  // Validate missing godoc
    13  func (i RuntimeRegisterInput) Validate() error {
    14  	return validation.ValidateStruct(&i,
    15  		validation.Field(&i.Name, validation.Required, validation.RuneLength(1, longStringLengthLimit), validation.Match(runtimeNameRgx)),
    16  		validation.Field(&i.Description, validation.RuneLength(0, descriptionStringLengthLimit)),
    17  		validation.Field(&i.Labels, inputvalidation.EachKey(validation.Required, validation.Match(alphanumericUnderscoreRegexp))),
    18  		validation.Field(&i.Webhooks, validation.Each(validation.Required)),
    19  		validation.Field(&i.ApplicationNamespace, validation.RuneLength(0, applicationNamespaceStringLengthLimit)),
    20  	)
    21  }
    22  
    23  // Validate missing godoc
    24  func (i RuntimeUpdateInput) Validate() error {
    25  	return validation.ValidateStruct(&i,
    26  		validation.Field(&i.Name, validation.Required, validation.RuneLength(1, longStringLengthLimit), validation.Match(runtimeNameRgx)),
    27  		validation.Field(&i.Description, validation.RuneLength(0, descriptionStringLengthLimit)),
    28  		validation.Field(&i.Labels, inputvalidation.EachKey(validation.Required, validation.Match(alphanumericUnderscoreRegexp))),
    29  		validation.Field(&i.ApplicationNamespace, validation.RuneLength(0, applicationNamespaceStringLengthLimit)),
    30  	)
    31  }