41 lines
948 B
Go
41 lines
948 B
Go
package initialize
|
|
|
|
import (
|
|
"gitea.pena/PenaSide/treasurer/internal/client"
|
|
"gitea.pena/PenaSide/treasurer/internal/errors"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
type ClientsDeps struct {
|
|
Logger *zap.Logger
|
|
Config Config
|
|
}
|
|
|
|
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,
|
|
YooMoneyStoreID: deps.Config.YooMoneyStoreID,
|
|
YooMoneySecretKey: deps.Config.YooMoneySecretKey,
|
|
YooMoneyWebhooksURL: deps.Config.YooMoneyWebhooksURL,
|
|
YooMoneyPaymentsURL: deps.Config.YooMoneyPaymentsURL,
|
|
})
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &Clients{
|
|
Callback: callbackClient,
|
|
Yandex: yandexClient,
|
|
}, nil
|
|
}
|