(_ context.Context, scaleSetID uint)
| 425 | } |
| 426 | |
| 427 | func (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 | |
| 459 | func (s *sqlDatabase) SetScaleSetLastMessageID(_ context.Context, scaleSetID uint, lastMessageID int64) (err error) { |
| 460 | var scaleSet params.ScaleSet |
nothing calls this directly
no test coverage detected