2
0

populate.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package populate_source_config_display_name
  2. import (
  3. "github.com/porter-dev/porter/internal/models"
  4. lr "github.com/porter-dev/porter/pkg/logger"
  5. _gorm "gorm.io/gorm"
  6. )
  7. func PopulateSourceConfigDisplayName(db *_gorm.DB, logger *lr.Logger) error {
  8. logger.Info().Msg("Initiated source config display name population")
  9. // get all source configs
  10. sourceConfigs := make([]*models.StackSourceConfig, 0)
  11. if err := db.Find(&sourceConfigs).Error; err != nil {
  12. logger.Error().Msgf("failed to get source configs %v", err)
  13. return err
  14. }
  15. if len(sourceConfigs) == 0 {
  16. logger.Info().Msg("no source configs to populate")
  17. return nil
  18. }
  19. updatedCount := 0
  20. // copy name to display name if display name is empty
  21. for _, sourceConfig := range sourceConfigs {
  22. if sourceConfig.DisplayName == "" {
  23. sourceConfig.DisplayName = sourceConfig.Name
  24. updatedCount++
  25. }
  26. }
  27. // update source configs
  28. if err := db.Save(&sourceConfigs).Error; err != nil {
  29. logger.Error().Msgf("failed to update source configs %v", err)
  30. return err
  31. }
  32. logger.Info().Msgf("source config display name population completed, %d source configs updated", updatedCount)
  33. return nil
  34. }