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/broker/tariff"
|
|
|
|
"gitea.pena/PenaSide/customer/internal/interface/controller/grpc/customer"
|
|
|
|
"gitea.pena/PenaSide/customer/internal/interface/controller/grpc/payment"
|
|
|
|
"gitea.pena/PenaSide/customer/internal/interface/controller/http"
|
|
|
|
"gitea.pena/PenaSide/customer/internal/interface/controller/http/account_admin"
|
|
|
|
"gitea.pena/PenaSide/customer/internal/interface/controller/http/account_client"
|
|
|
|
"gitea.pena/PenaSide/customer/internal/interface/controller/http/cart_client"
|
|
|
|
"gitea.pena/PenaSide/customer/internal/interface/controller/http/currency_admin"
|
|
|
|
"gitea.pena/PenaSide/customer/internal/interface/controller/http/currency_client"
|
|
|
|
"gitea.pena/PenaSide/customer/internal/interface/controller/http/history_admin"
|
|
|
|
"gitea.pena/PenaSide/customer/internal/interface/controller/http/history_client"
|
|
|
|
"gitea.pena/PenaSide/customer/internal/interface/controller/http/wallet_client"
|
2024-11-26 15:28:42 +00:00
|
|
|
"github.com/themakers/hlog"
|
|
|
|
"go.uber.org/zap"
|
|
|
|
qutils "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/utils"
|
2023-06-22 09:36:43 +00:00
|
|
|
)
|
|
|
|
|
2024-05-21 13:50:26 +00:00
|
|
|
type RpcControllersDeps struct {
|
2024-05-26 13:05:49 +00:00
|
|
|
Logger *zap.Logger
|
|
|
|
Services *Services
|
|
|
|
Repositories *Repositories
|
2024-06-10 10:16:24 +00:00
|
|
|
HLogger hlog.Logger
|
2023-06-22 09:36:43 +00:00
|
|
|
}
|
|
|
|
|
2024-05-21 13:50:26 +00:00
|
|
|
type RpcControllers struct {
|
2023-06-22 09:36:43 +00:00
|
|
|
PaymentController *payment.Controller
|
|
|
|
CustomerController *customer.Controller
|
|
|
|
}
|
|
|
|
|
2024-05-21 13:50:26 +00:00
|
|
|
func NewRpcControllers(deps RpcControllersDeps) *RpcControllers {
|
|
|
|
return &RpcControllers{
|
2023-06-22 09:36:43 +00:00
|
|
|
PaymentController: payment.New(payment.Deps{
|
|
|
|
Logger: deps.Logger,
|
|
|
|
PaymentCallbackService: deps.Services.PaymentCallbackService,
|
2024-05-23 15:32:44 +00:00
|
|
|
HLogger: deps.HLogger,
|
2023-06-22 09:36:43 +00:00
|
|
|
}),
|
|
|
|
CustomerController: customer.New(customer.Deps{
|
|
|
|
Logger: deps.Logger,
|
|
|
|
HistoryService: deps.Services.HistoryService,
|
2024-05-26 13:05:49 +00:00
|
|
|
AccountRepo: deps.Repositories.AccountRepository,
|
2023-06-22 09:36:43 +00:00
|
|
|
}),
|
|
|
|
}
|
|
|
|
}
|
2024-05-21 13:50:26 +00:00
|
|
|
|
|
|
|
type HttpControllersDeps struct {
|
|
|
|
Encrypt *qutils.Encrypt
|
|
|
|
Producer *tariff.Producer
|
2024-11-26 15:28:42 +00:00
|
|
|
GRPCDomain string
|
2024-05-21 13:50:26 +00:00
|
|
|
MiddleWare *http.MiddleWare
|
|
|
|
Logger *zap.Logger
|
|
|
|
Repositories *Repositories
|
|
|
|
Clients *Clients
|
|
|
|
}
|
|
|
|
|
|
|
|
type HttpController struct {
|
2024-07-12 09:37:56 +00:00
|
|
|
AccountClientController *account_client.AccountController
|
|
|
|
AccountAdminController *account_admin.AccountInternalController
|
|
|
|
CartClientController *cart_client.CartController
|
|
|
|
CurrencyClientController *currency_client.CurrencyController
|
|
|
|
CurrencyAdminController *currency_admin.CurrencyController
|
|
|
|
HistoryAdminController *history_admin.HistoryController
|
|
|
|
HistoryClientController *history_client.HistoryController
|
|
|
|
WalletClientController *wallet_client.WalletController
|
2024-05-21 13:50:26 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func NewHttpControllers(deps HttpControllersDeps) *HttpController {
|
|
|
|
return &HttpController{
|
2024-07-12 09:37:56 +00:00
|
|
|
AccountClientController: account_client.NewAccountController(account_client.Deps{
|
2024-05-21 13:50:26 +00:00
|
|
|
MiddleWare: deps.MiddleWare,
|
|
|
|
AccountRepo: deps.Repositories.AccountRepository,
|
|
|
|
Logger: deps.Logger,
|
|
|
|
Encrypt: deps.Encrypt,
|
|
|
|
AuthClient: deps.Clients.AuthClient,
|
|
|
|
}),
|
2024-07-12 09:37:56 +00:00
|
|
|
AccountAdminController: account_admin.NewAccountInternalController(
|
|
|
|
account_admin.Deps{
|
2024-06-10 10:16:24 +00:00
|
|
|
MiddleWare: deps.MiddleWare,
|
|
|
|
AccountRepo: deps.Repositories.AccountRepository,
|
|
|
|
Logger: deps.Logger,
|
|
|
|
}),
|
2024-07-12 09:37:56 +00:00
|
|
|
CartClientController: cart_client.NewCartController(cart_client.Deps{
|
2024-05-21 13:50:26 +00:00
|
|
|
MiddleWare: deps.MiddleWare,
|
|
|
|
Logger: deps.Logger,
|
|
|
|
AccountRepo: deps.Repositories.AccountRepository,
|
|
|
|
HistoryRepo: deps.Repositories.HistoryRepository,
|
|
|
|
HubAdminClient: deps.Clients.HubadminClient,
|
|
|
|
DiscountClient: deps.Clients.DiscountClient,
|
|
|
|
CurrencyClient: deps.Clients.CurrencyClient,
|
|
|
|
Producer: deps.Producer,
|
|
|
|
}),
|
2024-07-12 09:37:56 +00:00
|
|
|
CurrencyClientController: currency_client.NewCurrencyController(currency_client.Deps{
|
|
|
|
CurrencyRepo: deps.Repositories.CurrencyRepository,
|
|
|
|
MiddleWare: deps.MiddleWare,
|
|
|
|
Logger: deps.Logger,
|
|
|
|
}),
|
|
|
|
CurrencyAdminController: currency_admin.NewCurrencyController(currency_admin.Deps{
|
|
|
|
CurrencyRepo: deps.Repositories.CurrencyRepository,
|
|
|
|
MiddleWare: deps.MiddleWare,
|
|
|
|
Logger: deps.Logger,
|
|
|
|
}),
|
|
|
|
HistoryAdminController: history_admin.NewHistoryController(history_admin.Deps{
|
2024-05-21 13:50:26 +00:00
|
|
|
MiddleWare: deps.MiddleWare,
|
|
|
|
HistoryRepo: deps.Repositories.HistoryRepository,
|
|
|
|
AccountRepo: deps.Repositories.AccountRepository,
|
|
|
|
VerifyClient: deps.Clients.VerificationClient,
|
|
|
|
AuthClient: deps.Clients.AuthClient,
|
|
|
|
TemplateClient: deps.Clients.TemplateClient,
|
|
|
|
CodewordClient: deps.Clients.CodewordClient,
|
|
|
|
Logger: deps.Logger,
|
|
|
|
}),
|
2024-07-12 09:37:56 +00:00
|
|
|
HistoryClientController: history_client.NewHistoryController(history_client.Deps{
|
|
|
|
MiddleWare: deps.MiddleWare,
|
|
|
|
HistoryRepo: deps.Repositories.HistoryRepository,
|
|
|
|
AccountRepo: deps.Repositories.AccountRepository,
|
|
|
|
VerifyClient: deps.Clients.VerificationClient,
|
|
|
|
AuthClient: deps.Clients.AuthClient,
|
|
|
|
TemplateClient: deps.Clients.TemplateClient,
|
|
|
|
CodewordClient: deps.Clients.CodewordClient,
|
|
|
|
Logger: deps.Logger,
|
|
|
|
}),
|
|
|
|
WalletClientController: wallet_client.NewWalletController(wallet_client.Deps{
|
2024-05-21 13:50:26 +00:00
|
|
|
MiddleWare: deps.MiddleWare,
|
|
|
|
AuthClient: deps.Clients.AuthClient,
|
|
|
|
PaymentClient: deps.Clients.PaymentClient,
|
2024-11-26 15:28:42 +00:00
|
|
|
GRPCDomain: deps.GRPCDomain,
|
2024-05-21 13:50:26 +00:00
|
|
|
AccountRepo: deps.Repositories.AccountRepository,
|
|
|
|
CurrencyClient: deps.Clients.CurrencyClient,
|
|
|
|
VerifyClient: deps.Clients.VerificationClient,
|
|
|
|
MailClient: deps.Clients.MailClient,
|
|
|
|
Logger: deps.Logger,
|
2024-10-20 13:40:30 +00:00
|
|
|
TelegramClient: deps.Clients.TelegramClient,
|
2024-05-21 13:50:26 +00:00
|
|
|
}),
|
|
|
|
}
|
|
|
|
}
|