From c7d2f3d55953102b1467bcf04698aaecf0da73df Mon Sep 17 00:00:00 2001 From: Adithya Vardhan Date: Wed, 22 Feb 2023 15:32:01 +0530 Subject: [PATCH] feat: add network check --- controllers/payinvoice.ctrl.go | 6 +++++- controllers_v2/payinvoice.ctrl.go | 6 +++++- lib/responses/errors.go | 7 +++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/controllers/payinvoice.ctrl.go b/controllers/payinvoice.ctrl.go index f323103..d01434e 100644 --- a/controllers/payinvoice.ctrl.go +++ b/controllers/payinvoice.ctrl.go @@ -57,8 +57,12 @@ func (controller *PayInvoiceController) PayInvoice(c echo.Context) error { paymentRequest = strings.ToLower(paymentRequest) decodedPaymentRequest, err := controller.svc.DecodePaymentRequest(c.Request().Context(), paymentRequest) if err != nil { - c.Logger().Errorf("Invalid payment request user_id:%v error: %v", userID, err) sentry.CaptureException(err) + if strings.Contains(err.Error(),"invoice not for current active network") { + c.Logger().Errorf("Incorrect network user_id:%v error: %v", userID, err) + return c.JSON(http.StatusBadRequest, responses.IncorrectNetworkError) + } + c.Logger().Errorf("Invalid payment request user_id:%v error: %v", userID, err) return c.JSON(http.StatusBadRequest, responses.BadArgumentsError) } diff --git a/controllers_v2/payinvoice.ctrl.go b/controllers_v2/payinvoice.ctrl.go index 7210625..17c0125 100644 --- a/controllers_v2/payinvoice.ctrl.go +++ b/controllers_v2/payinvoice.ctrl.go @@ -66,8 +66,12 @@ func (controller *PayInvoiceController) PayInvoice(c echo.Context) error { paymentRequest = strings.ToLower(paymentRequest) decodedPaymentRequest, err := controller.svc.DecodePaymentRequest(c.Request().Context(), paymentRequest) if err != nil { - c.Logger().Errorf("Invalid payment request user_id:%v error: %v", userID, err) sentry.CaptureException(err) + if strings.Contains(err.Error(),"invoice not for current active network") { + c.Logger().Errorf("Incorrect network user_id:%v error: %v", userID, err) + return c.JSON(http.StatusBadRequest, responses.IncorrectNetworkError) + } + c.Logger().Errorf("Invalid payment request user_id:%v error: %v", userID, err) return c.JSON(http.StatusBadRequest, responses.BadArgumentsError) } diff --git a/lib/responses/errors.go b/lib/responses/errors.go index 15d9086..ebe3796 100644 --- a/lib/responses/errors.go +++ b/lib/responses/errors.go @@ -36,6 +36,13 @@ var BadAuthError = ErrorResponse{ HttpStatusCode: 401, } +var IncorrectNetworkError = ErrorResponse{ + Error: true, + Code: 2, + Message: "incorrect network", + HttpStatusCode: 400, +} + var InvoiceExpiredError = ErrorResponse{ Error: true, Code: 2,