treasurer/internal/controller/http_controllers/common.go

47 lines
1.3 KiB
Go

package http_controllers
import (
"gitea.pena/PenaSide/treasurer/internal/errors"
"github.com/gofiber/fiber/v2"
"go.uber.org/zap"
)
type PaymentService interface {
// GetAvailablePaymentMethods(context.Context) ([]models.PaymentType, errors.Error)
}
type CommonControllerDeps struct {
Logger *zap.Logger
PaymentService PaymentService
}
type CommonController struct {
logger *zap.Logger
paymentService PaymentService
}
func NewCommonController(deps CommonControllerDeps) (*CommonController, errors.Error) {
if deps.Logger == nil {
return nil, errors.NewWithMessage("Logger in nil on <NewCommonController>", errors.ErrInvalidArgs)
}
if deps.PaymentService == nil {
return nil, errors.NewWithMessage("PaymentService in nil on <NewCommonController>", errors.ErrInvalidArgs)
}
return &CommonController{
logger: deps.Logger,
paymentService: deps.PaymentService,
}, nil
}
func (r *CommonController) GetAvailablePayments(ctx *fiber.Ctx) error {
// methods, err := receiver.paymentService.GetAvailablePaymentMethods(ctx.Request().Context())
// if err != nil {
// receiver.logger.Error("failed to get payment link on <GetAvailablePayments> of <CommonController>", zap.Error(err))
// return errors.HTTP(ctx, err)
// }
return nil
}