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

Method DeleteScaleSetByID

database/sql/scalesets.go:427–457  ·  view source on GitHub ↗
(_ context.Context, scaleSetID uint)

Source from the content-addressed store, hash-verified

425}
426
427func (s *sqlDatabase) DeleteScaleSetByID(_ context.Context, scaleSetID uint) (err error) {
428 var scaleSet params.ScaleSet
429 defer func() {
430 if err == nil && scaleSet.ID != 0 {
431 s.sendNotify(common.ScaleSetEntityType, common.DeleteOperation, scaleSet)
432 }
433 }()
434 err = s.conn.Transaction(func(tx *gorm.DB) error {
435 dbSet, err := s.getScaleSetByID(tx, scaleSetID, "Instances", "Enterprise", "Organization", "Repository")
436 if err != nil {
437 return fmt.Errorf("error fetching scale set: %w", err)
438 }
439
440 if len(dbSet.Instances) > 0 {
441 return runnerErrors.NewBadRequestError("cannot delete scaleset with runners")
442 }
443 scaleSet, err = s.sqlToCommonScaleSet(dbSet)
444 if err != nil {
445 return fmt.Errorf("error converting scale set: %w", err)
446 }
447
448 if q := tx.Unscoped().Delete(&dbSet); q.Error != nil {
449 return fmt.Errorf("error deleting scale set: %w", q.Error)
450 }
451 return nil
452 })
453 if err != nil {
454 return fmt.Errorf("error removing scale set: %w", err)
455 }
456 return nil
457}
458
459func (s *sqlDatabase) SetScaleSetLastMessageID(_ context.Context, scaleSetID uint, lastMessageID int64) (err error) {
460 var scaleSet params.ScaleSet

Callers

nothing calls this directly

Calls 4

sendNotifyMethod · 0.95
getScaleSetByIDMethod · 0.95
sqlToCommonScaleSetMethod · 0.95
DeleteMethod · 0.65

Tested by

no test coverage detected