package rest import ( "github.com/labstack/echo/v4" "go.uber.org/zap" "gitea.pena/PenaSide/treasurer/internal/errors" ) 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 ", errors.ErrInvalidArgs) } if deps.PaymentService == nil { return nil, errors.NewWithMessage("PaymentService in nil on ", errors.ErrInvalidArgs) } return &CommonController{ logger: deps.Logger, paymentService: deps.PaymentService, }, nil } func (receiver *CommonController) GetAvailablePayments(ctx echo.Context) error { // methods, err := receiver.paymentService.GetAvailablePaymentMethods(ctx.Request().Context()) // if err != nil { // receiver.logger.Error("failed to get payment link on of ", zap.Error(err)) // return errors.HTTP(ctx, err) // } return nil }