customer/internal/initialize/clients.go

79 lines
2.5 KiB
Go
Raw Normal View History

2023-06-22 09:36:43 +00:00
package initialize
import (
2024-11-18 07:23:41 +00:00
"gitea.pena/PenaSide/customer/internal/interface/client"
"gitea.pena/PenaSide/customer/internal/models"
2024-11-26 15:28:42 +00:00
"go.uber.org/zap"
"gopkg.in/tucnak/telebot.v2"
2023-06-22 09:36:43 +00:00
)
type ClientsDeps struct {
2024-11-26 15:28:42 +00:00
Logger *zap.Logger
AuthURL string
HubadminURL string
CurrencyURL string
DiscountServiceURL string
PaymentServiceURL string
VerificationURL string
TemplategenURL string
MailClient models.MailClientCfg
CodewordServiceHost string
NotificationRsPayChannel int64
Notifier *telebot.Bot
2023-06-22 09:36:43 +00:00
}
type Clients struct {
AuthClient *client.AuthClient
HubadminClient *client.HubadminClient
CurrencyClient *client.CurrencyClient
DiscountClient *client.DiscountClient
PaymentClient *client.PaymentClient
VerificationClient *client.VerificationClient
TemplateClient *client.TemplateClient
2024-02-05 11:13:36 +00:00
MailClient *client.MailClient
CodewordClient *client.CodewordClient
TelegramClient *client.TelegramClient
2023-06-22 09:36:43 +00:00
}
func NewClients(deps ClientsDeps) *Clients {
return &Clients{
AuthClient: client.NewAuthClient(client.AuthClientDeps{
Logger: deps.Logger,
2024-11-26 15:28:42 +00:00
URL: deps.AuthURL,
2023-06-22 09:36:43 +00:00
}),
HubadminClient: client.NewHubadminClient(client.HubadminClientDeps{
Logger: deps.Logger,
2024-11-26 15:28:42 +00:00
URL: deps.HubadminURL,
2023-06-22 09:36:43 +00:00
}),
CurrencyClient: client.NewCurrencyClient(client.CurrencyClientDeps{
Logger: deps.Logger,
2024-11-26 15:28:42 +00:00
URL: deps.CurrencyURL,
2023-06-22 09:36:43 +00:00
}),
DiscountClient: client.NewDiscountClient(client.DiscountClientDeps{
Logger: deps.Logger,
2024-11-26 15:28:42 +00:00
DiscountServiceHost: deps.DiscountServiceURL,
2023-06-22 09:36:43 +00:00
}),
PaymentClient: client.NewPaymentClient(client.PaymentClientDeps{
Logger: deps.Logger,
2024-11-26 15:28:42 +00:00
PaymentServiceHost: deps.PaymentServiceURL,
2023-06-22 09:36:43 +00:00
}),
VerificationClient: client.NewVerificationClient(client.VerificationClientDeps{
Logger: deps.Logger,
2024-11-26 15:28:42 +00:00
URL: deps.VerificationURL,
}),
TemplateClient: client.NewTemplateClient(client.TemplateClientDeps{
Logger: deps.Logger,
2024-11-26 15:28:42 +00:00
URL: deps.TemplategenURL,
2024-02-05 11:13:36 +00:00
}),
2024-11-26 15:28:42 +00:00
MailClient: client.NewMailClient(deps.MailClient, deps.Logger),
CodewordClient: client.NewCodewordClient(client.CodewordClientDeps{
Logger: deps.Logger,
2024-11-26 15:28:42 +00:00
CodewordServiceHost: deps.CodewordServiceHost,
}),
TelegramClient: client.NewTelegramClient(client.TelegramClientDeps{
Notifier: deps.Notifier,
NotifierPayChannel: deps.NotificationRsPayChannel,
}),
2023-06-22 09:36:43 +00:00
}
}