diff --git a/handlers/application/menuhandler.go b/handlers/application/menuhandler.go index 6012818..4644543 100644 --- a/handlers/application/menuhandler.go +++ b/handlers/application/menuhandler.go @@ -601,16 +601,20 @@ func (h *MenuHandlers) ValidateBlockedNumber(ctx context.Context, sym string, in return res, fmt.Errorf("missing session") } - if h.st.Back() { + if string(input) == "0" { res.FlagReset = append(res.FlagReset, flag_unregistered_number) return res, nil } + blockedNumber := string(input) - _, err = store.ReadEntry(ctx, blockedNumber, storedb.DATA_PUBLIC_KEY) - if !phone.IsValidPhoneNumber(blockedNumber) { + formattedNumber, err := phone.FormatPhoneNumber(blockedNumber) + if err != nil { res.FlagSet = append(res.FlagSet, flag_unregistered_number) + logg.ErrorCtxf(ctx, "Failed to format the phone number: %s", blockedNumber, "error", err) return res, nil } + + _, err = store.ReadEntry(ctx, formattedNumber, storedb.DATA_PUBLIC_KEY) if err != nil { if db.IsNotFound(err) { logg.InfoCtxf(ctx, "Invalid or unregistered number") @@ -621,7 +625,7 @@ func (h *MenuHandlers) ValidateBlockedNumber(ctx context.Context, sym string, in return res, err } } - err = store.WriteEntry(ctx, sessionId, storedb.DATA_BLOCKED_NUMBER, []byte(blockedNumber)) + err = store.WriteEntry(ctx, sessionId, storedb.DATA_BLOCKED_NUMBER, []byte(formattedNumber)) if err != nil { return res, nil }