Ensure that the user sets a PIN before proceeding to main
This commit is contained in:
		
							parent
							
								
									2a5f7517f4
								
							
						
					
					
						commit
						1d578209fc
					
				@ -43,7 +43,7 @@ func main() {
 | 
			
		||||
	state.FlagDebugger.Register(models.USERFLAG_INCORRECTDATEFORMAT,"INVALIDDATEFORMAT")
 | 
			
		||||
	state.FlagDebugger.Register(models.USERFLAG_INVALID_RECIPIENT,"INVALIDRECIPIENT")
 | 
			
		||||
	state.FlagDebugger.Register(models.USERFLAG_PINMISMATCH,"PINMISMATCH")
 | 
			
		||||
	state.FlagDebugger.Register(models.USERFLAG_QUERYPIN,"QUERYPIN")
 | 
			
		||||
	state.FlagDebugger.Register(models.USERFLAG_PIN_SET,"PIN_SET")
 | 
			
		||||
	state.FlagDebugger.Register(models.USERFLAG_INVALID_RECIPIENT_WITH_INVITE,"INVALIDRECIPIENT_WITH_INVITE")
 | 
			
		||||
	state.FlagDebugger.Register(models.USERFLAG_INVALID_AMOUNT,"INVALIDAMOUNT")
 | 
			
		||||
	state.FlagDebugger.Register(models.USERFLAG_UNLOCKFORUPDATE,"UNLOCKFORUPDATE")
 | 
			
		||||
 | 
			
		||||
@ -61,6 +61,13 @@ func (h *Handlers) CreateAccount(ctx context.Context, sym string, input []byte)
 | 
			
		||||
		return res, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// if an account exists, set the flag and return
 | 
			
		||||
	existingAccountData, err := h.accountFileHandler.ReadAccountData()
 | 
			
		||||
	if existingAccountData != nil {
 | 
			
		||||
		res.FlagSet = append(res.FlagSet, models.USERFLAG_ACCOUNT_CREATED)
 | 
			
		||||
		return res, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	accountResp, err := server.CreateAccount()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		res.FlagSet = append(res.FlagSet, models.USERFLAG_ACCOUNT_CREATION_FAILED)
 | 
			
		||||
@ -119,6 +126,7 @@ func (h *Handlers) VerifyPin(ctx context.Context, sym string, input []byte) (res
 | 
			
		||||
	if bytes.Equal(input, []byte(accountData["AccountPIN"])) {
 | 
			
		||||
		res.FlagSet = []uint32{models.USERFLAG_VALIDPIN}
 | 
			
		||||
		res.FlagReset = []uint32{models.USERFLAG_PINMISMATCH}
 | 
			
		||||
		res.FlagSet = append(res.FlagSet, models.USERFLAG_PIN_SET)
 | 
			
		||||
	} else {
 | 
			
		||||
		res.FlagSet = []uint32{models.USERFLAG_PINMISMATCH}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,7 @@ const (
 | 
			
		||||
	USERFLAG_INCORRECTPIN
 | 
			
		||||
	USERFLAG_UNLOCKFORUPDATE
 | 
			
		||||
	USERFLAG_INVALID_AMOUNT
 | 
			
		||||
	USERFLAG_QUERYPIN
 | 
			
		||||
	USERFLAG_PIN_SET
 | 
			
		||||
	USERFLAG_VALIDPIN
 | 
			
		||||
	USERFLAG_PINMISMATCH
 | 
			
		||||
	USERFLAG_INCORRECTDATEFORMAT
 | 
			
		||||
 | 
			
		||||
@ -3,4 +3,5 @@ CATCH account_creation_failed 22 1
 | 
			
		||||
MOUT exit 0
 | 
			
		||||
HALT
 | 
			
		||||
LOAD save_pin 0
 | 
			
		||||
INCMP quit 0
 | 
			
		||||
INCMP confirm_create_pin *
 | 
			
		||||
 | 
			
		||||
@ -2,5 +2,6 @@ CATCH select_language 8 0
 | 
			
		||||
CATCH terms 9 0
 | 
			
		||||
LOAD check_account_status 0
 | 
			
		||||
CATCH account_pending 10 1
 | 
			
		||||
CATCH create_pin 18 0
 | 
			
		||||
CATCH main 11 1
 | 
			
		||||
HALT
 | 
			
		||||
 | 
			
		||||
@ -4,4 +4,4 @@ MOUT yes 0
 | 
			
		||||
MOUT no 1
 | 
			
		||||
HALT
 | 
			
		||||
INCMP create_pin 0
 | 
			
		||||
INCMP _ *
 | 
			
		||||
INCMP quit *
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user