package src

import (
	"embed"

	"be.ems/src/framework/config"
	"be.ems/src/framework/cron"
	"be.ems/src/framework/database/db"
	"be.ems/src/framework/database/redis"
	"be.ems/src/framework/logger"
)

//go:embed config/*.yaml
var configDir embed.FS

//go:embed assets/*
var assetsDir embed.FS

// 配置中心初始加载
func ConfigurationInit() {
	// 初始配置参数
	config.InitConfig(&configDir)
	config.SetAssetsDirFS(&assetsDir)
	// 初始程序日志
	logger.InitLogger()
	// 连接数据库实例
	db.Connect()
	db.ImportSQL()
	// 连接Redis实例
	redis.Connect()
	// 启动调度任务实例
	cron.StartCron()
}

// 配置中心相关配置关闭连接
func ConfigurationClose() {
	// 停止调度任务实例
	cron.StopCron()
	// 关闭Redis实例
	redis.Close()
	// 关闭数据库实例
	db.Close()
	// 关闭程序日志
	logger.Close()
}
