menu-traversals #108
@ -241,21 +241,24 @@ func (h *Handlers) SaveTemporaryPin(ctx context.Context, sym string, input []byt
|
|||||||
|
|
||||||
accountPIN := string(input)
|
accountPIN := string(input)
|
||||||
|
|
||||||
// Validate that the PIN is a 4-digit number
|
if accountPIN != "0" { // for the 0:Back case
|
||||||
if !isValidPIN(accountPIN) {
|
// Validate that the PIN is a 4-digit number
|
||||||
res.FlagSet = append(res.FlagSet, flag_incorrect_pin)
|
if !isValidPIN(accountPIN) {
|
||||||
|
res.FlagSet = append(res.FlagSet, flag_incorrect_pin)
|
||||||
|
return res, nil
|
||||||
|
}
|
||||||
|
store := h.userdataStore
|
||||||
|
err = store.WriteEntry(ctx, sessionId, utils.DATA_TEMPORARY_PIN, []byte(accountPIN))
|
||||||
|
if err != nil {
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
return res, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
store := h.userdataStore
|
|
||||||
err = store.WriteEntry(ctx, sessionId, utils.DATA_TEMPORARY_PIN, []byte(accountPIN))
|
|
||||||
if err != nil {
|
|
||||||
return res, err
|
|
||||||
}
|
|
||||||
return res, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (h *Handlers) GetVoucherList(ctx context.Context, sym string, input []byte) (resource.Result, error) {
|
||||||
func (h *Handlers) GetVoucherList(ctx context.Context,sym string,input []byte) (resource.Result,error){
|
|
||||||
var res resource.Result
|
var res resource.Result
|
||||||
vouchers := []string{
|
vouchers := []string{
|
||||||
"SRF",
|
"SRF",
|
||||||
@ -286,9 +289,9 @@ func (h *Handlers) GetVoucherList(ctx context.Context,sym string,input []byte) (
|
|||||||
for i, voucher := range vouchers {
|
for i, voucher := range vouchers {
|
||||||
numberedVouchers = append(numberedVouchers, fmt.Sprintf("%d:%s", i+1, voucher))
|
numberedVouchers = append(numberedVouchers, fmt.Sprintf("%d:%s", i+1, voucher))
|
||||||
}
|
}
|
||||||
res.Content = strings.Join(numberedVouchers,"\n")
|
res.Content = strings.Join(numberedVouchers, "\n")
|
||||||
|
|
||||||
return res,nil
|
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) {
|
||||||
@ -577,7 +580,7 @@ func (h *Handlers) Authorize(ctx context.Context, sym string, input []byte) (res
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return res, err
|
return res, err
|
||||||
}
|
}
|
||||||
if len(input) == 4 {
|
if len(input) > 1 {
|
||||||
if bytes.Equal(input, AccountPin) {
|
if bytes.Equal(input, AccountPin) {
|
||||||
if h.st.MatchFlag(flag_account_authorized, false) {
|
if h.st.MatchFlag(flag_account_authorized, false) {
|
||||||
res.FlagReset = append(res.FlagReset, flag_incorrect_pin)
|
res.FlagReset = append(res.FlagReset, flag_incorrect_pin)
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
LOAD authorize_account 12
|
CATCH _ flag_allow_update 0
|
||||||
RELOAD authorize_account
|
|
||||||
CATCH incorrect_pin flag_incorrect_pin 1
|
|
||||||
CATCH old_pin flag_allow_update 0
|
|
||||||
MOUT back 0
|
MOUT back 0
|
||||||
HALT
|
HALT
|
||||||
INCMP _ 0
|
INCMP _ 0
|
||||||
LOAD save_temporary_pin 6
|
LOAD save_temporary_pin 6
|
||||||
LOAD verify_new_pin 0
|
|
||||||
RELOAD save_temporary_pin
|
RELOAD save_temporary_pin
|
||||||
|
LOAD verify_new_pin 8
|
||||||
RELOAD verify_new_pin
|
RELOAD verify_new_pin
|
||||||
INCMP * confirm_pin_change
|
CATCH incorrect_pin flag_incorrect_pin 1
|
||||||
|
INCMP confirm_pin_change *
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
LOAD reset_allow_update 0
|
LOAD reset_allow_update 0
|
||||||
|
RELOAD reset_allow_update
|
||||||
MOUT back 0
|
MOUT back 0
|
||||||
HALT
|
HALT
|
||||||
RELOAD reset_allow_update
|
LOAD authorize_account 12
|
||||||
|
RELOAD authorize_account
|
||||||
|
CATCH incorrect_pin flag_incorrect_pin 1
|
||||||
INCMP _ 0
|
INCMP _ 0
|
||||||
INCMP new_pin *
|
INCMP new_pin *
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user