From bf99ed84822121de076638a429acc4abb8c4ab51 Mon Sep 17 00:00:00 2001 From: alfred-mk Date: Tue, 27 Aug 2024 13:38:08 +0300 Subject: [PATCH] Added a CATCH if the account creation fails --- cmd/main.go | 5 ++--- internal/handlers/ussd/menuhandler.go | 2 +- internal/models/flags.go | 1 + services/registration/account_creation_failed | 1 + services/registration/account_creation_failed.vis | 3 +++ services/registration/account_creation_failed_swa | 1 + services/registration/create_pin.vis | 1 + 7 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 services/registration/account_creation_failed create mode 100644 services/registration/account_creation_failed.vis create mode 100644 services/registration/account_creation_failed_swa diff --git a/cmd/main.go b/cmd/main.go index beddaf0..295e371 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -33,7 +33,7 @@ func main() { fmt.Fprintf(os.Stderr, "starting session at symbol '%s' using resource dir: %s\n", root, dir) ctx := context.Background() - st := state.NewState(14) + st := state.NewState(15) st.UseDebug() state.FlagDebugger.Register(models.USERFLAG_LANGUAGE_SET, "LANGUAGE_CHANGE") state.FlagDebugger.Register(models.USERFLAG_ACCOUNT_CREATED, "ACCOUNT_CREATED") @@ -49,8 +49,7 @@ func main() { state.FlagDebugger.Register(models.USERFLAG_UNLOCKFORUPDATE,"UNLOCKFORUPDATE") state.FlagDebugger.Register(models.USERFLAG_VALIDPIN,"VALIDPIN") state.FlagDebugger.Register(models.USERFLAG_VALIDPIN,"ACCOUNTUNLOCKED") - - + state.FlagDebugger.Register(models.USERFLAG_ACCOUNT_CREATION_FAILED,"ACCOUNT_CREATION_FAILED") rfs := resource.NewFsResource(scriptDir) ca := cache.NewCache() diff --git a/internal/handlers/ussd/menuhandler.go b/internal/handlers/ussd/menuhandler.go index 94ea98e..62f6b13 100644 --- a/internal/handlers/ussd/menuhandler.go +++ b/internal/handlers/ussd/menuhandler.go @@ -64,7 +64,7 @@ func (h *Handlers) CreateAccount(ctx context.Context, sym string, input []byte) accountResp, err := server.CreateAccount() if err != nil { - fmt.Println("Failed to create account:", err) + res.FlagSet = append(res.FlagSet, models.USERFLAG_ACCOUNT_CREATION_FAILED) return res, err } diff --git a/internal/models/flags.go b/internal/models/flags.go index 42805a0..ad0fd15 100644 --- a/internal/models/flags.go +++ b/internal/models/flags.go @@ -17,4 +17,5 @@ const ( USERFLAG_VALIDPIN USERFLAG_PINMISMATCH USERFLAG_INCORRECTDATEFORMAT + USERFLAG_ACCOUNT_CREATION_FAILED ) diff --git a/services/registration/account_creation_failed b/services/registration/account_creation_failed new file mode 100644 index 0000000..0df00db --- /dev/null +++ b/services/registration/account_creation_failed @@ -0,0 +1 @@ +Your account creation request failed. Please try again later. \ No newline at end of file diff --git a/services/registration/account_creation_failed.vis b/services/registration/account_creation_failed.vis new file mode 100644 index 0000000..b62b797 --- /dev/null +++ b/services/registration/account_creation_failed.vis @@ -0,0 +1,3 @@ +MOUT quit 9 +HALT +INCMP quit 9 diff --git a/services/registration/account_creation_failed_swa b/services/registration/account_creation_failed_swa new file mode 100644 index 0000000..6f0ac7b --- /dev/null +++ b/services/registration/account_creation_failed_swa @@ -0,0 +1 @@ +Ombi lako la kusajiliwa haliwezi kukamilishwa. Tafadhali jaribu tena baadaye. \ No newline at end of file diff --git a/services/registration/create_pin.vis b/services/registration/create_pin.vis index 852bf47..cc6ecfe 100644 --- a/services/registration/create_pin.vis +++ b/services/registration/create_pin.vis @@ -1,4 +1,5 @@ LOAD create_account 0 +CATCH account_creation_failed 22 1 MOUT exit 0 HALT LOAD save_pin 0