wire.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. //go:build wireinject
  2. // +build wireinject
  3. package wire
  4. import (
  5. "city_chips/internal/handler"
  6. "city_chips/internal/repository"
  7. "city_chips/internal/server"
  8. "city_chips/internal/service"
  9. "city_chips/pkg/log"
  10. "github.com/gin-gonic/gin"
  11. "github.com/google/wire"
  12. "github.com/spf13/viper"
  13. "net/http"
  14. )
  15. var ServerSet = wire.NewSet(server.NewServerHTTP)
  16. var RepositorySet = wire.NewSet(
  17. repository.NewDb,
  18. repository.NewRepository,
  19. repository.NewUserRepository,
  20. repository.NewAccessControlRepository,
  21. repository.NewHikvisionRepository,
  22. repository.NewConferenceRepository,
  23. repository.NewHomeRepository,
  24. repository.NewElevatorRepository,
  25. repository.NewBroadcastRepository,
  26. repository.NewPropertyRepository,
  27. repository.NewInformationRepository,
  28. repository.NewIlluminatingRepository,
  29. repository.NewEnergyRepository,
  30. repository.NewIntelligentBuildingControlRepository,
  31. repository.NewTemperatureRepository,
  32. )
  33. var ServiceSet = wire.NewSet(
  34. service.NewService,
  35. service.NewUserService,
  36. service.NewAccessControlService,
  37. service.NewHikvisionService,
  38. service.NewConferenceService,
  39. service.NewHomeService,
  40. service.NewElevatorService,
  41. service.NewBroadcastService,
  42. service.NewPropertyService,
  43. service.NewInformationService,
  44. service.NewIlluminatingService,
  45. service.NewEnergyService,
  46. service.NewIntelligentBuildingControlService,
  47. service.NewTemperatureService,
  48. provideHTTPClient,
  49. )
  50. var HandlerSet = wire.NewSet(
  51. handler.NewHandler,
  52. handler.NewUserHandler,
  53. handler.NewAccessControlHandler,
  54. handler.NewHikvisionHandler,
  55. handler.NewConferenceHandler,
  56. handler.NewHomeHandler,
  57. handler.NewElevatorHandler,
  58. handler.NewBroadcastHandler,
  59. handler.NewPropertyHandler,
  60. handler.NewInformationHandler,
  61. handler.NewIlluminatingHandler,
  62. handler.NewEnergyHandler,
  63. handler.NewIntelligentBuildingControlHandler,
  64. handler.NewTemperatureHandler,
  65. )
  66. func provideHTTPClient() *http.Client {
  67. return http.DefaultClient
  68. }
  69. func NewWire(*viper.Viper, *log.Logger) (*gin.Engine, func(), error) {
  70. panic(wire.Build(
  71. ServerSet,
  72. RepositorySet,
  73. ServiceSet,
  74. HandlerSet,
  75. ))
  76. }