customer/internal/initialize/clients.go
2023-05-30 14:33:57 +03:00

44 lines
1.2 KiB
Go

package initialize
import (
"go.uber.org/zap"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/client"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models"
)
type ClientsDeps struct {
Logger *zap.Logger
AuthURL *models.AuthMicroserviceURL
HubadminURL *models.HubadminMicroserviceURL
CurrencyURL *models.CurrencyMicroserviceURL
DiscountHost string
}
type Clients struct {
AuthClient *client.AuthClient
HubadminClient *client.HubadminClient
CurrencyClient *client.CurrencyClient
DiscountClient *client.DiscountClient
}
func NewClients(deps *ClientsDeps) *Clients {
return &Clients{
AuthClient: client.NewAuthClient(&client.AuthClientDeps{
Logger: deps.Logger,
URLs: deps.AuthURL,
}),
HubadminClient: client.NewHubadminClient(&client.HubadminClientDeps{
Logger: deps.Logger,
URLs: deps.HubadminURL,
}),
CurrencyClient: client.NewCurrencyClient(&client.CurrencyClientDeps{
Logger: deps.Logger,
URLs: deps.CurrencyURL,
}),
DiscountClient: client.NewDiscountClient(&client.DiscountClientDeps{
Logger: deps.Logger,
DiscountServiceHost: deps.DiscountHost,
}),
}
}