func()

in internal/loader/configuration_setting_loader.go [187:210]


func (csl *ConfigurationSettingLoader) RefreshFeatureFlagSettings(ctx context.Context, existingConfigMapSetting *map[string]string) (*TargetKeyValueSettings, error) {
	latestFeatureFlagSettings, latestFeatureFlagETags, err := csl.getFeatureFlagSettings(ctx)
	if err != nil {
		return nil, err
	}

	_, existingSettings, err := unmarshalConfigMap(existingConfigMapSetting, csl.Spec.Target.ConfigMapData)
	if err != nil {
		return nil, err
	}

	existingSettings[FeatureManagementSectionName] = latestFeatureFlagSettings
	typedStr, err := marshalJsonYaml(existingSettings, csl.Spec.Target.ConfigMapData)
	if err != nil {
		return nil, err
	}

	return &TargetKeyValueSettings{
		ConfigMapSettings: map[string]string{
			csl.Spec.Target.ConfigMapData.Key: typedStr,
		},
		FeatureFlagETags: latestFeatureFlagETags,
	}, nil
}