package config

type Database struct {
	Host          string `mapstructure:"DB_HOST"`
	Username      string `mapstructure:"DB_USERNAME"`
	Password      string `mapstructure:"DB_PASSWORD"`
	Port          int    `mapstructure:"DB_PORT"`
	Database      string `mapstructure:"DB_DATABASE"`
	RetryAttempts uint   `mapstructure:"DB_RETRY_ATTEMPTS"`
}

func (c *configImpl) GetDatabaseConfig() Database {
	return c.systemConfig.Database
}

func (c *configImpl) setDefaultDatabaseConfig() {
	c.viper.SetDefault("DB_HOST", "127.0.0.1")
	c.viper.SetDefault("DB_USERNAME", "postgres")
	c.viper.SetDefault("DB_PASSWORD", "postgres")
	c.viper.SetDefault("DB_PORT", "5432")
	c.viper.SetDefault("DB_DATABASE", "upmesh")
	c.viper.SetDefault("DB_RETRY_ATTEMPTS", 3)
}
