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 }