in controllers/sonar/chain/update_settings.go [88:120]
func (h *UpdateSettings) makeSetting(
ctx context.Context,
setting sonarApi.SonarSetting,
namespace string,
) (url.Values, error) {
if setting.FieldValues != nil {
// nolint:errchkjson //we can skip error for marshal map[string]string
fv, _ := json.Marshal(setting.FieldValues)
return url.Values{
"key": []string{setting.Key},
"fieldValues": []string{string(fv)},
}, nil
}
if setting.Values != nil {
return url.Values{
"key": []string{setting.Key},
"values": setting.Values,
}, nil
}
if setting.ValueRef != nil {
val, err := sourceref.GetValueFromSourceRef(ctx, setting.ValueRef, namespace, h.k8sClient)
if err != nil {
return url.Values{}, fmt.Errorf("failed to get sonar setting from source ref: %w", err)
}
return newSettingValue(setting.Key, val), nil
}
return newSettingValue(setting.Key, setting.Value), nil
}