wire.go 768 B

123456789101112131415161718192021222324252627282930313233343536
  1. //go:build wireinject
  2. // +build wireinject
  3. package wire
  4. import (
  5. "github.com/go-nunu/nunu-layout-advanced/internal/repository"
  6. "github.com/go-nunu/nunu-layout-advanced/internal/server"
  7. "github.com/go-nunu/nunu-layout-advanced/pkg/app"
  8. "github.com/go-nunu/nunu-layout-advanced/pkg/log"
  9. "github.com/google/wire"
  10. "github.com/spf13/viper"
  11. )
  12. var repositorySet = wire.NewSet(
  13. repository.NewDB,
  14. repository.NewRedis,
  15. repository.NewRepository,
  16. repository.NewUserRepository,
  17. )
  18. // build App
  19. func newApp(migrate *server.Migrate) *app.App {
  20. return app.NewApp(
  21. app.WithServer(migrate),
  22. app.WithName("demo-migrate"),
  23. )
  24. }
  25. func NewWire(*viper.Viper, *log.Logger) (*app.App, func(), error) {
  26. panic(wire.Build(
  27. repositorySet,
  28. server.NewMigrate,
  29. newApp,
  30. ))
  31. }