From 9c27be3a9dd047caada037d6e72044079dda53b0 Mon Sep 17 00:00:00 2001 From: lash Date: Thu, 6 Feb 2025 12:24:35 +0000 Subject: [PATCH 1/4] Update sarafu-api dep --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 04cfbd6..a75e399 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.23.4 require ( git.defalsify.org/vise.git v0.2.3-0.20250205173834-d1f6647211ac git.grassecon.net/grassrootseconomics/common v0.0.0-20250121134736-ba8cbbccea7d - git.grassecon.net/grassrootseconomics/sarafu-api v0.0.0-20250123142805-2181388f5bf1 + git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250206112944-31eb30de0f69 git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.1.0.20250204132347-1eb0b1555244 git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.0.0-20250129070628-5a539172c694 github.com/alecthomas/assert/v2 v2.2.2 diff --git a/go.sum b/go.sum index dae909d..1cd58c7 100644 --- a/go.sum +++ b/go.sum @@ -2,8 +2,8 @@ git.defalsify.org/vise.git v0.2.3-0.20250205173834-d1f6647211ac h1:f/E0ZTclVfMEn git.defalsify.org/vise.git v0.2.3-0.20250205173834-d1f6647211ac/go.mod h1:jyBMe1qTYUz3mmuoC9JQ/TvFeW0vTanCUcPu3H8p4Ck= git.grassecon.net/grassrootseconomics/common v0.0.0-20250121134736-ba8cbbccea7d h1:5mzLas+jxTUtusOKx4XvU+n2QvrV/mH17MnJRy46siQ= git.grassecon.net/grassrootseconomics/common v0.0.0-20250121134736-ba8cbbccea7d/go.mod h1:wgQJZGIS6QuNLHqDhcsvehsbn5PvgV7aziRebMnJi60= -git.grassecon.net/grassrootseconomics/sarafu-api v0.0.0-20250123142805-2181388f5bf1 h1:BJHfokTHzrw9QjQ+4s2HmSER0iBPuE7byW5oQC2zLIQ= -git.grassecon.net/grassrootseconomics/sarafu-api v0.0.0-20250123142805-2181388f5bf1/go.mod h1:gOn89ipaDcDvmQXRMQYKUqcw/sJcwVOPVt2eC6Geip8= +git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250206112944-31eb30de0f69 h1:cbBpm9uNJak58MpFpNXJuvgCmz+A8kquXr9har4expg= +git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250206112944-31eb30de0f69/go.mod h1:gOn89ipaDcDvmQXRMQYKUqcw/sJcwVOPVt2eC6Geip8= git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.1.0.20250204132347-1eb0b1555244 h1:BXotWSKg04U97sf/xeWJuUTSVgKk2aEK+5BtBrnafXQ= git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.1.0.20250204132347-1eb0b1555244/go.mod h1:6B6ByxXOiRY0NR7K02Bf3fEu7z+2c/6q8PFVNjC5G8w= git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.0.0-20250129070628-5a539172c694 h1:DjJlBSz0S13acft5XZDWk7ZYnzElym0xLMYEVgyNJ+E= From a37908323f06811624bdd6e8ebb28e7b24c27590 Mon Sep 17 00:00:00 2001 From: alfred-mk Date: Thu, 6 Feb 2025 16:32:03 +0300 Subject: [PATCH 2/4] Remove early LOAD statement --- services/registration/pin_management.vis | 1 - 1 file changed, 1 deletion(-) diff --git a/services/registration/pin_management.vis b/services/registration/pin_management.vis index f7b7a81..0344b6a 100644 --- a/services/registration/pin_management.vis +++ b/services/registration/pin_management.vis @@ -1,4 +1,3 @@ -LOAD confirm_pin_change 7 LOAD set_back 6 LOAD authorize_account 5 LOAD reset_allow_update 4 From 628a57ea1032ed5d563fc2bbf7fdd8ed53300d0b Mon Sep 17 00:00:00 2001 From: alfred-mk Date: Thu, 6 Feb 2025 16:42:07 +0300 Subject: [PATCH 3/4] Only clear the temporary data once at main.vis --- handlers/application/menuhandler.go | 73 +++++++---------------------- handlers/local.go | 5 +- services/registration/main.vis | 2 + 3 files changed, 22 insertions(+), 58 deletions(-) diff --git a/handlers/application/menuhandler.go b/handlers/application/menuhandler.go index 78a1e37..4565f02 100644 --- a/handlers/application/menuhandler.go +++ b/handlers/application/menuhandler.go @@ -488,13 +488,6 @@ func (h *MenuHandlers) ConfirmPinChange(ctx context.Context, sym string, input [ return res, err } - // clear the temporary value as it has been used - err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte("")) - if err != nil { - logg.ErrorCtxf(ctx, "failed to clear DATA_TEMPORARY_VALUE entry with", "key", storedb.DATA_TEMPORARY_VALUE, "value", "empty", "error", err) - return res, err - } - return res, nil } @@ -535,13 +528,6 @@ func (h *MenuHandlers) ResetOthersPin(ctx context.Context, sym string, input []b return res, err } - // clear the temporary value as it has been used - err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte("")) - if err != nil { - logg.ErrorCtxf(ctx, "failed to clear DATA_TEMPORARY_VALUE entry with", "key", storedb.DATA_TEMPORARY_VALUE, "value", "empty", "error", err) - return res, err - } - return res, nil } @@ -717,12 +703,6 @@ func (h *MenuHandlers) SaveFirstname(ctx context.Context, sym string, input []by if err != nil { return res, err } - // clear the temporary value as it has been used - err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte("")) - if err != nil { - logg.ErrorCtxf(ctx, "failed to clear DATA_TEMPORARY_VALUE entry with", "key", storedb.DATA_TEMPORARY_VALUE, "value", "empty", "error", err) - return res, err - } res.FlagSet = append(res.FlagSet, flag_firstname_set) } else { if firstNameSet { @@ -767,12 +747,6 @@ func (h *MenuHandlers) SaveFamilyname(ctx context.Context, sym string, input []b logg.ErrorCtxf(ctx, "failed to write familyName entry with", "key", storedb.DATA_FAMILY_NAME, "value", temporaryFamilyName, "error", err) return res, err } - // clear the temporary value as it has been used - err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte("")) - if err != nil { - logg.ErrorCtxf(ctx, "failed to clear DATA_TEMPORARY_VALUE entry with", "key", storedb.DATA_TEMPORARY_VALUE, "value", "empty", "error", err) - return res, err - } res.FlagSet = append(res.FlagSet, flag_familyname_set) } else { if familyNameSet { @@ -847,12 +821,6 @@ func (h *MenuHandlers) SaveYob(ctx context.Context, sym string, input []byte) (r logg.ErrorCtxf(ctx, "failed to write yob entry with", "key", storedb.DATA_TEMPORARY_VALUE, "value", temporaryYob, "error", err) return res, err } - // clear the temporary value as it has been used - err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte("")) - if err != nil { - logg.ErrorCtxf(ctx, "failed to clear DATA_TEMPORARY_VALUE entry with", "key", storedb.DATA_TEMPORARY_VALUE, "value", "empty", "error", err) - return res, err - } res.FlagSet = append(res.FlagSet, flag_yob_set) } else { if yobSet { @@ -896,12 +864,6 @@ func (h *MenuHandlers) SaveLocation(ctx context.Context, sym string, input []byt logg.ErrorCtxf(ctx, "failed to write location entry with", "key", storedb.DATA_LOCATION, "value", temporaryLocation, "error", err) return res, err } - // clear the temporary value as it has been used - err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte("")) - if err != nil { - logg.ErrorCtxf(ctx, "failed to clear DATA_TEMPORARY_VALUE entry with", "key", storedb.DATA_TEMPORARY_VALUE, "value", "empty", "error", err) - return res, err - } res.FlagSet = append(res.FlagSet, flag_location_set) } else { if locationSet { @@ -947,12 +909,6 @@ func (h *MenuHandlers) SaveGender(ctx context.Context, sym string, input []byte) logg.ErrorCtxf(ctx, "failed to write gender entry with", "key", storedb.DATA_GENDER, "value", gender, "error", err) return res, err } - // clear the temporary value as it has been used - err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte("")) - if err != nil { - logg.ErrorCtxf(ctx, "failed to clear DATA_TEMPORARY_VALUE entry with", "key", storedb.DATA_TEMPORARY_VALUE, "value", "empty", "error", err) - return res, err - } res.FlagSet = append(res.FlagSet, flag_gender_set) } else { if genderSet { @@ -998,12 +954,6 @@ func (h *MenuHandlers) SaveOfferings(ctx context.Context, sym string, input []by logg.ErrorCtxf(ctx, "failed to write offerings entry with", "key", storedb.DATA_TEMPORARY_VALUE, "value", offerings, "error", err) return res, err } - // clear the temporary value as it has been used - err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte("")) - if err != nil { - logg.ErrorCtxf(ctx, "failed to clear DATA_TEMPORARY_VALUE entry with", "key", storedb.DATA_TEMPORARY_VALUE, "value", "empty", "error", err) - return res, err - } res.FlagSet = append(res.FlagSet, flag_offerings_set) } else { if offeringsSet { @@ -1684,12 +1634,6 @@ func (h *MenuHandlers) InviteValidRecipient(ctx context.Context, sym string, inp // res.Content = l.Get("Your invitation to %s to join Sarafu Network has been sent.", string(recipient)) res.Content = l.Get("Your invite request for %s to Sarafu Network failed. Please try again later.", string(recipient)) - // clear the temporary value as it has been used - err := store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte("")) - if err != nil { - logg.ErrorCtxf(ctx, "failed to clear DATA_TEMPORARY_VALUE entry with", "key", storedb.DATA_TEMPORARY_VALUE, "value", "empty", "error", err) - return res, err - } return res, nil } @@ -2438,3 +2382,20 @@ func (h *MenuHandlers) constructAccountAlias(ctx context.Context) error { } return nil } + +func (h *MenuHandlers) ClearTemporaryValue(ctx context.Context, sym string, input []byte) (resource.Result, error) { + var res resource.Result + sessionId, ok := ctx.Value("SessionId").(string) + if !ok { + return res, fmt.Errorf("missing session") + } + userStore := h.userdataStore + + // clear the temporary value at the start + err := userStore.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte("")) + if err != nil { + logg.ErrorCtxf(ctx, "failed to clear DATA_TEMPORARY_VALUE entry with", "key", storedb.DATA_TEMPORARY_VALUE, "value", "empty", "error", err) + return res, err + } + return res, nil +} diff --git a/handlers/local.go b/handlers/local.go index 96d2d8c..73655d1 100644 --- a/handlers/local.go +++ b/handlers/local.go @@ -6,12 +6,12 @@ import ( "git.defalsify.org/vise.git/db" "git.defalsify.org/vise.git/engine" + "git.defalsify.org/vise.git/logging" "git.defalsify.org/vise.git/persist" "git.defalsify.org/vise.git/resource" - "git.defalsify.org/vise.git/logging" "git.grassecon.net/grassrootseconomics/sarafu-api/remote" -// sarafu_engine "git.grassecon.net/grassrootseconomics/sarafu-vise/engine" + // sarafu_engine "git.grassecon.net/grassrootseconomics/sarafu-vise/engine" "git.grassecon.net/grassrootseconomics/sarafu-vise/handlers/application" ) @@ -125,6 +125,7 @@ func (ls *LocalHandlerService) GetHandler(accountService remote.AccountService) ls.DbRs.AddLocalFunc("update_all_profile_items", appHandlers.UpdateAllProfileItems) ls.DbRs.AddLocalFunc("set_back", appHandlers.SetBack) ls.DbRs.AddLocalFunc("show_blocked_account", appHandlers.ShowBlockedAccount) + ls.DbRs.AddLocalFunc("clear_temporary_value", appHandlers.ClearTemporaryValue) ls.first = appHandlers.Init return appHandlers, nil diff --git a/services/registration/main.vis b/services/registration/main.vis index 2982f47..5996c97 100644 --- a/services/registration/main.vis +++ b/services/registration/main.vis @@ -1,3 +1,5 @@ +LOAD clear_temporary_value 2 +RELOAD clear_temporary_value LOAD set_default_voucher 8 RELOAD set_default_voucher LOAD check_vouchers 10 From 1e8d5b1b830b7314cf2f6f352e0091d7949e5105 Mon Sep 17 00:00:00 2001 From: alfred-mk Date: Thu, 6 Feb 2025 16:42:39 +0300 Subject: [PATCH 4/4] Remove left over code comment --- handlers/local.go | 1 - 1 file changed, 1 deletion(-) diff --git a/handlers/local.go b/handlers/local.go index 73655d1..7288d4a 100644 --- a/handlers/local.go +++ b/handlers/local.go @@ -11,7 +11,6 @@ import ( "git.defalsify.org/vise.git/resource" "git.grassecon.net/grassrootseconomics/sarafu-api/remote" - // sarafu_engine "git.grassecon.net/grassrootseconomics/sarafu-vise/engine" "git.grassecon.net/grassrootseconomics/sarafu-vise/handlers/application" )