wire.go 971 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. //go:build wireinject
  2. // +build wireinject
  3. package wire
  4. import (
  5. "github.com/gin-gonic/gin"
  6. "github.com/google/wire"
  7. "github.com/spf13/viper"
  8. "projectName/internal/handler"
  9. "projectName/internal/middleware"
  10. "projectName/internal/repository"
  11. "projectName/internal/server"
  12. "projectName/internal/service"
  13. "projectName/pkg/log"
  14. )
  15. var ServerSet = wire.NewSet(server.NewServerHTTP)
  16. var RepositorySet = wire.NewSet(
  17. repository.NewDb,
  18. repository.NewRepository,
  19. repository.NewUserRepository,
  20. )
  21. var ServiceSet = wire.NewSet(
  22. service.NewService,
  23. service.NewUserService,
  24. service.NewIpService,
  25. )
  26. var HandlerSet = wire.NewSet(
  27. handler.NewHandler,
  28. handler.NewUserHandler,
  29. handler.NewIpHandler,
  30. )
  31. var MiddlewareSet = wire.NewSet(
  32. middleware.NewIPAllowlist,
  33. middleware.NewIPRateLimiter,
  34. )
  35. func NewWire(*viper.Viper, *log.Logger) (*gin.Engine, func(), error) {
  36. panic(wire.Build(
  37. ServerSet,
  38. RepositorySet,
  39. ServiceSet,
  40. HandlerSet,
  41. MiddlewareSet,
  42. ))
  43. }