From fbfd81c94e94133ddf23448a2caed0dda3b1f356 Mon Sep 17 00:00:00 2001 From: alfred-mk Date: Mon, 20 Jan 2025 15:03:59 +0300 Subject: [PATCH] removed the SetAccountFlags function to move it to sarafu-ussd-instance --- handlers/application/menuhandler.go | 71 ----------------------------- handlers/local.go | 1 - services/registration/root.vis | 1 - 3 files changed, 73 deletions(-) diff --git a/handlers/application/menuhandler.go b/handlers/application/menuhandler.go index 1661581..9e79989 100644 --- a/handlers/application/menuhandler.go +++ b/handlers/application/menuhandler.go @@ -147,77 +147,6 @@ func (h *MenuHandlers) Exit() { h.pe = nil } -// SetAccountFlags queries the storage to check if the data exits -// it then sets the required flags to prevent a registered user from registering afresh -func (h *MenuHandlers) SetAccountFlags(ctx context.Context, sym string, input []byte) (resource.Result, error) { - var res resource.Result - - flag_language_set, _ := h.flagManager.GetFlag("flag_language_set") - flag_account_created, _ := h.flagManager.GetFlag("flag_account_created") - flag_account_blocked, _ := h.flagManager.GetFlag("flag_account_blocked") - flag_pin_set, _ := h.flagManager.GetFlag("flag_pin_set") - - sessionId, ok := ctx.Value("SessionId").(string) - if !ok { - return res, fmt.Errorf("missing session") - } - - store := h.userdataStore - - // check account creation status - _, err := store.ReadEntry(ctx, sessionId, storedb.DATA_PUBLIC_KEY) - if err != nil { - logg.ErrorCtxf(ctx, "failed to read publicKey entry with", "key", storedb.DATA_PUBLIC_KEY, "error", err) - return res, nil - } - - res.FlagSet = append(res.FlagSet, flag_account_created) - - // check language status - code, err := store.ReadEntry(ctx, sessionId, storedb.DATA_INITIAL_LANGUAGE_CODE) - if err != nil { - logg.ErrorCtxf(ctx, "failed to read language code entry with", "key", storedb.DATA_INITIAL_LANGUAGE_CODE, "error", err) - return res, nil - } - - codeStr := string(code) - - // fallback for unsupported languages - if codeStr != "eng" && codeStr != "swa" { - codeStr = "swa" - } - - res.Content = codeStr - - res.FlagSet = append(res.FlagSet, state.FLAG_LANG) - res.FlagSet = append(res.FlagSet, flag_language_set) - - // check if the account is guarded by a PIN - _, err = store.ReadEntry(ctx, sessionId, storedb.DATA_ACCOUNT_PIN) - if err != nil { - logg.ErrorCtxf(ctx, "failed to read account PIN entry with", "key", storedb.DATA_ACCOUNT_PIN, "error", err) - return res, nil - } - - res.FlagSet = append(res.FlagSet, flag_pin_set) - - // check PIN attempts - currentWrongPinAttempts, err := store.ReadEntry(ctx, sessionId, storedb.DATA_INCORRECT_PIN_ATTEMPTS) - if err != nil { - if !db.IsNotFound(err) { - return res, nil - } - } - pinAttemptsValue, _ := strconv.ParseUint(string(currentWrongPinAttempts), 0, 64) - remainingPINAttempts := pin.AllowedPINAttempts - uint8(pinAttemptsValue) - if remainingPINAttempts == 0 { - res.FlagSet = append(res.FlagSet, flag_account_blocked) - return res, nil - } - - return res, nil -} - // SetLanguage sets the language across the menu. func (h *MenuHandlers) SetLanguage(ctx context.Context, sym string, input []byte) (resource.Result, error) { var res resource.Result diff --git a/handlers/local.go b/handlers/local.go index 1227a18..fffce30 100644 --- a/handlers/local.go +++ b/handlers/local.go @@ -61,7 +61,6 @@ func (ls *LocalHandlerService) GetHandler(accountService remote.AccountService) return nil, err } appHandlers.SetPersister(ls.Pe) - ls.DbRs.AddLocalFunc("set_account_flags", appHandlers.SetAccountFlags) ls.DbRs.AddLocalFunc("set_language", appHandlers.SetLanguage) ls.DbRs.AddLocalFunc("create_account", appHandlers.CreateAccount) ls.DbRs.AddLocalFunc("save_temporary_pin", appHandlers.SaveTemporaryPin) diff --git a/services/registration/root.vis b/services/registration/root.vis index a3d6eae..495cd68 100644 --- a/services/registration/root.vis +++ b/services/registration/root.vis @@ -1,4 +1,3 @@ -LOAD set_account_flags 8 CATCH blocked_account flag_account_blocked 1 CATCH select_language flag_language_set 0 CATCH terms flag_account_created 0