github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/pkg/config/hiddenapps.go (about) 1 package config 2 3 import ( 4 "fmt" 5 6 "github.com/kyma-incubator/compass/components/director/pkg/apperrors" 7 ) 8 9 const applicationHideSelectorsPath = "applicationHideSelectors" 10 11 // GetApplicationHideSelectors missing godoc 12 func (p *Provider) GetApplicationHideSelectors() (map[string][]string, error) { 13 val, err := p.getValueForJSONPath(applicationHideSelectorsPath) 14 if err != nil { 15 if apperrors.IsValueNotFoundInConfiguration(err) { 16 return nil, nil 17 } 18 return nil, err 19 } 20 21 selectorsMap, ok := val.(map[string]interface{}) 22 if !ok { 23 return nil, fmt.Errorf("unexpected application hide selectors definition, should be a map, but was %T", val) 24 } 25 26 selectors := make(map[string][]string) 27 for key, values := range selectorsMap { 28 valuesList, ok := values.([]interface{}) 29 if !ok { 30 return nil, fmt.Errorf("unexpected application hide selector values definition for key %s, should be a list, but was %T", key, values) 31 } 32 var v []string 33 for _, value := range valuesList { 34 valueString, ok := value.(string) 35 if !ok { 36 return nil, fmt.Errorf("unexpected application hide selector value definition for key %s, should be a string, but was %T", key, value) 37 } 38 v = append(v, valueString) 39 } 40 selectors[key] = v 41 } 42 43 return selectors, nil 44 }