package impl import ( "fmt" "git.apinb.com/bsm-sdk/core/cache/redis" "git.apinb.com/bsm-sdk/core/conf" "git.apinb.com/bsm-sdk/core/database" "git.apinb.com/bsm-sdk/core/vars" "gorm.io/gorm" ) func newDatabase(cfg *conf.DBConf) *gorm.DB { if cfg == nil || len(cfg.Source) == 0 { panic("database source is required") } db, err := database.NewDatabase(cfg.Driver, cfg.Source, nil) if err != nil { panic(fmt.Sprintf("database init failed: %v", err)) } return db } func newRedisCache(dsn string) *redis.RedisClient { if dsn == "" { return nil } return redis.New(dsn, vars.ServiceKey) }