MCPcopy Create free account
hub / github.com/cloudbase/garm / sqlToCommonEnterprise

Method sqlToCommonEnterprise

database/sql/util.go:228–295  ·  view source on GitHub ↗
(enterprise Enterprise, detailed bool)

Source from the content-addressed store, hash-verified

226}
227
228func (s *sqlDatabase) sqlToCommonEnterprise(enterprise Enterprise, detailed bool) (params.Enterprise, error) {
229 if len(enterprise.WebhookSecret) == 0 {
230 return params.Enterprise{}, errors.New("missing secret")
231 }
232 secret, err := util.Unseal(enterprise.WebhookSecret, []byte(s.cfg.Passphrase))
233 if err != nil {
234 return params.Enterprise{}, fmt.Errorf("error decrypting secret: %w", err)
235 }
236
237 endpoint, err := s.sqlToCommonGithubEndpoint(enterprise.Endpoint)
238 if err != nil {
239 return params.Enterprise{}, fmt.Errorf("error converting endpoint: %w", err)
240 }
241 ret := params.Enterprise{
242 ID: enterprise.ID.String(),
243 Name: enterprise.Name,
244 CredentialsName: enterprise.Credentials.Name,
245 Pools: make([]params.Pool, len(enterprise.Pools)),
246 WebhookSecret: string(secret),
247 PoolBalancerType: enterprise.PoolBalancerType,
248 CreatedAt: enterprise.CreatedAt,
249 UpdatedAt: enterprise.UpdatedAt,
250 Endpoint: endpoint,
251 AgentMode: enterprise.AgentMode,
252 PoolManagerStatus: params.PoolManagerStatus{
253 IsRunning: enterprise.PoolManagerRunning,
254 FailureReason: enterprise.PoolManagerFailureReason,
255 },
256 }
257
258 if enterprise.CredentialsID != nil {
259 ret.CredentialsID = *enterprise.CredentialsID
260 }
261
262 if len(enterprise.Events) > 0 {
263 ret.Events = make([]params.EntityEvent, len(enterprise.Events))
264 for idx, event := range enterprise.Events {
265 ret.Events[idx] = params.EntityEvent{
266 ID: event.ID,
267 Message: event.Message,
268 EventType: event.EventType,
269 EventLevel: event.EventLevel,
270 CreatedAt: event.CreatedAt,
271 }
272 }
273 }
274
275 if detailed {
276 creds, err := s.sqlToCommonForgeCredentials(enterprise.Credentials)
277 if err != nil {
278 return params.Enterprise{}, fmt.Errorf("error converting credentials: %w", err)
279 }
280 ret.Credentials = creds
281 }
282
283 if ret.PoolBalancerType == "" {
284 ret.PoolBalancerType = params.PoolBalancerTypeRoundRobin
285 }

Callers 6

GetEnterpriseMethod · 0.95
GetEnterpriseByIDMethod · 0.95
ListEnterprisesMethod · 0.95
DeleteEnterpriseMethod · 0.95
UpdateEnterpriseMethod · 0.95

Calls 4

sqlToCommonPoolMethod · 0.95
StringMethod · 0.45

Tested by

no test coverage detected