39 lines
526 B
Go
39 lines
526 B
Go
package bootstrap
|
|
|
|
import (
|
|
"allapp-go-v2/internal/config"
|
|
"allapp-go-v2/internal/pkg/logger"
|
|
|
|
"github.com/jackc/pgx/v5/pgxpool"
|
|
)
|
|
|
|
type App struct {
|
|
Config *config.Config
|
|
Db *pgxpool.Pool
|
|
}
|
|
|
|
func NewApp() (*App, error) {
|
|
cfg, err := config.Load()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
// 初始化日志
|
|
if err := logger.Init(cfg.App.Env); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
InitUniqueId(cfg)
|
|
|
|
db, err := InitDB(cfg)
|
|
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &App{
|
|
Config: cfg,
|
|
Db: db,
|
|
}, nil
|
|
}
|