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 }