78 lines
1.3 KiB
Go
78 lines
1.3 KiB
Go
package config
|
|
|
|
import (
|
|
"database/sql"
|
|
"net/http"
|
|
)
|
|
|
|
type Config struct {
|
|
saas bool
|
|
dbs map[string]*DBConfig
|
|
db *DBConfig
|
|
engine http.Handler
|
|
}
|
|
|
|
type DBConfig struct {
|
|
Driver string
|
|
DB *sql.DB
|
|
}
|
|
|
|
// SetDbs 设置对应key的db
|
|
func (c *Config) SetDbs(key string, db *DBConfig) {
|
|
c.dbs[key] = db
|
|
}
|
|
|
|
// GetDbs 获取所有map里的db数据
|
|
func (c *Config) GetDbs() map[string]*DBConfig {
|
|
return c.dbs
|
|
}
|
|
|
|
// GetDbByKey 根据key获取db
|
|
func (c *Config) GetDbByKey(key string) *DBConfig {
|
|
return c.dbs[key]
|
|
}
|
|
|
|
// SetDb 设置单个db
|
|
func (c *Config) SetDb(db *DBConfig) {
|
|
c.db = db
|
|
}
|
|
|
|
// GetDb 获取单个db
|
|
func (c *Config) GetDb() *DBConfig {
|
|
return c.db
|
|
}
|
|
|
|
// SetEngine 设置路由引擎
|
|
func (c *Config) SetEngine(engine http.Handler) {
|
|
c.engine = engine
|
|
}
|
|
|
|
// GetEngine 获取路由引擎
|
|
func (c *Config) GetEngine() http.Handler {
|
|
return c.engine
|
|
}
|
|
|
|
//// SetLogger 设置日志组件
|
|
//func (c *Config) SetLogger(l logger.Logger) {
|
|
// logger.DefaultLogger = l
|
|
//}
|
|
//
|
|
//// GetLogger 获取日志组件
|
|
//func (c *Config) GetLogger() logger.Logger {
|
|
// return logger.DefaultLogger
|
|
//}
|
|
|
|
// SetSaas 设置是否是saas应用
|
|
func (c *Config) SetSaas(saas bool) {
|
|
c.saas = saas
|
|
}
|
|
|
|
// GetSaas 获取是否是saas应用
|
|
func (c *Config) GetSaas() bool {
|
|
return c.saas
|
|
}
|
|
|
|
func DefaultConfig() *Config {
|
|
return &Config{}
|
|
}
|