wire.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. //go:build wireinject
  2. // +build wireinject
  3. package wire
  4. import (
  5. "github.com/go-nunu/nunu-layout-advanced/internal/handler"
  6. "github.com/go-nunu/nunu-layout-advanced/internal/job"
  7. "github.com/go-nunu/nunu-layout-advanced/internal/repository"
  8. "github.com/go-nunu/nunu-layout-advanced/internal/server"
  9. "github.com/go-nunu/nunu-layout-advanced/internal/service"
  10. "github.com/go-nunu/nunu-layout-advanced/pkg/app"
  11. "github.com/go-nunu/nunu-layout-advanced/pkg/jwt"
  12. "github.com/go-nunu/nunu-layout-advanced/pkg/log"
  13. "github.com/go-nunu/nunu-layout-advanced/pkg/server/http"
  14. "github.com/go-nunu/nunu-layout-advanced/pkg/sid"
  15. "github.com/google/wire"
  16. "github.com/spf13/viper"
  17. )
  18. var repositorySet = wire.NewSet(
  19. repository.NewDB,
  20. //repository.NewRedis,
  21. repository.NewRepository,
  22. repository.NewTransaction,
  23. repository.NewUserRepository,
  24. repository.NewGameShieldRepository,
  25. repository.NewGameShieldPublicIpRepository,
  26. repository.NewWebForwardingRepository,
  27. repository.NewTcpforwardingRepository,
  28. repository.NewUdpForWardingRepository,
  29. repository.NewGameShieldUserIpRepository,
  30. repository.NewWebLimitRepository,
  31. repository.NewTcpLimitRepository,
  32. )
  33. var serviceSet = wire.NewSet(
  34. service.NewService,
  35. service.NewUserService,
  36. service.NewGameShieldService,
  37. service.NewCrawlerService,
  38. service.NewGameShieldPublicIpService,
  39. service.NewDuedateService,
  40. service.NewFormatterService,
  41. service.NewParserService,
  42. service.NewRequiredService,
  43. service.NewWebForwardingService,
  44. service.NewTcpforwardingService,
  45. service.NewUdpForWardingService,
  46. service.NewGameShieldUserIpService,
  47. service.NewWebLimitService,
  48. service.NewTcpLimitService,
  49. )
  50. var handlerSet = wire.NewSet(
  51. handler.NewHandler,
  52. handler.NewUserHandler,
  53. handler.NewGameShieldHandler,
  54. handler.NewGameShieldPublicIpHandler,
  55. handler.NewWebForwardingHandler,
  56. handler.NewTcpforwardingHandler,
  57. handler.NewUdpForWardingHandler,
  58. handler.NewGameShieldUserIpHandler,
  59. handler.NewWebLimitHandler,
  60. handler.NewTcpLimitHandler,
  61. )
  62. var jobSet = wire.NewSet(
  63. job.NewJob,
  64. job.NewUserJob,
  65. )
  66. var serverSet = wire.NewSet(
  67. server.NewHTTPServer,
  68. server.NewJobServer,
  69. )
  70. // build App
  71. func newApp(
  72. httpServer *http.Server,
  73. jobServer *server.JobServer,
  74. // task *server.Task,
  75. ) *app.App {
  76. return app.NewApp(
  77. app.WithServer(httpServer, jobServer),
  78. app.WithName("demo-server"),
  79. )
  80. }
  81. func NewWire(*viper.Viper, *log.Logger) (*app.App, func(), error) {
  82. panic(wire.Build(
  83. repositorySet,
  84. serviceSet,
  85. handlerSet,
  86. jobSet,
  87. serverSet,
  88. sid.NewSid,
  89. jwt.NewJwt,
  90. newApp,
  91. ))
  92. }