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
}