package initialize import ( "log" "go.uber.org/zap" "penahub.gitlab.yandexcloud.net/pena-services/customer/internal/controller/account" "penahub.gitlab.yandexcloud.net/pena-services/customer/internal/controller/currency" ) type ControllersDeps struct { Logger *zap.Logger Services *Services } type Controllers struct { AccountController *account.Controller CurrencyController *currency.Controller } func NewControllers(deps *ControllersDeps) *Controllers { if deps == nil { log.Panicln("deps is nil on ") } if deps.Logger == nil { log.Panicln("logger is nil on ") } if deps.Services == nil { log.Panicln("services is nil on ") } return &Controllers{ AccountController: account.New(&account.Deps{ Logger: deps.Logger, Service: deps.Services.AccountService, }), CurrencyController: currency.New(¤cy.Deps{ Logger: deps.Logger, CurrencyService: deps.Services.CurrencyService, }), } }