From 6a36bc43b5cb88a1eac31d074d5402436b8933bd Mon Sep 17 00:00:00 2001 From: Carlosokumu Date: Tue, 15 Oct 2024 16:31:15 +0300 Subject: [PATCH] add check for api call failure --- internal/handlers/ussd/menuhandler.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/handlers/ussd/menuhandler.go b/internal/handlers/ussd/menuhandler.go index 30baf93..6059dd4 100644 --- a/internal/handlers/ussd/menuhandler.go +++ b/internal/handlers/ussd/menuhandler.go @@ -829,6 +829,7 @@ func (h *Handlers) ValidateAmount(ctx context.Context, sym string, input []byte) } flag_invalid_amount, _ := h.flagManager.GetFlag("flag_invalid_amount") + flag_api_error, _ := h.flagManager.GetFlag("flag_api_call_error") store := h.userdataStore publicKey, _ := store.ReadEntry(ctx, sessionId, utils.DATA_PUBLIC_KEY) @@ -838,10 +839,15 @@ func (h *Handlers) ValidateAmount(ctx context.Context, sym string, input []byte) balanceRes, err := h.accountService.CheckBalance(string(publicKey)) balanceStr := balanceRes.Result.Balance + if !balanceRes.Ok { + res.FlagSet = append(res.FlagSet, flag_api_error) + return res, nil + } if err != nil { return res, err } res.Content = balanceStr + res.FlagReset = append(res.FlagReset, flag_api_error) // Parse the balance balanceParts := strings.Split(balanceStr, " ")