-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathwire_gen.go
49 lines (44 loc) · 1.71 KB
/
wire_gen.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:build !wireinject
// +build !wireinject
package main
import (
"muxi_auditor/client"
"muxi_auditor/config"
"muxi_auditor/controller"
"muxi_auditor/ioc"
"muxi_auditor/middleware"
"muxi_auditor/pkg/jwt"
"muxi_auditor/pkg/viperx"
"muxi_auditor/repository/dao"
"muxi_auditor/router"
"muxi_auditor/service"
)
// Injectors from wire.go:
func InitWebServer(confPath string) *App {
vipperSetting := viperx.NewVipperSetting(confPath)
oAuthConfig := config.NewOAuthConf(vipperSetting)
oAuthClient := client.NewOAuthClient(oAuthConfig)
dbConfig := config.NewDBConf(vipperSetting)
logConfig := config.NewLogConf(vipperSetting)
logger := ioc.InitLogger(logConfig)
db := ioc.InitDB(dbConfig, logger)
userDAO := dao.NewUserDAO(db)
cacheConfig := config.NewCacheConf(vipperSetting)
redisClient := ioc.InitCache(cacheConfig)
jwtConfig := config.NewJWTConf(vipperSetting)
redisJWTHandler := jwt.NewRedisJWTHandler(redisClient, jwtConfig)
authService := service.NewAuthService(userDAO, redisJWTHandler)
authController := controller.NewOAuthController(oAuthClient, authService)
authMiddleware := middleware.NewAuthMiddleware(redisJWTHandler)
middlewareConf := config.NewMiddleWareConf(vipperSetting)
corsMiddleware := middleware.NewCorsMiddleware(middlewareConf)
prometheusConfig := config.NewPrometheusConf(vipperSetting)
prometheus := ioc.InitPrometheus(prometheusConfig)
loggerMiddleware := middleware.NewLoggerMiddleware(logger, prometheus)
engine := router.NewRouter(authController, authMiddleware, corsMiddleware, loggerMiddleware)
appConf := config.NewAppConf(vipperSetting)
app := NewApp(engine, appConf)
return app
}