treasurer/internal/initialize/clients.go
2024-12-16 16:47:40 +03:00

39 lines
881 B
Go

package initialize
import (
"go.uber.org/zap"
"gitea.pena/PenaSide/treasurer/internal/errors"
"gitea.pena/PenaSide/treasurer/internal/interface/client"
"gitea.pena/PenaSide/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
}