github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/internal/model/auth.go (about)

     1  package model
     2  
     3  // Auth missing godoc
     4  type Auth struct {
     5  	Credential            CredentialData
     6  	AccessStrategy        *string
     7  	AdditionalHeaders     map[string][]string
     8  	AdditionalQueryParams map[string][]string
     9  	RequestAuth           *CredentialRequestAuth
    10  	OneTimeToken          *OneTimeToken
    11  	CertCommonName        string
    12  }
    13  
    14  // CredentialRequestAuth missing godoc
    15  type CredentialRequestAuth struct {
    16  	Csrf *CSRFTokenCredentialRequestAuth
    17  }
    18  
    19  // CSRFTokenCredentialRequestAuth missing godoc
    20  type CSRFTokenCredentialRequestAuth struct {
    21  	TokenEndpointURL      string
    22  	Credential            CredentialData
    23  	AdditionalHeaders     map[string][]string
    24  	AdditionalQueryParams map[string][]string
    25  }
    26  
    27  // CredentialData missing godoc
    28  type CredentialData struct {
    29  	Basic            *BasicCredentialData
    30  	Oauth            *OAuthCredentialData
    31  	CertificateOAuth *CertificateOAuthCredentialData
    32  }
    33  
    34  // BasicCredentialData missing godoc
    35  type BasicCredentialData struct {
    36  	Username string
    37  	Password string
    38  }
    39  
    40  // OAuthCredentialData missing godoc
    41  type OAuthCredentialData struct {
    42  	ClientID     string
    43  	ClientSecret string
    44  	URL          string
    45  }
    46  
    47  // CertificateOAuthCredentialData represents a structure for mTLS OAuth credentials
    48  type CertificateOAuthCredentialData struct {
    49  	ClientID    string
    50  	Certificate string
    51  	URL         string
    52  }
    53  
    54  // AuthInput missing godoc
    55  type AuthInput struct {
    56  	Credential            *CredentialDataInput
    57  	AccessStrategy        *string
    58  	AdditionalHeaders     map[string][]string
    59  	AdditionalQueryParams map[string][]string
    60  	RequestAuth           *CredentialRequestAuthInput
    61  	OneTimeToken          *OneTimeToken
    62  }
    63  
    64  // ToAuth missing godoc
    65  func (i *AuthInput) ToAuth() *Auth {
    66  	if i == nil {
    67  		return nil
    68  	}
    69  
    70  	var credential CredentialData
    71  	if i.Credential != nil {
    72  		credential = *i.Credential.ToCredentialData()
    73  	}
    74  
    75  	var requestAuth *CredentialRequestAuth
    76  	if i.RequestAuth != nil {
    77  		requestAuth = i.RequestAuth.ToCredentialRequestAuth()
    78  	}
    79  
    80  	return &Auth{
    81  		Credential:            credential,
    82  		AccessStrategy:        i.AccessStrategy,
    83  		AdditionalQueryParams: i.AdditionalQueryParams,
    84  		AdditionalHeaders:     i.AdditionalHeaders,
    85  		RequestAuth:           requestAuth,
    86  		OneTimeToken:          i.OneTimeToken,
    87  	}
    88  }
    89  
    90  // CredentialDataInput missing godoc
    91  type CredentialDataInput struct {
    92  	Basic            *BasicCredentialDataInput
    93  	Oauth            *OAuthCredentialDataInput
    94  	CertificateOAuth *CertificateOAuthCredentialDataInput
    95  }
    96  
    97  // ToCredentialData missing godoc
    98  func (i *CredentialDataInput) ToCredentialData() *CredentialData {
    99  	if i == nil {
   100  		return nil
   101  	}
   102  
   103  	var basic *BasicCredentialData
   104  	var oauth *OAuthCredentialData
   105  	var certOAuth *CertificateOAuthCredentialData
   106  
   107  	if i.Basic != nil {
   108  		basic = i.Basic.ToBasicCredentialData()
   109  	}
   110  
   111  	if i.Oauth != nil {
   112  		oauth = i.Oauth.ToOAuthCredentialData()
   113  	}
   114  
   115  	if i.CertificateOAuth != nil {
   116  		certOAuth = i.CertificateOAuth.ToCertificateOAuthCredentialData()
   117  	}
   118  
   119  	return &CredentialData{
   120  		Basic:            basic,
   121  		Oauth:            oauth,
   122  		CertificateOAuth: certOAuth,
   123  	}
   124  }
   125  
   126  // BasicCredentialDataInput missing godoc
   127  type BasicCredentialDataInput struct {
   128  	Username string
   129  	Password string
   130  }
   131  
   132  // ToBasicCredentialData missing godoc
   133  func (i *BasicCredentialDataInput) ToBasicCredentialData() *BasicCredentialData {
   134  	if i == nil {
   135  		return nil
   136  	}
   137  
   138  	return &BasicCredentialData{
   139  		Username: i.Username,
   140  		Password: i.Password,
   141  	}
   142  }
   143  
   144  // OAuthCredentialDataInput missing godoc
   145  type OAuthCredentialDataInput struct {
   146  	ClientID     string
   147  	ClientSecret string
   148  	URL          string
   149  }
   150  
   151  // ToOAuthCredentialData missing godoc
   152  func (i *OAuthCredentialDataInput) ToOAuthCredentialData() *OAuthCredentialData {
   153  	if i == nil {
   154  		return nil
   155  	}
   156  
   157  	return &OAuthCredentialData{
   158  		ClientID:     i.ClientID,
   159  		ClientSecret: i.ClientSecret,
   160  		URL:          i.URL,
   161  	}
   162  }
   163  
   164  // CertificateOAuthCredentialDataInput represents an input structure for mTLS OAuth credentials
   165  type CertificateOAuthCredentialDataInput struct {
   166  	ClientID    string
   167  	Certificate string
   168  	URL         string
   169  }
   170  
   171  // ToCertificateOAuthCredentialData converts a CertificateOAuthCredentialDataInput into CertificateOAuthCredentialData
   172  func (i *CertificateOAuthCredentialDataInput) ToCertificateOAuthCredentialData() *CertificateOAuthCredentialData {
   173  	if i == nil {
   174  		return nil
   175  	}
   176  
   177  	return &CertificateOAuthCredentialData{
   178  		ClientID:    i.ClientID,
   179  		Certificate: i.Certificate,
   180  		URL:         i.URL,
   181  	}
   182  }
   183  
   184  // CredentialRequestAuthInput missing godoc
   185  type CredentialRequestAuthInput struct {
   186  	Csrf *CSRFTokenCredentialRequestAuthInput
   187  }
   188  
   189  // ToCredentialRequestAuth missing godoc
   190  func (i *CredentialRequestAuthInput) ToCredentialRequestAuth() *CredentialRequestAuth {
   191  	if i == nil {
   192  		return nil
   193  	}
   194  
   195  	var csrf *CSRFTokenCredentialRequestAuth
   196  	if i.Csrf != nil {
   197  		csrf = i.Csrf.ToCSRFTokenCredentialRequestAuth()
   198  	}
   199  
   200  	return &CredentialRequestAuth{
   201  		Csrf: csrf,
   202  	}
   203  }
   204  
   205  // CSRFTokenCredentialRequestAuthInput missing godoc
   206  type CSRFTokenCredentialRequestAuthInput struct {
   207  	TokenEndpointURL      string
   208  	Credential            *CredentialDataInput
   209  	AdditionalHeaders     map[string][]string
   210  	AdditionalQueryParams map[string][]string
   211  }
   212  
   213  // ToCSRFTokenCredentialRequestAuth missing godoc
   214  func (i *CSRFTokenCredentialRequestAuthInput) ToCSRFTokenCredentialRequestAuth() *CSRFTokenCredentialRequestAuth {
   215  	if i == nil {
   216  		return nil
   217  	}
   218  
   219  	var credential CredentialData
   220  	if i.Credential != nil {
   221  		credential = *i.Credential.ToCredentialData()
   222  	}
   223  
   224  	return &CSRFTokenCredentialRequestAuth{
   225  		Credential:            credential,
   226  		AdditionalHeaders:     i.AdditionalHeaders,
   227  		AdditionalQueryParams: i.AdditionalQueryParams,
   228  		TokenEndpointURL:      i.TokenEndpointURL,
   229  	}
   230  }