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" {
|
||||||
|
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