customer/internal/initialize/controllers.go

51 lines
1.2 KiB
Go
Raw Normal View History

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(&currency.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
}