customer/internal/initialize/clients.go
2023-05-23 19:09:06 +03:00

38 lines
963 B
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
}
type Clients struct {
AuthClient *client.AuthClient
HubadminClient *client.HubadminClient
CurrencyClient *client.CurrencyClient
}
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,
}),
}
}