wire.go 1.1 KB

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