package config

import (
	"os"
	// "github.com/pkg/errors"
)

type config struct {
	Host string
	Port string

	Debug bool
}

const (
	DefaultHost = "localhost"
	DefaultPort = "8000"
)

// Config is set from the environment variables
var Config = &config{}

func Load() error {
	Config.Host = os.Getenv("DIAMONDB_HOST")
	if Config.Host == "" {
		Config.Host = DefaultHost
	}
	Config.Port = os.Getenv("DIAMONDB_PORT")
	if Config.Port == "" {
		Config.Port = DefaultPort
	}

	if os.Getenv("DIAMONDB_DEBUG") != "" {
		Config.Debug = true
	}

	return nil
}

package config

import (
	"os"
	"strconv"

	"github.com/pkg/errors"
)

type config struct {
	Host          string
	Port          string
	RedisAddr     string
	RedisPassword string
	RedisDB       int

	Debug bool
}

const (
	DefaultHost          = "localhost"
	DefaultPort          = "8000"
	DefaultRedisAddr     = "localhost:6379"
	DefaultRedisPassword = ""
	DefaultRedisDB       = 0
)

// Config is set from the environment variables
var Config = &config{}

func Load() error {
	Config.Host = os.Getenv("DIAMONDB_HOST")
	if Config.Host == "" {
		Config.Host = DefaultHost
	}
	Config.Port = os.Getenv("DIAMONDB_PORT")
	if Config.Port == "" {
		Config.Port = DefaultPort
	}
	Config.RedisAddr = os.Getenv("DIAMONDB_REDIS_ADDR")
	if Config.RedisAddr == "" {
		Config.RedisAddr = DefaultRedisAddr
	}
	Config.RedisPassword = os.Getenv("DIAMONDB_REDIS_PASSWORD")
	if Config.RedisPassword == "" {
		Config.RedisPassword = DefaultRedisPassword
	}
	redisdb := os.Getenv("DIAMONDB_REDIS_DB")
	if redisdb == "" {
		Config.RedisDB = DefaultRedisDB
	} else {
		v, err := strconv.Atoi(redisdb)
		if err != nil {
			return errors.New("DIAMONDB_REDIS_DB must be an integer")
		}
		Config.RedisDB = v
	}

	if os.Getenv("DIAMONDB_DEBUG") != "" {
		Config.Debug = true
	}

	return nil
}

Add DIAMONDB_REDIS_ADDR DIAMONDB_REDIS_PASSWORD DIAMONDB_REDIS_DB as new parameters
Add DIAMONDB_REDIS_ADDR DIAMONDB_REDIS_PASSWORD DIAMONDB_REDIS_DB as new parameters
