treasurer/internal/initialize/controllers.go

43 lines
1.1 KiB
Go
Raw Normal View History

2023-06-13 13:22:51 +00:00
package initialize
import (
"gitea.pena/PenaSide/treasurer/internal/controller/grpc"
"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
}
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,
PaymentService: deps.Services.Payment,
})
if err != nil {
return nil, err
}
return &Controllers{
YandexStatusREST: yandexStatusControllerREST,
PaymentGRPC: paymentControllerGRPC,
}, nil
}