(_ context.Context, scaleSetID uint, desiredRunnerCount int)
| 494 | } |
| 495 | |
| 496 | func (s *sqlDatabase) SetScaleSetDesiredRunnerCount(_ context.Context, scaleSetID uint, desiredRunnerCount int) (err error) { |
| 497 | var scaleSet params.ScaleSet |
| 498 | var rowsAffected int64 |
| 499 | defer func() { |
| 500 | if err == nil && scaleSet.ID != 0 && rowsAffected > 0 { |
| 501 | s.sendNotify(common.ScaleSetEntityType, common.UpdateOperation, scaleSet) |
| 502 | } |
| 503 | }() |
| 504 | if err := s.conn.Transaction(func(tx *gorm.DB) error { |
| 505 | dbSet, err := s.getScaleSetByID(tx, scaleSetID, "Instances", "Enterprise", "Organization", "Repository") |
| 506 | if err != nil { |
| 507 | return fmt.Errorf("error fetching scale set: %w", err) |
| 508 | } |
| 509 | result := tx.Model(&dbSet).Updates(map[string]interface{}{ |
| 510 | "desired_runner_count": desiredRunnerCount, |
| 511 | }) |
| 512 | if result.Error != nil { |
| 513 | return fmt.Errorf("error saving database entry: %w", result.Error) |
| 514 | } |
| 515 | rowsAffected = result.RowsAffected |
| 516 | |
| 517 | // Reload to get the updated value |
| 518 | dbSet, err = s.getScaleSetByID(tx, scaleSetID, "Instances", "Enterprise", "Organization", "Repository") |
| 519 | if err != nil { |
| 520 | return fmt.Errorf("error reloading scale set: %w", err) |
| 521 | } |
| 522 | scaleSet, err = s.sqlToCommonScaleSet(dbSet) |
| 523 | if err != nil { |
| 524 | return fmt.Errorf("error converting scale set: %w", err) |
| 525 | } |
| 526 | return nil |
| 527 | }); err != nil { |
| 528 | return fmt.Errorf("error setting desired runner count: %w", err) |
| 529 | } |
| 530 | return nil |
| 531 | } |
nothing calls this directly
no test coverage detected