block-accounting/backend/internal/factory/wire_gen.go

76 lines
1.8 KiB
Go

// 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/interface/rest"
"github.com/emochka2007/block-accounting/internal/interface/rest/controllers"
"github.com/emochka2007/block-accounting/internal/interface/rest/presenters"
"github.com/emochka2007/block-accounting/internal/pkg/config"
"github.com/emochka2007/block-accounting/internal/pkg/logger"
"github.com/emochka2007/block-accounting/internal/service"
"log/slog"
"os"
)
// Injectors from service.go:
func ProvideService(c config.Config) (service.Service, func(), error) {
logger := provideLogger(c)
rootController := provideControllers(logger)
server := provideRestServer(logger, rootController, c)
serviceService := service.NewService(logger, server)
return serviceService, func() {
}, nil
}
// service.go:
func provideLogger(c config.Config) *slog.Logger {
lb := new(logger.LoggerBuilder).WithLevel(logger.MapLevel(c.Common.LogLevel)).WithWriter(os.Stdout)
if c.Common.LogLocal {
lb.Local()
}
if c.Common.LogFile != "" {
logFile, err := os.Open(c.Common.LogFile)
if err != nil {
panic(err)
}
lb.WithWriter(logFile)
}
if c.Common.LogAddSource {
lb.WithSource()
}
return lb.Build()
}
func provideControllers(
log *slog.Logger,
) *controllers.RootController {
return &controllers.RootController{
Ping: controllers.NewPingController(log.WithGroup("ping-controller")),
Auth: controllers.NewAuthController(
log.WithGroup("auth-controller"), presenters.NewAuthPresenter(),
),
}
}
func provideRestServer(
log *slog.Logger, controllers2 *controllers.RootController,
c config.Config,
) *rest.Server {
return rest.NewServer(
log.WithGroup("rest"),
c.Rest, controllers2,
)
}