(_ context.Context, scaleSetID uint, lastMessageID int64)
| 457 | } |
| 458 | |
| 459 | func (s *sqlDatabase) SetScaleSetLastMessageID(_ context.Context, scaleSetID uint, lastMessageID int64) (err error) { |
| 460 | var scaleSet params.ScaleSet |
| 461 | var rowsAffected int64 |
| 462 | defer func() { |
| 463 | if err == nil && scaleSet.ID != 0 && rowsAffected > 0 { |
| 464 | s.sendNotify(common.ScaleSetEntityType, common.UpdateOperation, scaleSet) |
| 465 | } |
| 466 | }() |
| 467 | if err := s.conn.Transaction(func(tx *gorm.DB) error { |
| 468 | dbSet, err := s.getScaleSetByID(tx, scaleSetID, "Instances", "Enterprise", "Organization", "Repository") |
| 469 | if err != nil { |
| 470 | return fmt.Errorf("error fetching scale set: %w", err) |
| 471 | } |
| 472 | result := tx.Model(&dbSet).Updates(map[string]interface{}{ |
| 473 | "last_message_id": lastMessageID, |
| 474 | }) |
| 475 | if result.Error != nil { |
| 476 | return fmt.Errorf("error saving database entry: %w", result.Error) |
| 477 | } |
| 478 | rowsAffected = result.RowsAffected |
| 479 | |
| 480 | // Reload to get the updated value |
| 481 | dbSet, err = s.getScaleSetByID(tx, scaleSetID, "Instances", "Enterprise", "Organization", "Repository") |
| 482 | if err != nil { |
| 483 | return fmt.Errorf("error reloading scale set: %w", err) |
| 484 | } |
| 485 | scaleSet, err = s.sqlToCommonScaleSet(dbSet) |
| 486 | if err != nil { |
| 487 | return fmt.Errorf("error converting scale set: %w", err) |
| 488 | } |
| 489 | return nil |
| 490 | }); err != nil { |
| 491 | return fmt.Errorf("error setting last message ID: %w", err) |
| 492 | } |
| 493 | return nil |
| 494 | } |
| 495 | |
| 496 | func (s *sqlDatabase) SetScaleSetDesiredRunnerCount(_ context.Context, scaleSetID uint, desiredRunnerCount int) (err error) { |
| 497 | var scaleSet params.ScaleSet |
nothing calls this directly
no test coverage detected