wire.go 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. //go:build wireinject
  2. // +build wireinject
  3. package wire
  4. import (
  5. "github.com/go-nunu/nunu-layout-advanced/internal/handler"
  6. admin3 "github.com/go-nunu/nunu-layout-advanced/internal/handler/admin"
  7. waf3 "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. "github.com/go-nunu/nunu-layout-advanced/internal/repository/admin"
  11. waf2 "github.com/go-nunu/nunu-layout-advanced/internal/repository/api/waf"
  12. "github.com/go-nunu/nunu-layout-advanced/internal/server"
  13. "github.com/go-nunu/nunu-layout-advanced/internal/service"
  14. admin2 "github.com/go-nunu/nunu-layout-advanced/internal/service/admin"
  15. "github.com/go-nunu/nunu-layout-advanced/internal/service/api/gameShield"
  16. "github.com/go-nunu/nunu-layout-advanced/internal/service/api/waf"
  17. "github.com/go-nunu/nunu-layout-advanced/pkg/app"
  18. "github.com/go-nunu/nunu-layout-advanced/pkg/jwt"
  19. "github.com/go-nunu/nunu-layout-advanced/pkg/limiter"
  20. "github.com/go-nunu/nunu-layout-advanced/pkg/log"
  21. "github.com/go-nunu/nunu-layout-advanced/pkg/server/http"
  22. "github.com/go-nunu/nunu-layout-advanced/pkg/sid"
  23. "github.com/google/wire"
  24. "github.com/spf13/viper"
  25. )
  26. var repositorySet = wire.NewSet(
  27. repository.NewDB,
  28. repository.NewRedis,
  29. repository.NewCasbinEnforcer,
  30. repository.NewMongoClient,
  31. repository.NewMongoDB,
  32. repository.NewRabbitMQ,
  33. repository.NewRepository,
  34. repository.NewTransaction,
  35. admin.NewAdminRepository,
  36. admin.NewUserRepository,
  37. repository.NewGameShieldRepository,
  38. repository.NewGameShieldPublicIpRepository,
  39. waf2.NewWebForwardingRepository,
  40. waf2.NewTcpforwardingRepository,
  41. waf2.NewUdpForWardingRepository,
  42. repository.NewGameShieldUserIpRepository,
  43. repository.NewGameShieldBackendRepository,
  44. repository.NewGameShieldSdkIpRepository,
  45. repository.NewHostRepository,
  46. waf2.NewGlobalLimitRepository,
  47. repository.NewGatewayGroupRepository,
  48. repository.NewGateWayGroupIpRepository,
  49. repository.NewCdnRepository,
  50. waf2.NewAllowAndDenyIpRepository,
  51. repository.NewProxyRepository,
  52. repository.NewCcRepository,
  53. repository.NewExpiredRepository,
  54. repository.NewLogRepository,
  55. waf2.NewGatewayipRepository,
  56. )
  57. var serviceSet = wire.NewSet(
  58. service.NewService,
  59. admin2.NewUserService,
  60. admin2.NewAdminService,
  61. gameShield.NewGameShieldService,
  62. service.NewAoDunService,
  63. service.NewGameShieldPublicIpService,
  64. service.NewDuedateService,
  65. service.NewFormatterService,
  66. service.NewParserService,
  67. service.NewRequiredService,
  68. service.NewCrawlerService,
  69. waf.NewWebForwardingService,
  70. waf.NewTcpforwardingService,
  71. waf.NewUdpForWardingService,
  72. service.NewGameShieldUserIpService,
  73. gameShield.NewGameShieldBackendService,
  74. service.NewGameShieldSdkIpService,
  75. service.NewHostService,
  76. waf.NewGlobalLimitService,
  77. service.NewGatewayGroupService,
  78. waf.NewWafFormatterService,
  79. service.NewGateWayGroupIpService,
  80. service.NewRequestService,
  81. service.NewCdnService,
  82. waf.NewAllowAndDenyIpService,
  83. service.NewProxyService,
  84. service.NewSslCertService,
  85. service.NewWebsocketService,
  86. service.NewCcService,
  87. service.NewLogService,
  88. waf.NewGatewayipService,
  89. )
  90. var handlerSet = wire.NewSet(
  91. handler.NewHandler,
  92. admin3.NewUserHandler,
  93. admin3.NewAdminHandler,
  94. handler.NewGameShieldHandler,
  95. handler.NewGameShieldPublicIpHandler,
  96. waf3.NewWebForwardingHandler,
  97. waf3.NewTcpforwardingHandler,
  98. waf3.NewUdpForWardingHandler,
  99. handler.NewGameShieldUserIpHandler,
  100. handler.NewGameShieldBackendHandler,
  101. handler.NewGameShieldSdkIpHandler,
  102. handler.NewHostHandler,
  103. waf3.NewGlobalLimitHandler,
  104. handler.NewGatewayGroupHandler,
  105. handler.NewGateWayGroupIpHandler,
  106. waf3.NewAllowAndDenyIpHandler,
  107. handler.NewCcHandler,
  108. waf3.NewGatewayipHandler,
  109. )
  110. // 限流器依赖集
  111. var limiterSet = wire.NewSet(
  112. limiter.NewLimiter,
  113. middleware.NewRateLimitMiddleware,
  114. )
  115. var serverSet = wire.NewSet(
  116. server.NewHTTPServer,
  117. )
  118. // build App
  119. func newApp(
  120. httpServer *http.Server,
  121. ) *app.App {
  122. return app.NewApp(
  123. app.WithServer(httpServer),
  124. app.WithName("demo-server"),
  125. )
  126. }
  127. func NewWire(*viper.Viper, *log.Logger) (*app.App, func(), error) {
  128. panic(wire.Build(
  129. repositorySet,
  130. serviceSet,
  131. handlerSet,
  132. serverSet,
  133. limiterSet,
  134. sid.NewSid,
  135. jwt.NewJwt,
  136. newApp,
  137. ))
  138. }