wire.go 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. //go:build wireinject
  2. // +build wireinject
  3. package wire
  4. import (
  5. "github.com/go-nunu/nunu-layout-advanced/internal/handler"
  6. adminHandler "github.com/go-nunu/nunu-layout-advanced/internal/handler/admin"
  7. wafHandler "github.com/go-nunu/nunu-layout-advanced/internal/handler/api/waf"
  8. "github.com/go-nunu/nunu-layout-advanced/internal/middleware"
  9. "github.com/go-nunu/nunu-layout-advanced/internal/repository"
  10. adminRep "github.com/go-nunu/nunu-layout-advanced/internal/repository/admin"
  11. flexCdnRep "github.com/go-nunu/nunu-layout-advanced/internal/repository/api/flexCdn"
  12. wafRep "github.com/go-nunu/nunu-layout-advanced/internal/repository/api/waf"
  13. "github.com/go-nunu/nunu-layout-advanced/internal/server"
  14. "github.com/go-nunu/nunu-layout-advanced/internal/service"
  15. "github.com/go-nunu/nunu-layout-advanced/internal/service/admin"
  16. "github.com/go-nunu/nunu-layout-advanced/internal/service/api/flexCdn"
  17. "github.com/go-nunu/nunu-layout-advanced/internal/service/api/gameShield"
  18. "github.com/go-nunu/nunu-layout-advanced/internal/service/api/waf"
  19. "github.com/go-nunu/nunu-layout-advanced/internal/service/api/waf/common"
  20. "github.com/go-nunu/nunu-layout-advanced/internal/service/api/waf/globallimit"
  21. "github.com/go-nunu/nunu-layout-advanced/internal/service/api/waf/tcp"
  22. "github.com/go-nunu/nunu-layout-advanced/internal/service/api/waf/udp"
  23. "github.com/go-nunu/nunu-layout-advanced/internal/service/api/waf/web"
  24. "github.com/go-nunu/nunu-layout-advanced/pkg/app"
  25. "github.com/go-nunu/nunu-layout-advanced/pkg/jwt"
  26. "github.com/go-nunu/nunu-layout-advanced/pkg/limiter"
  27. "github.com/go-nunu/nunu-layout-advanced/pkg/log"
  28. "github.com/go-nunu/nunu-layout-advanced/pkg/server/http"
  29. "github.com/go-nunu/nunu-layout-advanced/pkg/sid"
  30. "github.com/google/wire"
  31. "github.com/spf13/viper"
  32. )
  33. var repositorySet = wire.NewSet(
  34. repository.NewDB,
  35. repository.NewRedis,
  36. repository.NewCasbinEnforcer,
  37. repository.NewMongoClient,
  38. repository.NewMongoDB,
  39. repository.NewRabbitMQ,
  40. repository.NewRepository,
  41. repository.NewTransaction,
  42. repository.NewShardingManager,
  43. adminRep.NewAdminRepository,
  44. adminRep.NewUserRepository,
  45. repository.NewGameShieldRepository,
  46. repository.NewGameShieldPublicIpRepository,
  47. wafRep.NewWebForwardingRepository,
  48. wafRep.NewTcpforwardingRepository,
  49. wafRep.NewUdpForWardingRepository,
  50. repository.NewGameShieldUserIpRepository,
  51. repository.NewGameShieldBackendRepository,
  52. repository.NewGameShieldSdkIpRepository,
  53. repository.NewHostRepository,
  54. wafRep.NewGlobalLimitRepository,
  55. repository.NewGatewayGroupRepository,
  56. repository.NewGateWayGroupIpRepository,
  57. flexCdnRep.NewCdnRepository,
  58. wafRep.NewAllowAndDenyIpRepository,
  59. flexCdnRep.NewProxyRepository,
  60. flexCdnRep.NewCcRepository,
  61. repository.NewExpiredRepository,
  62. repository.NewLogRepository,
  63. wafRep.NewGatewayipRepository,
  64. adminRep.NewGatewayIpAdminRepository,
  65. flexCdnRep.NewCcIpListRepository,
  66. adminRep.NewLogRepository,
  67. adminRep.NewWafLogRepository,
  68. adminRep.NewWafManageRepository,
  69. )
  70. var serviceSet = wire.NewSet(
  71. service.NewService,
  72. admin.NewUserService,
  73. admin.NewGatewayIpAdminService,
  74. admin.NewAdminService,
  75. gameShield.NewGameShieldService,
  76. service.NewAoDunService,
  77. service.NewGameShieldPublicIpService,
  78. service.NewDuedateService,
  79. service.NewFormatterService,
  80. service.NewParserService,
  81. service.NewRequiredService,
  82. service.NewCrawlerService,
  83. web.NewWebForwardingService,
  84. web.NewAidedWebService,
  85. tcp.NewAidedTcpService,
  86. tcp.NewTcpforwardingService,
  87. udp.NewAidedUdpService,
  88. udp.NewUdpForWardingService,
  89. service.NewGameShieldUserIpService,
  90. gameShield.NewGameShieldBackendService,
  91. service.NewGameShieldSdkIpService,
  92. service.NewHostService,
  93. globallimit.NewGlobalLimitService,
  94. service.NewGatewayGroupService,
  95. common.NewWafFormatterService,
  96. service.NewGateWayGroupIpService,
  97. service.NewRequestService,
  98. flexCdn.NewCdnService,
  99. common.NewAllowAndDenyIpService,
  100. flexCdn.NewProxyService,
  101. flexCdn.NewSslCertService,
  102. flexCdn.NewWebsocketService,
  103. waf.NewCcService,
  104. service.NewLogService,
  105. common.NewGatewayipService,
  106. waf.NewCcIpListService,
  107. waf.NewCdnLogService,
  108. waf.NewBuildAudunService,
  109. waf.NewZzybgpService,
  110. waf.NewWaflogService,
  111. admin.NewLogService,
  112. admin.NewWafLogService,
  113. admin.NewWafLogDataCleanService,
  114. admin.NewWafManageService,
  115. admin.NewWafOperationsService,
  116. service.NewShardingService,
  117. )
  118. var handlerSet = wire.NewSet(
  119. handler.NewHandler,
  120. adminHandler.NewUserHandler,
  121. adminHandler.NewAdminHandler,
  122. adminHandler.NewGatewayIpAdminHandler,
  123. handler.NewGameShieldHandler,
  124. handler.NewGameShieldPublicIpHandler,
  125. wafHandler.NewWebForwardingHandler,
  126. wafHandler.NewTcpforwardingHandler,
  127. wafHandler.NewUdpForWardingHandler,
  128. handler.NewGameShieldUserIpHandler,
  129. handler.NewGameShieldBackendHandler,
  130. handler.NewGameShieldSdkIpHandler,
  131. handler.NewHostHandler,
  132. wafHandler.NewGlobalLimitHandler,
  133. handler.NewGatewayGroupHandler,
  134. handler.NewGateWayGroupIpHandler,
  135. wafHandler.NewAllowAndDenyIpHandler,
  136. wafHandler.NewCcHandler,
  137. wafHandler.NewGatewayipHandler,
  138. wafHandler.NewCcIpListHandler,
  139. wafHandler.NewCdnLogHandler,
  140. adminHandler.NewLogHandler,
  141. adminHandler.NewWafLogHandler,
  142. adminHandler.NewWafManageHandler,
  143. )
  144. // 限流器依赖集
  145. var limiterSet = wire.NewSet(
  146. limiter.NewLimiter,
  147. middleware.NewRateLimitMiddleware,
  148. )
  149. var serverSet = wire.NewSet(
  150. server.NewHTTPServer,
  151. )
  152. // build App
  153. func newApp(
  154. httpServer *http.Server,
  155. ) *app.App {
  156. return app.NewApp(
  157. app.WithServer(httpServer),
  158. app.WithName("demo-server"),
  159. )
  160. }
  161. func NewWire(*viper.Viper, *log.Logger) (*app.App, func(), error) {
  162. panic(wire.Build(
  163. repositorySet,
  164. serviceSet,
  165. handlerSet,
  166. serverSet,
  167. limiterSet,
  168. sid.NewSid,
  169. jwt.NewJwt,
  170. newApp,
  171. ))
  172. }