Skip to content

Commit

Permalink
refactor(api): replace duplicated code with chooseBool
Browse files Browse the repository at this point in the history
  • Loading branch information
LucasMrqes committed Apr 28, 2024
1 parent 9547e67 commit 6293ce0
Showing 1 changed file with 28 additions and 47 deletions.
75 changes: 28 additions & 47 deletions api/v1alpha1/common.go
Original file line number Diff line number Diff line change
@@ -56,30 +56,15 @@ type TerragruntConfig struct {
}

func GetTerraformVersion(repository *TerraformRepository, layer *TerraformLayer) string {
version := repository.Spec.TerraformConfig.Version
if len(layer.Spec.TerraformConfig.Version) > 0 {
version = layer.Spec.TerraformConfig.Version
}
return version
return chooseString(repository.Spec.TerraformConfig.Version, layer.Spec.TerraformConfig.Version)
}

func GetTerragruntVersion(repository *TerraformRepository, layer *TerraformLayer) string {
version := repository.Spec.TerraformConfig.TerragruntConfig.Version
if len(layer.Spec.TerraformConfig.TerragruntConfig.Version) > 0 {
version = layer.Spec.TerraformConfig.TerragruntConfig.Version
}
return version
return chooseString(repository.Spec.TerraformConfig.TerragruntConfig.Version, layer.Spec.TerraformConfig.TerragruntConfig.Version)
}

func GetTerragruntEnabled(repository *TerraformRepository, layer *TerraformLayer) bool {
enabled := false
if repository.Spec.TerraformConfig.TerragruntConfig.Enabled != nil {
enabled = *repository.Spec.TerraformConfig.TerragruntConfig.Enabled
}
if layer.Spec.TerraformConfig.TerragruntConfig.Enabled != nil {
enabled = *layer.Spec.TerraformConfig.TerragruntConfig.Enabled
}
return enabled
return chooseBool(repository.Spec.TerraformConfig.TerragruntConfig.Enabled, layer.Spec.TerraformConfig.TerragruntConfig.Enabled, false)
}

func GetOverrideRunnerSpec(repository *TerraformRepository, layer *TerraformLayer) OverrideRunnerSpec {
@@ -110,42 +95,21 @@ func GetRunHistoryPolicy(repository *TerraformRepository, layer *TerraformLayer)
}

func GetApplyWithoutPlanArtifactEnabled(repository *TerraformRepository, layer *TerraformLayer) bool {
enabled := false
if repository.Spec.RemediationStrategy.ApplyWithoutPlanArtifact != nil {
enabled = *repository.Spec.RemediationStrategy.ApplyWithoutPlanArtifact
}
if layer.Spec.RemediationStrategy.ApplyWithoutPlanArtifact != nil {
enabled = *layer.Spec.RemediationStrategy.ApplyWithoutPlanArtifact
}
return enabled
return chooseBool(repository.Spec.RemediationStrategy.ApplyWithoutPlanArtifact, layer.Spec.RemediationStrategy.ApplyWithoutPlanArtifact, false)
}

func GetAutoApplyEnabled(repo *TerraformRepository, layer *TerraformLayer) bool {
enabled := false
if repo.Spec.RemediationStrategy.AutoApply != nil {
enabled = *repo.Spec.RemediationStrategy.AutoApply
}
if layer.Spec.RemediationStrategy.AutoApply != nil {
enabled = *layer.Spec.RemediationStrategy.AutoApply
}
return enabled
return chooseBool(repo.Spec.RemediationStrategy.AutoApply, layer.Spec.RemediationStrategy.AutoApply, false)
}

func mergeImagePullSecrets(a, b []corev1.LocalObjectReference) []corev1.LocalObjectReference {
result := []corev1.LocalObjectReference{}
temp := map[string]string{}

for _, elt := range a {
temp[elt.Name] = ""
}
for _, elt := range b {
temp[elt.Name] = ""
func chooseBool(a, b *bool, defaultVal bool) bool {
if b != nil {
return *b
}

for k := range temp {
result = append(result, corev1.LocalObjectReference{Name: k})
if a != nil {
return *a
}
return result
return defaultVal
}

func chooseString(a, b string) string {
@@ -172,6 +136,23 @@ func chooseInt(a, b *int, d int) *int {
return &d
}

func mergeImagePullSecrets(a, b []corev1.LocalObjectReference) []corev1.LocalObjectReference {
result := []corev1.LocalObjectReference{}
temp := map[string]string{}

for _, elt := range a {
temp[elt.Name] = ""
}
for _, elt := range b {
temp[elt.Name] = ""
}

for k := range temp {
result = append(result, corev1.LocalObjectReference{Name: k})
}
return result
}

func mergeEnvFrom(a, b []corev1.EnvFromSource) []corev1.EnvFromSource {
result := []corev1.EnvFromSource{}
tempSecret := map[string]string{}

0 comments on commit 6293ce0

Please sign in to comment.