generated from PenaSide/GolangTemplate
38 lines
1.2 KiB
Go
38 lines
1.2 KiB
Go
package utils
|
|
|
|
import (
|
|
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/errors"
|
|
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models"
|
|
)
|
|
|
|
func ValidateGetPaymentLinkBody(request *models.GetPaymentLinkBody) errors.Error {
|
|
if request == nil {
|
|
return errors.NewWithMessage("request body is empty", errors.ErrInvalidArgs)
|
|
}
|
|
|
|
switch request.Type {
|
|
case models.PaymentTypeInstallments, models.PaymentTypeSBP, models.PaymentTypeTinkoff, models.PaymentTypeYoomoney:
|
|
return nil
|
|
case models.PaymentTypeQiwi, models.PaymentTypeSberPay, models.PaymentTypeMobile, models.PaymentTypeCash:
|
|
return validateMobilePayment(request)
|
|
case models.PaymentTypeAlfabank:
|
|
return validateLoginPayment(request)
|
|
case models.PaymentTypeBankCard:
|
|
return validateBankcardPayment(request)
|
|
default:
|
|
return errors.NewWithMessage("unknown payment type", errors.ErrInvalidArgs)
|
|
}
|
|
}
|
|
|
|
func validateMobilePayment(request *models.GetPaymentLinkBody) errors.Error {
|
|
return nil
|
|
}
|
|
|
|
func validateLoginPayment(request *models.GetPaymentLinkBody) errors.Error {
|
|
return nil
|
|
}
|
|
|
|
func validateBankcardPayment(request *models.GetPaymentLinkBody) errors.Error {
|
|
return nil
|
|
}
|