func()

in pkg/admin/services/override_service_impl.go [156:207]


func (s *OverrideServiceImpl) DisableOverride(id string) error {
	path := GetOverridePath(id)

	conf, err := config.Governance.GetConfig(path)
	if err != nil {
		logger.Logger().Error(err.Error())
		return err
	}

	override := &model.Override{}
	err = yaml.UnmarshalYML([]byte(conf), override)
	if err != nil {
		logger.Logger().Error(err.Error())
		return err
	}
	old := override.ToDynamicConfig()
	override.Enabled = false

	if b, err := yaml.MarshalYML(override); err != nil {
		logger.Logger().Error(err.Error())
		return err
	} else {
		err := config.Governance.SetConfig(path, string(b))
		if err != nil {
			return err
		}
	}

	// for 2.6
	if override.Scope == constant.Service {
		overrides := old.ToOldOverride()
		for _, o := range overrides {
			o.Enabled = true
			url, err := util.OldOverride2URL(o)
			if err != nil {
				logger.Logger().Error(err.Error())
				return err
			}
			config.Governance.UnRegister(url)

			o.Enabled = false
			url, err = util.OldOverride2URL(o)
			if err != nil {
				logger.Logger().Error(err.Error())
				return err
			}
			config.Governance.Register(url)
		}
	}

	return nil
}