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, }), } }