diff --git a/config/config.go b/config/config.go index 07fcc22c..55309503 100644 --- a/config/config.go +++ b/config/config.go @@ -512,14 +512,9 @@ func (c *Config) SaveConfig(configPath string) error { return nil } -// LoadConfig loads your configuration file into your configuration object -func (c *Config) LoadConfig(configPath string) error { - err := c.ReadConfig(configPath) - if err != nil { - return fmt.Errorf(ErrFailureOpeningConfig, configPath, err) - } - - err = c.CheckExchangeConfigValues() +// CheckConfig checks all config settings +func (c *Config) CheckConfig() error { + err := c.CheckExchangeConfigValues() if err != nil { return fmt.Errorf(ErrCheckingConfigValues, err) } @@ -568,29 +563,34 @@ func (c *Config) LoadConfig(configPath string) error { return nil } +// LoadConfig loads your configuration file into your configuration object +func (c *Config) LoadConfig(configPath string) error { + err := c.ReadConfig(configPath) + if err != nil { + return fmt.Errorf(ErrFailureOpeningConfig, configPath, err) + } + + return c.CheckConfig() +} + // UpdateConfig updates the config with a supplied config file func (c *Config) UpdateConfig(configPath string, newCfg Config) error { - if c.Name != newCfg.Name && newCfg.Name != "" { - c.Name = newCfg.Name - } - - err := newCfg.CheckExchangeConfigValues() + err := newCfg.CheckConfig() if err != nil { return err } - c.Exchanges = newCfg.Exchanges - - if c.CurrencyPairFormat != newCfg.CurrencyPairFormat { - c.CurrencyPairFormat = newCfg.CurrencyPairFormat - } + c.Name = newCfg.Name + c.EncryptConfig = newCfg.EncryptConfig + c.Cryptocurrencies = newCfg.Cryptocurrencies + c.CurrencyExchangeProvider = newCfg.CurrencyExchangeProvider + c.CurrencyPairFormat = newCfg.CurrencyPairFormat + c.FiatDisplayCurrency = newCfg.FiatDisplayCurrency + c.GlobalHTTPTimeout = newCfg.GlobalHTTPTimeout c.Portfolio = newCfg.Portfolio - - err = newCfg.CheckSMSGlobalConfigValues() - if err != nil { - return err - } c.SMS = newCfg.SMS + c.Webserver = newCfg.Webserver + c.Exchanges = newCfg.Exchanges err = c.SaveConfig(configPath) if err != nil {