wire.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. //go:build wireinject
  2. // +build wireinject
  3. package wire
  4. import (
  5. "github.com/go-nunu/nunu-layout-advanced/internal/repository"
  6. "github.com/go-nunu/nunu-layout-advanced/internal/server"
  7. "github.com/go-nunu/nunu-layout-advanced/internal/service"
  8. "github.com/go-nunu/nunu-layout-advanced/internal/task"
  9. "github.com/go-nunu/nunu-layout-advanced/pkg/app"
  10. "github.com/go-nunu/nunu-layout-advanced/pkg/jwt"
  11. "github.com/go-nunu/nunu-layout-advanced/pkg/log"
  12. "github.com/go-nunu/nunu-layout-advanced/pkg/sid"
  13. "github.com/google/wire"
  14. "github.com/spf13/viper"
  15. )
  16. var repositorySet = wire.NewSet(
  17. repository.NewDB,
  18. repository.NewDBSecond,
  19. //repository.NewRedis,
  20. repository.NewMongoClient,
  21. repository.NewMongoDB,
  22. repository.NewRepository,
  23. repository.NewTransaction,
  24. repository.NewUserRepository,
  25. repository.NewGameShieldRepository,
  26. repository.NewGameShieldBackendRepository,
  27. repository.NewGameShieldPublicIpRepository,
  28. repository.NewHostRepository,
  29. repository.NewGameShieldUserIpRepository,
  30. repository.NewGameShieldSdkIpRepository,
  31. )
  32. var taskSet = wire.NewSet(
  33. task.NewTask,
  34. task.NewUserTask,
  35. task.NewGameShieldTask,
  36. )
  37. var serverSet = wire.NewSet(
  38. server.NewTaskServer,
  39. )
  40. var serviceSet = wire.NewSet(
  41. service.NewService,
  42. service.NewGameShieldService,
  43. service.NewCrawlerService,
  44. service.NewGameShieldPublicIpService,
  45. service.NewDuedateService,
  46. service.NewFormatterService,
  47. service.NewParserService,
  48. service.NewRequiredService,
  49. service.NewHostService,
  50. service.NewGameShieldBackendService,
  51. service.NewGameShieldSdkIpService,
  52. service.NewGameShieldUserIpService,
  53. )
  54. // build App
  55. func newApp(
  56. task *server.TaskServer,
  57. ) *app.App {
  58. return app.NewApp(
  59. app.WithServer(task),
  60. app.WithName("demo-task"),
  61. )
  62. }
  63. func NewWire(*viper.Viper, *log.Logger) (*app.App, func(), error) {
  64. panic(wire.Build(
  65. repositorySet,
  66. taskSet,
  67. serverSet,
  68. serviceSet,
  69. newApp,
  70. sid.NewSid,
  71. jwt.NewJwt,
  72. ))
  73. }