2023-05-16 01:12:07 +00:00
|
|
|
package initialize
|
|
|
|
|
|
|
|
import (
|
2023-05-19 04:50:40 +00:00
|
|
|
"log"
|
|
|
|
|
2023-05-17 20:27:09 +00:00
|
|
|
"go.uber.org/zap"
|
|
|
|
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/controller/account"
|
2023-05-19 07:21:45 +00:00
|
|
|
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/controller/cart"
|
2023-05-19 04:50:40 +00:00
|
|
|
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/controller/currency"
|
2023-05-16 01:12:07 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
type ControllersDeps struct {
|
2023-05-17 20:27:09 +00:00
|
|
|
Logger *zap.Logger
|
2023-05-16 01:12:07 +00:00
|
|
|
Services *Services
|
|
|
|
}
|
|
|
|
|
|
|
|
type Controllers struct {
|
2023-05-19 04:50:40 +00:00
|
|
|
AccountController *account.Controller
|
|
|
|
CurrencyController *currency.Controller
|
2023-05-19 07:21:45 +00:00
|
|
|
CartController *cart.Controller
|
2023-05-16 01:12:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func NewControllers(deps *ControllersDeps) *Controllers {
|
2023-05-19 04:50:40 +00:00
|
|
|
if deps == nil {
|
|
|
|
log.Panicln("deps is nil on <NewControllers>")
|
|
|
|
}
|
|
|
|
|
|
|
|
if deps.Logger == nil {
|
|
|
|
log.Panicln("logger is nil on <NewControllers>")
|
|
|
|
}
|
|
|
|
|
|
|
|
if deps.Services == nil {
|
|
|
|
log.Panicln("services is nil on <NewControllers>")
|
|
|
|
}
|
|
|
|
|
2023-05-17 20:27:09 +00:00
|
|
|
return &Controllers{
|
|
|
|
AccountController: account.New(&account.Deps{
|
|
|
|
Logger: deps.Logger,
|
|
|
|
Service: deps.Services.AccountService,
|
|
|
|
}),
|
2023-05-19 04:50:40 +00:00
|
|
|
CurrencyController: currency.New(¤cy.Deps{
|
|
|
|
Logger: deps.Logger,
|
|
|
|
CurrencyService: deps.Services.CurrencyService,
|
|
|
|
}),
|
2023-05-19 07:21:45 +00:00
|
|
|
CartController: cart.New(&cart.Deps{
|
|
|
|
Logger: deps.Logger,
|
|
|
|
CartService: deps.Services.CartService,
|
|
|
|
}),
|
2023-05-17 20:27:09 +00:00
|
|
|
}
|
2023-05-16 01:12:07 +00:00
|
|
|
}
|