// Code generated by Wire. DO NOT EDIT. //go:generate go run github.com/google/wire/cmd/wire //go:build !wireinject // +build !wireinject package factory import ( "github.com/emochka2007/block-accounting/internal/pkg/config" "github.com/emochka2007/block-accounting/internal/service" "github.com/emochka2007/block-accounting/internal/usecase/repository" ) // Injectors from wire.go: func ProvideService(c config.Config) (service.Service, func(), error) { logger := provideLogger(c) db, cleanup, err := repository.ProvideDatabaseConnection(c) if err != nil { return nil, nil, err } usersRepository := provideUsersRepository(db) usersInteractor := provideUsersInteractor(logger, usersRepository) jwtInteractor := provideJWTInteractor(c, usersInteractor) authPresenter := provideAuthPresenter(jwtInteractor) authController := provideAuthController(logger, usersInteractor, authPresenter, jwtInteractor) organizationsRepository := provideOrganizationsRepository(db) organizationsInteractor := provideOrganizationsInteractor(logger, organizationsRepository) organizationsPresenter := provideOrganizationsPresenter() organizationsController := provideOrganizationsController(logger, organizationsInteractor, organizationsPresenter) rootController := provideControllers(logger, authController, organizationsController) server := provideRestServer(logger, rootController, c, jwtInteractor) serviceService := service.NewService(logger, server) return serviceService, func() { cleanup() }, nil }