customer/internal/initialize/services.go
2023-05-18 22:43:43 +03:00

43 lines
764 B
Go

package initialize
import (
"go.uber.org/zap"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/service/account"
)
type ServicesDeps struct {
Logger *zap.Logger
Repositories *Repositories
Clients *Clients
}
type Services struct {
AccountService *account.Service
}
func NewServices(deps *ServicesDeps) *Services {
if deps == nil {
panic("deps is nil")
}
if deps.Logger == nil {
panic("logger is nil")
}
if deps.Repositories == nil {
panic("repositories is nil")
}
if deps.Clients == nil {
panic("clients is nil")
}
return &Services{
AccountService: account.New(&account.Deps{
Logger: deps.Logger,
Repository: deps.Repositories.AccountRepository,
AuthClient: deps.Clients.AuthClient,
}),
}
}