package configYaml

import (
	"framework/configMgr"
	"gopkg.in/yaml.v3"
	"goutil/logUtil"
	"goutil/yamlUtil"
	"log"
)

var (
	// 配置对象

	configManager = configMgr.NewConfigManager()
)

// init
//
//	@description: init
//
// parameter:
// return:
func init() {
	// 设置日志文件的存储目录
	logUtil.SetLogPath("LOG")

	if err := reloadConfig(); err != nil {
		panic(err)
	}

	//加载配置
	initBaseConfig()
	initDbConfig()
	initFunctionConfig()
	initLogMgrConfig()
}

// reloadConfig
//
//	@description: reloadConfig
//
// parameter:
// return:
//
//	@error: 错误信息
func reloadConfig() error {

	yamlFile, err := yamlUtil.LoadFromFile("config.yaml")
	if err != nil {
		return err
	}

	// 解析 YAML 文件
	err = yaml.Unmarshal(yamlFile, &ConfigYaml)
	if err != nil {
		log.Fatalf("Error unmarshalling config file: %v", err)
		return err
	}

	return nil
}
