forked from grassrootseconomics/visedriver
		
	Initiate a transaction once a valid PIN is provided
This commit is contained in:
		
							parent
							
								
									6e0ea07cde
								
							
						
					
					
						commit
						7b33f2f644
					
				| @ -101,6 +101,7 @@ func main() { | ||||
| 	rfs.AddLocalFunc("reset_transaction_amount", ussdHandlers.ResetTransactionAmount) | ||||
| 	rfs.AddLocalFunc("get_recipient", ussdHandlers.GetRecipient) | ||||
| 	rfs.AddLocalFunc("get_sender", ussdHandlers.GetSender) | ||||
| 	rfs.AddLocalFunc("get_amount", ussdHandlers.GetAmount) | ||||
| 	rfs.AddLocalFunc("reset_incorrect", ussdHandlers.ResetIncorrectPin) | ||||
| 	rfs.AddLocalFunc("save_firstname", ussdHandlers.SaveFirstname) | ||||
| 	rfs.AddLocalFunc("save_familyname", ussdHandlers.SaveFamilyname) | ||||
| @ -115,6 +116,7 @@ func main() { | ||||
| 	rfs.AddLocalFunc("verify_yob", ussdHandlers.VerifyYob) | ||||
| 	rfs.AddLocalFunc("reset_incorrect_date_format", ussdHandlers.ResetIncorrectYob) | ||||
| 	rfs.AddLocalFunc("set_reset_single_edit", ussdHandlers.SetResetSingleEdit) | ||||
| 	rfs.AddLocalFunc("initiate_transaction", ussdHandlers.InitiateTransaction) | ||||
| 
 | ||||
| 	cont, err := en.Init(ctx) | ||||
| 	en.SetDebugger(engine.NewSimpleDebug(nil)) | ||||
|  | ||||
| @ -494,8 +494,9 @@ func (h *Handlers) TransactionReset(ctx context.Context, sym string, input []byt | ||||
| 		return res, err | ||||
| 	} | ||||
| 
 | ||||
| 	// reset the recipient
 | ||||
| 	// reset the transaction
 | ||||
| 	accountData["Recipient"] = "" | ||||
| 	accountData["Amount"] = "" | ||||
| 
 | ||||
| 	err = h.accountFileHandler.WriteAccountData(accountData) | ||||
| 	if err != nil { | ||||
| @ -662,6 +663,21 @@ func (h *Handlers) GetSender(ctx context.Context, sym string, input []byte) (res | ||||
| 	return res, nil | ||||
| } | ||||
| 
 | ||||
| // GetAmount retrieves the amount from a JSON data file.
 | ||||
| func (h *Handlers) GetAmount(ctx context.Context, sym string, input []byte) (resource.Result, error) { | ||||
| 	res := resource.Result{} | ||||
| 
 | ||||
| 	accountData, err := h.accountFileHandler.ReadAccountData() | ||||
| 	if err != nil { | ||||
| 		return res, err | ||||
| 	} | ||||
| 
 | ||||
| 	res.Content = accountData["Amount"] | ||||
| 
 | ||||
| 	return res, nil | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| func (h *Handlers) QuitWithBalance(ctx context.Context, sym string, input []byte) (resource.Result, error) { | ||||
| 	res := resource.Result{} | ||||
| 
 | ||||
| @ -677,3 +693,13 @@ func (h *Handlers) QuitWithBalance(ctx context.Context, sym string, input []byte | ||||
| 	res.FlagReset = append(res.FlagReset, models.USERFLAG_ACCOUNT_UNLOCKED) | ||||
| 	return res, nil | ||||
| } | ||||
| 
 | ||||
| func (h *Handlers) InitiateTransaction(ctx context.Context, sym string, input []byte) (resource.Result, error) { | ||||
| 	res := resource.Result{} | ||||
| 
 | ||||
| 	// TODO
 | ||||
| 	// Use the amount, recipient and sender to call the API and initialize the transaction
 | ||||
| 
 | ||||
| 	res.FlagReset = append(res.FlagReset, models.USERFLAG_ACCOUNT_UNLOCKED) | ||||
| 	return res, nil | ||||
| } | ||||
|  | ||||
							
								
								
									
										1
									
								
								services/registration/transaction_initiated
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								services/registration/transaction_initiated
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| Your request has been sent. {{.get_recipient}} will receive {{.get_amount}} from {{.get_sender}}. | ||||
							
								
								
									
										12
									
								
								services/registration/transaction_initiated.vis
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								services/registration/transaction_initiated.vis
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| LOAD reset_incorrect 0 | ||||
| LOAD get_amount 10 | ||||
| MAP get_amount | ||||
| RELOAD get_recipient | ||||
| MAP get_recipient | ||||
| RELOAD get_sender | ||||
| MAP get_sender | ||||
| LOAD initiate_transaction 0 | ||||
| RELOAD transaction_reset | ||||
| MOUT quit 9 | ||||
| HALT | ||||
| INCMP quit 9 | ||||
							
								
								
									
										1
									
								
								services/registration/transaction_initiated_swa
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								services/registration/transaction_initiated_swa
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| Ombi lako limetumwa. {{.get_recipient}} atapokea {{.get_amount}} kutoka kwa {{.get_sender}}. | ||||
| @ -6,5 +6,9 @@ MAP get_sender | ||||
| MOUT back 0 | ||||
| MOUT quit 9 | ||||
| HALT | ||||
| LOAD unlock_account 1 | ||||
| RELOAD unlock_account | ||||
| CATCH incorrect_pin 15 1 | ||||
| INCMP _ 0 | ||||
| INCMP quit 9 | ||||
| MOVE transaction_initiated | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user