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

     1  package graphql
     2  
     3  import (
     4  	validation "github.com/go-ozzo/ozzo-validation/v4"
     5  	"github.com/go-ozzo/ozzo-validation/v4/is"
     6  	"github.com/kyma-incubator/compass/components/director/pkg/inputvalidation"
     7  )
     8  
     9  // Validate missing godoc
    10  func (i AuthInput) Validate() error {
    11  	return validation.ValidateStruct(&i,
    12  		validation.Field(&i.AdditionalHeaders,
    13  			inputvalidation.EachKey(validation.Required),                                         // key
    14  			inputvalidation.Each(validation.Required, inputvalidation.Each(validation.Required)), // value
    15  		),
    16  		validation.Field(&i.AdditionalQueryParams,
    17  			inputvalidation.EachKey(validation.Required),                                         // key
    18  			inputvalidation.Each(validation.Required, inputvalidation.Each(validation.Required)), // value
    19  		),
    20  		validation.Field(&i.Credential, validation.NilOrNotEmpty),
    21  		validation.Field(&i.RequestAuth),
    22  	)
    23  }
    24  
    25  // Validate missing godoc
    26  func (i CredentialDataInput) Validate() error {
    27  	return validation.Errors{
    28  		"Rule.ExactlyOneNotNil": inputvalidation.ValidateExactlyOneNotNil(
    29  			"exactly one credential input has to be specified",
    30  			i.Basic, i.Oauth, i.CertificateOAuth,
    31  		),
    32  		"Basic":            validation.Validate(i.Basic),
    33  		"Oauth":            validation.Validate(i.Oauth),
    34  		"CertificateOAuth": validation.Validate(i.CertificateOAuth),
    35  	}.Filter()
    36  }
    37  
    38  // Validate missing godoc
    39  func (i BasicCredentialDataInput) Validate() error {
    40  	return validation.ValidateStruct(&i,
    41  		validation.Field(&i.Username, validation.Required),
    42  		validation.Field(&i.Password, validation.Required),
    43  	)
    44  }
    45  
    46  // Validate missing godoc
    47  func (i OAuthCredentialDataInput) Validate() error {
    48  	return validation.ValidateStruct(&i,
    49  		validation.Field(&i.ClientID, validation.Required),
    50  		validation.Field(&i.ClientSecret, validation.Required),
    51  		validation.Field(&i.URL, validation.Required, is.URL),
    52  	)
    53  }
    54  
    55  // Validate missing godoc
    56  func (i CertificateOAuthCredentialDataInput) Validate() error {
    57  	return validation.ValidateStruct(&i,
    58  		validation.Field(&i.ClientID, validation.Required),
    59  		validation.Field(&i.Certificate, validation.Required),
    60  		validation.Field(&i.URL, validation.Required, is.URL),
    61  	)
    62  }
    63  
    64  // Validate missing godoc
    65  func (i CredentialRequestAuthInput) Validate() error {
    66  	return validation.ValidateStruct(&i,
    67  		validation.Field(&i.Csrf, validation.Required),
    68  	)
    69  }
    70  
    71  // Validate missing godoc
    72  func (i CSRFTokenCredentialRequestAuthInput) Validate() error {
    73  	return validation.ValidateStruct(&i,
    74  		validation.Field(&i.AdditionalHeaders,
    75  			inputvalidation.EachKey(validation.Required),                                         // key
    76  			inputvalidation.Each(validation.Required, inputvalidation.Each(validation.Required)), // value
    77  		),
    78  		validation.Field(&i.AdditionalQueryParams,
    79  			inputvalidation.EachKey(validation.Required),                                         // key
    80  			inputvalidation.Each(validation.Required, inputvalidation.Each(validation.Required)), // value
    81  		),
    82  		validation.Field(&i.TokenEndpointURL, validation.Required, is.URL),
    83  		validation.Field(&i.Credential, validation.NilOrNotEmpty),
    84  	)
    85  }