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, }), } }