customer/internal/initialize/services.go

53 lines
1.6 KiB
Go
Raw Normal View History

2023-05-16 01:12:07 +00:00
package initialize
import (
2023-05-17 20:27:09 +00:00
"go.uber.org/zap"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/service/account"
2023-05-19 07:21:45 +00:00
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/service/cart"
2023-05-19 04:50:40 +00:00
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/service/currency"
2023-05-23 15:33:23 +00:00
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/service/history"
2023-05-23 15:42:22 +00:00
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/service/wallet"
2023-05-16 01:12:07 +00:00
)
type ServicesDeps struct {
2023-05-17 20:27:09 +00:00
Logger *zap.Logger
2023-05-16 01:12:07 +00:00
Repositories *Repositories
Clients *Clients
}
type Services struct {
2023-05-19 04:50:40 +00:00
AccountService *account.Service
CurrencyService *currency.Service
2023-05-19 07:21:45 +00:00
CartService *cart.Service
2023-05-23 15:33:23 +00:00
HistoryService *history.Service
2023-05-23 15:42:22 +00:00
WalletService *wallet.Service
2023-05-16 01:12:07 +00:00
}
func NewServices(deps *ServicesDeps) *Services {
2023-05-17 20:27:09 +00:00
return &Services{
AccountService: account.New(&account.Deps{
Logger: deps.Logger,
Repository: deps.Repositories.AccountRepository,
AuthClient: deps.Clients.AuthClient,
2023-05-17 20:27:09 +00:00
}),
2023-05-19 04:50:40 +00:00
CurrencyService: currency.New(&currency.Deps{
Logger: deps.Logger,
Repository: deps.Repositories.CurrencyRepository,
}),
2023-05-19 07:21:45 +00:00
CartService: cart.New(&cart.Deps{
2023-05-19 09:08:15 +00:00
Logger: deps.Logger,
Repository: deps.Repositories.AccountRepository,
HubadminClient: deps.Clients.HubadminClient,
2023-05-19 07:21:45 +00:00
}),
2023-05-23 15:33:23 +00:00
HistoryService: history.New(&history.Deps{
Logger: deps.Logger,
Repository: deps.Repositories.HistoryRepository,
}),
2023-05-23 15:42:22 +00:00
WalletService: wallet.New(&wallet.Deps{
2023-05-23 16:09:06 +00:00
Logger: deps.Logger,
Repository: deps.Repositories.AccountRepository,
CurrencyClient: deps.Clients.CurrencyClient,
2023-05-23 15:42:22 +00:00
}),
2023-05-17 20:27:09 +00:00
}
2023-05-16 01:12:07 +00:00
}