treasurer/internal/initialize/controllers.go

48 lines
1.3 KiB
Go
Raw Normal View History

2023-06-13 13:22:51 +00:00
package initialize
import (
"gitea.pena/PenaSide/treasurer/internal/controller/grpc"
2025-06-11 15:23:43 +00:00
"gitea.pena/PenaSide/treasurer/internal/controller/http_controllers/payment"
"gitea.pena/PenaSide/treasurer/internal/controller/http_controllers/yandex"
2024-12-16 13:47:40 +00:00
"gitea.pena/PenaSide/treasurer/internal/errors"
"go.uber.org/zap"
2023-06-13 13:22:51 +00:00
)
type ControllersDeps struct {
Logger *zap.Logger
Services Services
}
type Controllers struct {
YandexStatusREST *yandex.YandexStatusController
2023-06-13 13:22:51 +00:00
PaymentGRPC *grpc.PaymentController
2025-06-11 15:23:43 +00:00
PaymentRest *payment.PaymentController
2023-06-13 13:22:51 +00:00
}
func NewControllers(deps ControllersDeps) (*Controllers, errors.Error) {
yandexStatusControllerREST, err := yandex.NewYandexStatusController(yandex.YandexStatusControllerDeps{
2023-06-13 13:22:51 +00:00
Logger: deps.Logger,
StatusService: deps.Services.Status,
CallbackService: deps.Services.Callback,
})
if err != nil {
return nil, err
}
paymentControllerGRPC, err := grpc.NewPaymentController(grpc.PaymentControllerDeps{
Logger: deps.Logger,
PaymentProviders: deps.Services.PaymentProviders,
})
if err != nil {
return nil, err
}
2025-06-11 15:23:43 +00:00
paymentControllerRest := payment.NewPaymentController(deps.Services.PaymentProviders)
2023-06-13 13:22:51 +00:00
return &Controllers{
YandexStatusREST: yandexStatusControllerREST,
PaymentGRPC: paymentControllerGRPC,
2025-06-11 15:23:43 +00:00
PaymentRest: paymentControllerRest,
2023-06-13 13:22:51 +00:00
}, nil
}