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 }