populate.go 940 B

12345678910111213141516171819202122232425262728293031323334353637
  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. // get all source configs
  9. sourceConfigs := make([]*models.StackSourceConfig, 0)
  10. if err := db.Find(&sourceConfigs).Error; err != nil {
  11. logger.Error().Msgf("failed to get source configs %v", err)
  12. return err
  13. }
  14. if len(sourceConfigs) == 0 {
  15. logger.Info().Msg("no source configs to populate")
  16. return nil
  17. }
  18. // copy name to display name if display name is empty
  19. for _, sourceConfig := range sourceConfigs {
  20. if sourceConfig.DisplayName == "" {
  21. sourceConfig.DisplayName = sourceConfig.Name
  22. }
  23. }
  24. // update source configs
  25. if err := db.Save(&sourceConfigs).Error; err != nil {
  26. logger.Error().Msgf("failed to update source configs %v", err)
  27. return err
  28. }
  29. return nil
  30. }