diff --git a/handlers/application/menuhandler.go b/handlers/application/menuhandler.go index a8f7248..4013edb 100644 --- a/handlers/application/menuhandler.go +++ b/handlers/application/menuhandler.go @@ -193,8 +193,8 @@ func (h *MenuHandlers) createAccountNoExist(ctx context.Context, sessionId strin publicKey := r.PublicKey data := map[storedb.DataTyp]string{ - storedb.DATA_TRACKING_ID: trackingId, - storedb.DATA_PUBLIC_KEY: publicKey, + storedb.DATA_TRACKING_ID: trackingId, + storedb.DATA_PUBLIC_KEY: publicKey, storedb.DATA_ACCOUNT_ALIAS: "", } store := h.userdataStore @@ -2081,25 +2081,44 @@ func (h *MenuHandlers) CheckVouchers(ctx context.Context, sym string, input []by storedb.DATA_VOUCHER_ADDRESSES: data.Addresses, } + // Write data entries for key, value := range dataMap { - if err := h.prefixDb.Put(ctx, []byte(storedb.ToBytes(key)), []byte(value)); err != nil { - return res, nil + if err := userStore.WriteEntry(ctx, sessionId, key, []byte(value)); err != nil { + logg.ErrorCtxf(ctx, "Failed to write data entry for sessionId: %s", sessionId, "key", key, "error", err) + continue } } + // for key, value := range dataMap { + // if err := h.prefixDb.Put(ctx, []byte(storedb.ToBytes(key)), []byte(value)); err != nil { + // return res, nil + // } + // } + return res, nil } // GetVoucherList fetches the list of vouchers and formats them. func (h *MenuHandlers) GetVoucherList(ctx context.Context, sym string, input []byte) (resource.Result, error) { var res resource.Result + sessionId, ok := ctx.Value("SessionId").(string) + if !ok { + return res, fmt.Errorf("missing session") + } + + userStore := h.userdataStore // Read vouchers from the store - voucherData, err := h.prefixDb.Get(ctx, storedb.ToBytes(storedb.DATA_VOUCHER_SYMBOLS)) + voucherData, err := userStore.ReadEntry(ctx, sessionId, storedb.DATA_VOUCHER_SYMBOLS) if err != nil { - logg.ErrorCtxf(ctx, "Failed to read the voucherData from prefixDb", "error", err) + logg.ErrorCtxf(ctx, "failed to read voucherData entires with", "key", storedb.DATA_VOUCHER_SYMBOLS, "error", err) return res, err } + // voucherData, err := h.prefixDb.Get(ctx, storedb.ToBytes(storedb.DATA_VOUCHER_SYMBOLS)) + // if err != nil { + // logg.ErrorCtxf(ctx, "Failed to read the voucherData from prefixDb", "error", err) + // return res, err + // } formattedData := h.ReplaceSeparatorFunc(string(voucherData)) @@ -2129,7 +2148,7 @@ func (h *MenuHandlers) ViewVoucher(ctx context.Context, sym string, input []byte return res, nil } - metadata, err := store.GetVoucherData(ctx, h.prefixDb, inputStr) + metadata, err := store.GetVoucherData(ctx, h.userdataStore, sessionId, inputStr) if err != nil { return res, fmt.Errorf("failed to retrieve voucher data: %v", err) } diff --git a/store/vouchers.go b/store/vouchers.go index 0569a60..94ebc5a 100644 --- a/store/vouchers.go +++ b/store/vouchers.go @@ -68,7 +68,7 @@ func ScaleDownBalance(balance, decimals string) string { } // GetVoucherData retrieves and matches voucher data -func GetVoucherData(ctx context.Context, db storedb.PrefixDb, input string) (*dataserviceapi.TokenHoldings, error) { +func GetVoucherData(ctx context.Context, store DataStore, sessionId string, input string) (*dataserviceapi.TokenHoldings, error) { keys := []storedb.DataTyp{ storedb.DATA_VOUCHER_SYMBOLS, storedb.DATA_VOUCHER_BALANCES, @@ -78,9 +78,9 @@ func GetVoucherData(ctx context.Context, db storedb.PrefixDb, input string) (*da data := make(map[storedb.DataTyp]string) for _, key := range keys { - value, err := db.Get(ctx, storedb.ToBytes(key)) + value, err := store.ReadEntry(ctx, sessionId, key) if err != nil { - return nil, fmt.Errorf("failed to get prefix key %x: %v", storedb.ToBytes(key), err) + return nil, fmt.Errorf("failed to get data key %x: %v", key, err) } data[key] = string(value) }