treasurer/internal/initialize/clients.go
2023-06-13 13:22:51 +00:00

39 lines
941 B
Go

package initialize
import (
"go.uber.org/zap"
"penahub.gitlab.yandexcloud.net/external/treasurer/internal/errors"
"penahub.gitlab.yandexcloud.net/external/treasurer/internal/interface/client"
"penahub.gitlab.yandexcloud.net/external/treasurer/internal/models"
)
type ClientsDeps struct {
Logger *zap.Logger
YoomoneyConfiguration *models.YoomomeyConfiguration
}
type Clients struct {
Callback *client.CallbackClient
Yandex *client.YandexClient
}
func NewClients(deps ClientsDeps) (*Clients, errors.Error) {
callbackClient, err := client.NewCallbackClient(client.CallbackClientDeps{Logger: deps.Logger})
if err != nil {
return nil, err
}
yandexClient, err := client.NewYandexClient(client.YandexClientDeps{
Logger: deps.Logger,
Configuration: deps.YoomoneyConfiguration,
})
if err != nil {
return nil, err
}
return &Clients{
Callback: callbackClient,
Yandex: yandexClient,
}, nil
}