From 6293ce0c220e27be8950bfc6b608696b3b4922ca Mon Sep 17 00:00:00 2001 From: Lucas Marques Date: Sun, 28 Apr 2024 15:09:48 +0200 Subject: [PATCH] refactor(api): replace duplicated code with chooseBool --- api/v1alpha1/common.go | 75 ++++++++++++++++-------------------------- 1 file changed, 28 insertions(+), 47 deletions(-) diff --git a/api/v1alpha1/common.go b/api/v1alpha1/common.go index 7eb9f6aa..13e2bda0 100644 --- a/api/v1alpha1/common.go +++ b/api/v1alpha1/common.go @@ -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{}