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

     1  package model
     2  
     3  import (
     4  	"time"
     5  
     6  	"github.com/pkg/errors"
     7  )
     8  
     9  // BundleInstanceAuth missing godoc
    10  type BundleInstanceAuth struct {
    11  	ID               string
    12  	BundleID         string
    13  	RuntimeID        *string
    14  	RuntimeContextID *string
    15  	Owner            string
    16  	Context          *string
    17  	InputParams      *string
    18  	Auth             *Auth
    19  	Status           *BundleInstanceAuthStatus
    20  }
    21  
    22  // SetDefaultStatus missing godoc
    23  func (a *BundleInstanceAuth) SetDefaultStatus(condition BundleInstanceAuthStatusCondition, timestamp time.Time) error {
    24  	if a == nil {
    25  		return nil
    26  	}
    27  
    28  	var reason, message string
    29  
    30  	switch condition {
    31  	case BundleInstanceAuthStatusConditionSucceeded:
    32  		reason = "CredentialsProvided"
    33  		message = "Credentials were provided."
    34  	case BundleInstanceAuthStatusConditionPending:
    35  		reason = "CredentialsNotProvided"
    36  		message = "Credentials were not yet provided."
    37  	case BundleInstanceAuthStatusConditionUnused:
    38  		reason = "PendingDeletion"
    39  		message = "Credentials for given Bundle Instance Auth are ready for being deleted by Application or Integration System."
    40  	default:
    41  		return errors.Errorf("invalid status condition: %s", condition)
    42  	}
    43  
    44  	a.Status = &BundleInstanceAuthStatus{
    45  		Condition: condition,
    46  		Timestamp: timestamp,
    47  		Message:   message,
    48  		Reason:    reason,
    49  	}
    50  
    51  	return nil
    52  }
    53  
    54  // SetFromUpdateInput sets fields to BundleInstanceAuth from BundleInstanceAuthUpdateInput
    55  func (a *BundleInstanceAuth) SetFromUpdateInput(in BundleInstanceAuthUpdateInput) {
    56  	if in.Context != nil {
    57  		a.Context = in.Context
    58  	}
    59  
    60  	if in.InputParams != nil {
    61  		a.InputParams = in.InputParams
    62  	}
    63  
    64  	if in.Auth != nil {
    65  		a.Auth = in.Auth.ToAuth()
    66  	}
    67  }
    68  
    69  // BundleInstanceAuthStatus missing godoc
    70  type BundleInstanceAuthStatus struct {
    71  	Condition BundleInstanceAuthStatusCondition
    72  	Timestamp time.Time
    73  	Message   string
    74  	Reason    string
    75  }
    76  
    77  // BundleInstanceAuthStatusCondition missing godoc
    78  type BundleInstanceAuthStatusCondition string
    79  
    80  const (
    81  	// BundleInstanceAuthStatusConditionPending missing godoc
    82  	BundleInstanceAuthStatusConditionPending BundleInstanceAuthStatusCondition = "PENDING"
    83  	// BundleInstanceAuthStatusConditionSucceeded missing godoc
    84  	BundleInstanceAuthStatusConditionSucceeded BundleInstanceAuthStatusCondition = "SUCCEEDED"
    85  	// BundleInstanceAuthStatusConditionFailed missing godoc
    86  	BundleInstanceAuthStatusConditionFailed BundleInstanceAuthStatusCondition = "FAILED"
    87  	// BundleInstanceAuthStatusConditionUnused missing godoc
    88  	BundleInstanceAuthStatusConditionUnused BundleInstanceAuthStatusCondition = "UNUSED"
    89  )
    90  
    91  // BundleInstanceAuthRequestInput type for requestBundleInstanceAuthCreation
    92  type BundleInstanceAuthRequestInput struct {
    93  	ID          *string
    94  	Context     *string
    95  	InputParams *string
    96  }
    97  
    98  // ToBundleInstanceAuth missing godoc
    99  func (ri BundleInstanceAuthRequestInput) ToBundleInstanceAuth(id, bundleID, tenant string, auth *Auth, status *BundleInstanceAuthStatus, runtimeID *string, runtimeContextID *string) BundleInstanceAuth {
   100  	return BundleInstanceAuth{
   101  		ID:               id,
   102  		BundleID:         bundleID,
   103  		RuntimeID:        runtimeID,
   104  		RuntimeContextID: runtimeContextID,
   105  		Owner:            tenant,
   106  		Context:          ri.Context,
   107  		InputParams:      ri.InputParams,
   108  		Auth:             auth,
   109  		Status:           status,
   110  	}
   111  }
   112  
   113  // BundleInstanceAuthSetInput type for setBundleInstanceAuth
   114  type BundleInstanceAuthSetInput struct {
   115  	Auth   *AuthInput
   116  	Status *BundleInstanceAuthStatusInput
   117  }
   118  
   119  // BundleInstanceAuthStatusInput missing godoc
   120  type BundleInstanceAuthStatusInput struct {
   121  	Condition BundleInstanceAuthSetStatusConditionInput
   122  	Message   string
   123  	Reason    string
   124  }
   125  
   126  // ToBundleInstanceAuthStatus missing godoc
   127  func (si *BundleInstanceAuthStatusInput) ToBundleInstanceAuthStatus(timestamp time.Time) *BundleInstanceAuthStatus {
   128  	if si == nil {
   129  		return nil
   130  	}
   131  
   132  	return &BundleInstanceAuthStatus{
   133  		Condition: BundleInstanceAuthStatusCondition(si.Condition),
   134  		Timestamp: timestamp,
   135  		Message:   si.Message,
   136  		Reason:    si.Reason,
   137  	}
   138  }
   139  
   140  // BundleInstanceAuthSetStatusConditionInput missing godoc
   141  type BundleInstanceAuthSetStatusConditionInput string
   142  
   143  const (
   144  	// BundleInstanceAuthSetStatusConditionInputSucceeded missing godoc
   145  	BundleInstanceAuthSetStatusConditionInputSucceeded BundleInstanceAuthSetStatusConditionInput = "SUCCEEDED"
   146  	// BundleInstanceAuthSetStatusConditionInputFailed missing godoc
   147  	BundleInstanceAuthSetStatusConditionInputFailed BundleInstanceAuthSetStatusConditionInput = "FAILED"
   148  )
   149  
   150  // BundleInstanceAuthCreateInput type is input for createBundleInstanceAuth mutation
   151  type BundleInstanceAuthCreateInput struct {
   152  	Context          *string
   153  	InputParams      *string
   154  	Auth             *AuthInput
   155  	RuntimeID        *string
   156  	RuntimeContextID *string
   157  }
   158  
   159  // ToBundleInstanceAuth creates BundleInstanceAuth from BundleInstanceAuthCreateInput
   160  func (ri BundleInstanceAuthCreateInput) ToBundleInstanceAuth(id, bundleID, tenant string, status *BundleInstanceAuthStatus) BundleInstanceAuth {
   161  	return BundleInstanceAuth{
   162  		ID:               id,
   163  		BundleID:         bundleID,
   164  		RuntimeID:        ri.RuntimeID,
   165  		RuntimeContextID: ri.RuntimeContextID,
   166  		Owner:            tenant,
   167  		Context:          ri.Context,
   168  		InputParams:      ri.InputParams,
   169  		Auth:             ri.Auth.ToAuth(),
   170  		Status:           status,
   171  	}
   172  }
   173  
   174  // BundleInstanceAuthUpdateInput type is input for updateBundleInstanceAuth mutation
   175  type BundleInstanceAuthUpdateInput struct {
   176  	Context     *string
   177  	InputParams *string
   178  	Auth        *AuthInput
   179  }