wire_gen.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // Code generated by Wire. DO NOT EDIT.
  2. //go:generate go run -mod=mod github.com/google/wire/cmd/wire
  3. //go:build !wireinject
  4. // +build !wireinject
  5. package wire
  6. import (
  7. "github.com/gin-gonic/gin"
  8. "github.com/google/wire"
  9. "github.com/spf13/viper"
  10. "projectName/internal/handler"
  11. "projectName/internal/middleware"
  12. "projectName/internal/repository"
  13. "projectName/internal/server"
  14. "projectName/internal/service"
  15. "projectName/pkg/log"
  16. )
  17. // Injectors from wire.go:
  18. func NewWire(viperViper *viper.Viper, logger *log.Logger) (*gin.Engine, func(), error) {
  19. handlerHandler := handler.NewHandler(logger)
  20. serviceService := service.NewService(logger)
  21. db := repository.NewDb()
  22. repositoryRepository := repository.NewRepository(logger, db)
  23. userRepository := repository.NewUserRepository(repositoryRepository)
  24. userService := service.NewUserService(serviceService, userRepository)
  25. userHandler := handler.NewUserHandler(handlerHandler, userService)
  26. ipService := service.NewIpService(serviceService, viperViper)
  27. ipHandler := handler.NewIpHandler(handlerHandler, ipService)
  28. ipAllowlist := middleware.NewIPAllowlist(viperViper, logger)
  29. ipRateLimiter := middleware.NewIPRateLimiter(viperViper, logger)
  30. engine := server.NewServerHTTP(logger, userHandler, ipHandler, ipAllowlist, ipRateLimiter)
  31. return engine, func() {
  32. }, nil
  33. }
  34. // wire.go:
  35. var ServerSet = wire.NewSet(server.NewServerHTTP)
  36. var RepositorySet = wire.NewSet(repository.NewDb, repository.NewRepository, repository.NewUserRepository)
  37. var ServiceSet = wire.NewSet(service.NewService, service.NewUserService, service.NewIpService)
  38. var HandlerSet = wire.NewSet(handler.NewHandler, handler.NewUserHandler, handler.NewIpHandler)
  39. var MiddlewareSet = wire.NewSet(middleware.NewIPAllowlist, middleware.NewIPRateLimiter)