package config

import (
	"log"

	"github.com/spf13/viper"
)

func InitConfig(configName, ConfigType, ConfigPath string) {
	viper.Reset()
	viper.SetConfigName(configName)
	viper.SetConfigType(ConfigType)
	viper.AddConfigPath(ConfigPath)

	err := viper.ReadInConfig()
	if err != nil {
		log.Fatal("InitConfig failed ", err)
	}
}

func Get(key string) interface{} {
	return viper.Get(key)
}

func GetInt(key string) int {
	return viper.GetInt(key)
}

func GetStringMap(key string) map[string]interface{} {
	return viper.GetStringMap(key)
}

func GetString(key string) string {
	return viper.GetString(key)
}

func GetStringSclice(key string) []string {
	return viper.GetStringSlice(key)
}
