wire.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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. )
  14. var ServerSet = wire.NewSet(server.NewServerHTTP)
  15. var RepositorySet = wire.NewSet(
  16. repository.NewDb,
  17. repository.NewRedis,
  18. repository.NewRepository,
  19. repository.NewUserRepository,
  20. repository.NewAccessControlRepository,
  21. repository.NewHikvisionRepository,
  22. repository.NewConferenceRepository,
  23. repository.NewHomeRepository,
  24. )
  25. var ServiceSet = wire.NewSet(
  26. service.NewService,
  27. service.NewUserService,
  28. service.NewAccessControlService,
  29. service.NewHikvisionService,
  30. service.NewConferenceService,
  31. service.NewHomeService,
  32. )
  33. var HandlerSet = wire.NewSet(
  34. handler.NewHandler,
  35. handler.NewUserHandler,
  36. handler.NewAccessControlHandler,
  37. handler.NewHikvisionHandler,
  38. handler.NewConferenceHandler,
  39. handler.NewHomeHandler,
  40. )
  41. func NewWire(*viper.Viper, *log.Logger) (*gin.Engine, func(), error) {
  42. panic(wire.Build(
  43. ServerSet,
  44. RepositorySet,
  45. ServiceSet,
  46. HandlerSet,
  47. ))
  48. }