menu-voucherlist #101
@ -233,28 +233,6 @@ func (h *Handlers) SaveTemporaryPin(ctx context.Context, sym string, input []byt
|
|||||||
return res, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetVoucherList fetches the list of vouchers and formats them
|
|
||||||
// checks whether they are stored internally before calling the API
|
|
||||||
func (h *Handlers) GetVoucherList(ctx context.Context, sym string, input []byte) (resource.Result, error) {
|
|
||||||
var res resource.Result
|
|
||||||
|
|
||||||
// check if the vouchers exist internally and if not
|
|
||||||
// fetch from the API
|
|
||||||
|
|
||||||
// Read vouchers from the store
|
|
||||||
store := h.userdataStore
|
|
||||||
prefixdb := storage.NewSubPrefixDb(store, []byte("token_holdings"))
|
|
||||||
|
|
||||||
voucherData, err := prefixdb.Get(ctx, []byte("tokens"))
|
|
||||||
if err != nil {
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
res.Content = string(voucherData)
|
|
||||||
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (h *Handlers) ConfirmPinChange(ctx context.Context, sym string, input []byte) (resource.Result, error) {
|
func (h *Handlers) ConfirmPinChange(ctx context.Context, sym string, input []byte) (resource.Result, error) {
|
||||||
var res resource.Result
|
var res resource.Result
|
||||||
sessionId, ok := ctx.Value("SessionId").(string)
|
sessionId, ok := ctx.Value("SessionId").(string)
|
||||||
@ -1057,13 +1035,13 @@ func (h *Handlers) CheckVouchers(ctx context.Context, sym string, input []byte)
|
|||||||
voucherSymbolList := strings.Join(numberedSymbols, "\n")
|
voucherSymbolList := strings.Join(numberedSymbols, "\n")
|
||||||
voucherBalanceList := strings.Join(numberedBalances, "\n")
|
voucherBalanceList := strings.Join(numberedBalances, "\n")
|
||||||
|
|
||||||
prefixdb := storage.NewSubPrefixDb(store, []byte("token_holdings"))
|
prefixdb := storage.NewSubPrefixDb(store, []byte("pfx"))
|
||||||
err = prefixdb.Put(ctx, []byte("tokens"), []byte(voucherSymbolList))
|
err = prefixdb.Put(ctx, []byte("sym"), []byte(voucherSymbolList))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return res, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
err = prefixdb.Put(ctx, []byte(voucherSymbolList), []byte(voucherBalanceList))
|
err = prefixdb.Put(ctx, []byte("bal"), []byte(voucherBalanceList))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return res, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
@ -1071,6 +1049,24 @@ func (h *Handlers) CheckVouchers(ctx context.Context, sym string, input []byte)
|
|||||||
return res, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetVoucherList fetches the list of vouchers and formats them
|
||||||
|
func (h *Handlers) GetVoucherList(ctx context.Context, sym string, input []byte) (resource.Result, error) {
|
||||||
|
var res resource.Result
|
||||||
|
|
||||||
|
// Read vouchers from the store
|
||||||
|
store := h.userdataStore
|
||||||
|
prefixdb := storage.NewSubPrefixDb(store, []byte("pfx"))
|
||||||
|
|
||||||
|
voucherData, err := prefixdb.Get(ctx, []byte("sym"))
|
||||||
|
if err != nil {
|
||||||
|
return res, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
res.Content = string(voucherData)
|
||||||
|
|
||||||
|
return res, nil
|
||||||
|
}
|
||||||
|
|
||||||
// ViewVoucher retrieves the token holding and balance from the subprefixDB
|
// ViewVoucher retrieves the token holding and balance from the subprefixDB
|
||||||
func (h *Handlers) ViewVoucher(ctx context.Context, sym string, input []byte) (resource.Result, error) {
|
func (h *Handlers) ViewVoucher(ctx context.Context, sym string, input []byte) (resource.Result, error) {
|
||||||
var res resource.Result
|
var res resource.Result
|
||||||
@ -1082,25 +1078,25 @@ func (h *Handlers) ViewVoucher(ctx context.Context, sym string, input []byte) (r
|
|||||||
return res, fmt.Errorf("missing session")
|
return res, fmt.Errorf("missing session")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flag_incorrect_voucher, _ := h.flagManager.GetFlag("flag_incorrect_voucher")
|
||||||
|
|
||||||
inputStr := string(input)
|
inputStr := string(input)
|
||||||
|
|
||||||
if inputStr == "0" || inputStr == "99" {
|
if inputStr == "0" || inputStr == "99" {
|
||||||
lash marked this conversation as resolved
Outdated
|
|||||||
|
res.FlagReset = append(res.FlagReset, flag_incorrect_voucher)
|
||||||
return res, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
flag_incorrect_voucher, _ := h.flagManager.GetFlag("flag_incorrect_voucher")
|
prefixdb := storage.NewSubPrefixDb(store, []byte("pfx"))
|
||||||
|
|
||||||
// Initialize the store and prefix database
|
|
||||||
prefixdb := storage.NewSubPrefixDb(store, []byte("token_holdings"))
|
|
||||||
|
|
||||||
// Retrieve the voucher symbol list
|
// Retrieve the voucher symbol list
|
||||||
voucherSymbolList, err := prefixdb.Get(ctx, []byte("tokens"))
|
voucherSymbolList, err := prefixdb.Get(ctx, []byte("sym"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return res, fmt.Errorf("failed to retrieve voucher symbol list: %v", err)
|
return res, fmt.Errorf("failed to retrieve voucher symbol list: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve the voucher balance list
|
// Retrieve the voucher balance list
|
||||||
voucherBalanceList, err := prefixdb.Get(ctx, []byte(voucherSymbolList))
|
voucherBalanceList, err := prefixdb.Get(ctx, []byte("bal"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return res, fmt.Errorf("failed to retrieve voucher balance list: %v", err)
|
return res, fmt.Errorf("failed to retrieve voucher balance list: %v", err)
|
||||||
}
|
}
|
||||||
@ -1134,7 +1130,7 @@ func (h *Handlers) ViewVoucher(ctx context.Context, sym string, input []byte) (r
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If a match is found, write the temporary sym , then return the symbol and balance
|
// If a match is found, write the temporary sym, then return the symbol and balance
|
||||||
if matchedSymbol != "" && matchedBalance != "" {
|
if matchedSymbol != "" && matchedBalance != "" {
|
||||||
err = store.WriteEntry(ctx, sessionId, utils.DATA_TEMPORARY_SYM, []byte(matchedSymbol))
|
err = store.WriteEntry(ctx, sessionId, utils.DATA_TEMPORARY_SYM, []byte(matchedSymbol))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -1153,8 +1149,9 @@ func (h *Handlers) ViewVoucher(ctx context.Context, sym string, input []byte) (r
|
|||||||
return res, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetVoucher retrieves the temporary voucher, sets it as the active voucher and
|
// SetVoucher retrieves the temporary sym and balance,
|
||||||
// clears the temporary voucher/sym
|
// sets them as the active data and
|
||||||
|
// clears the temporary data
|
||||||
func (h *Handlers) SetVoucher(ctx context.Context, sym string, input []byte) (resource.Result, error) {
|
func (h *Handlers) SetVoucher(ctx context.Context, sym string, input []byte) (resource.Result, error) {
|
||||||
var res resource.Result
|
var res resource.Result
|
||||||
var err error
|
var err error
|
||||||
|
Loading…
Reference in New Issue
Block a user
Now this is code smell; we don't want to use menu selectors in branching here.
But I assume it is done because it is necessary to determine whether we are selecting token or merely navigating laterally? If that is the case, I will make an issue for go-vise to provide whether lateral is indeed the case.
This was added because the vise runs the function when we're navigating, instead of prioritizing the INCMP and navigate to the specified node