wire.go 1.0 KB

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