Use sarafu-api module

This commit is contained in:
lash 2025-01-11 20:33:34 +00:00
parent 5f261c642d
commit 210d75b3f4
Signed by: lash
GPG Key ID: 21D2E7BB88C2A746
13 changed files with 58 additions and 33 deletions

View File

@ -18,12 +18,13 @@ import (
"git.grassecon.net/grassrootseconomics/visedriver/config" "git.grassecon.net/grassrootseconomics/visedriver/config"
"git.grassecon.net/grassrootseconomics/visedriver/initializers" "git.grassecon.net/grassrootseconomics/visedriver/initializers"
"git.grassecon.net/grassrootseconomics/visedriver/remote"
"git.grassecon.net/grassrootseconomics/visedriver/common" "git.grassecon.net/grassrootseconomics/visedriver/common"
"git.grassecon.net/grassrootseconomics/visedriver/session" "git.grassecon.net/grassrootseconomics/visedriver/session"
at "git.grassecon.net/grassrootseconomics/visedriver-africastalking/africastalking" at "git.grassecon.net/grassrootseconomics/visedriver-africastalking/africastalking"
"git.grassecon.net/grassrootseconomics/visedriver-africastalking/args" "git.grassecon.net/grassrootseconomics/visedriver-africastalking/args"
httpremote "git.grassecon.net/grassrootseconomics/sarafu-api/remote/http"
"git.grassecon.net/grassrootseconomics/sarafu-vise/handlers" "git.grassecon.net/grassrootseconomics/sarafu-vise/handlers"
) )
@ -132,8 +133,8 @@ func main() {
os.Exit(1) os.Exit(1)
} }
accountService := remote.AccountService{} accountService := &httpremote.HTTPAccountService{}
hl, err := lhs.GetHandler(&accountService) hl, err := lhs.GetHandler(accountService)
if err != nil { if err != nil {
fmt.Fprintf(os.Stderr, err.Error()) fmt.Fprintf(os.Stderr, err.Error())
os.Exit(1) os.Exit(1)

View File

@ -18,8 +18,8 @@ import (
"git.grassecon.net/grassrootseconomics/visedriver/initializers" "git.grassecon.net/grassrootseconomics/visedriver/initializers"
"git.grassecon.net/grassrootseconomics/visedriver/storage" "git.grassecon.net/grassrootseconomics/visedriver/storage"
"git.grassecon.net/grassrootseconomics/visedriver/session" "git.grassecon.net/grassrootseconomics/visedriver/session"
"git.grassecon.net/grassrootseconomics/visedriver/remote"
"git.grassecon.net/grassrootseconomics/visedriver/request" "git.grassecon.net/grassrootseconomics/visedriver/request"
httpremote "git.grassecon.net/grassrootseconomics/sarafu-api/remote/http"
"git.grassecon.net/grassrootseconomics/sarafu-vise/args" "git.grassecon.net/grassrootseconomics/sarafu-vise/args"
"git.grassecon.net/grassrootseconomics/sarafu-vise/handlers" "git.grassecon.net/grassrootseconomics/sarafu-vise/handlers"
) )
@ -131,9 +131,9 @@ func main() {
lhs, err := handlers.NewLocalHandlerService(ctx, pfp, true, dbResource, cfg, rs) lhs, err := handlers.NewLocalHandlerService(ctx, pfp, true, dbResource, cfg, rs)
lhs.SetDataStore(&userdataStore) lhs.SetDataStore(&userdataStore)
accountService := remote.AccountService{} accountService := &httpremote.HTTPAccountService{}
hl, err := lhs.GetHandler(&accountService) hl, err := lhs.GetHandler(accountService)
if err != nil { if err != nil {
fmt.Fprintf(os.Stderr, err.Error()) fmt.Fprintf(os.Stderr, err.Error())
os.Exit(1) os.Exit(1)

View File

@ -21,8 +21,8 @@ import (
httpsession "git.grassecon.net/grassrootseconomics/visedriver/session/http" httpsession "git.grassecon.net/grassrootseconomics/visedriver/session/http"
"git.grassecon.net/grassrootseconomics/visedriver/storage" "git.grassecon.net/grassrootseconomics/visedriver/storage"
"git.grassecon.net/grassrootseconomics/visedriver/session" "git.grassecon.net/grassrootseconomics/visedriver/session"
"git.grassecon.net/grassrootseconomics/visedriver/remote"
httpremote "git.grassecon.net/grassrootseconomics/sarafu-api/remote/http"
"git.grassecon.net/grassrootseconomics/sarafu-vise/args" "git.grassecon.net/grassrootseconomics/sarafu-vise/args"
"git.grassecon.net/grassrootseconomics/sarafu-vise/handlers" "git.grassecon.net/grassrootseconomics/sarafu-vise/handlers"
) )
@ -121,8 +121,8 @@ func main() {
os.Exit(1) os.Exit(1)
} }
accountService := remote.AccountService{} accountService := &httpremote.HTTPAccountService{}
hl, err := lhs.GetHandler(&accountService) hl, err := lhs.GetHandler(accountService)
if err != nil { if err != nil {
fmt.Fprintf(os.Stderr, err.Error()) fmt.Fprintf(os.Stderr, err.Error())
os.Exit(1) os.Exit(1)

View File

@ -13,8 +13,8 @@ import (
"git.defalsify.org/vise.git/lang" "git.defalsify.org/vise.git/lang"
"git.grassecon.net/grassrootseconomics/visedriver/config" "git.grassecon.net/grassrootseconomics/visedriver/config"
"git.grassecon.net/grassrootseconomics/visedriver/initializers" "git.grassecon.net/grassrootseconomics/visedriver/initializers"
"git.grassecon.net/grassrootseconomics/visedriver/remote"
"git.grassecon.net/grassrootseconomics/visedriver/common" "git.grassecon.net/grassrootseconomics/visedriver/common"
httpremote "git.grassecon.net/grassrootseconomics/sarafu-api/remote/http"
"git.grassecon.net/grassrootseconomics/sarafu-vise/args" "git.grassecon.net/grassrootseconomics/sarafu-vise/args"
"git.grassecon.net/grassrootseconomics/sarafu-vise/handlers" "git.grassecon.net/grassrootseconomics/sarafu-vise/handlers"
) )
@ -131,8 +131,8 @@ func main() {
os.Exit(1) os.Exit(1)
} }
accountService := remote.AccountService{} accountService := &httpremote.HTTPAccountService{}
hl, err := lhs.GetHandler(&accountService) hl, err := lhs.GetHandler(accountService)
if err != nil { if err != nil {
fmt.Fprintf(os.Stderr, err.Error()) fmt.Fprintf(os.Stderr, err.Error())
os.Exit(1) os.Exit(1)

1
go.mod
View File

@ -4,6 +4,7 @@ go 1.23.4
require ( require (
git.defalsify.org/vise.git v0.2.3-0.20250103172917-3e190a44568d git.defalsify.org/vise.git v0.2.3-0.20250103172917-3e190a44568d
git.grassecon.net/grassrootseconomics/sarafu-api v0.0.0-20250111175819-d3e6a462aa0f
git.grassecon.net/grassrootseconomics/visedriver v0.8.0-beta.10.0.20250111151614-46bf21b7b8bd git.grassecon.net/grassrootseconomics/visedriver v0.8.0-beta.10.0.20250111151614-46bf21b7b8bd
git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.0.0-20250111150203-fd8301144509 git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.0.0-20250111150203-fd8301144509
github.com/alecthomas/assert/v2 v2.2.2 github.com/alecthomas/assert/v2 v2.2.2

2
go.sum
View File

@ -1,5 +1,7 @@
git.defalsify.org/vise.git v0.2.3-0.20250103172917-3e190a44568d h1:bPAOVZOX4frSGhfOdcj7kc555f8dc9DmMd2YAyC2AMw= git.defalsify.org/vise.git v0.2.3-0.20250103172917-3e190a44568d h1:bPAOVZOX4frSGhfOdcj7kc555f8dc9DmMd2YAyC2AMw=
git.defalsify.org/vise.git v0.2.3-0.20250103172917-3e190a44568d/go.mod h1:jyBMe1qTYUz3mmuoC9JQ/TvFeW0vTanCUcPu3H8p4Ck= git.defalsify.org/vise.git v0.2.3-0.20250103172917-3e190a44568d/go.mod h1:jyBMe1qTYUz3mmuoC9JQ/TvFeW0vTanCUcPu3H8p4Ck=
git.grassecon.net/grassrootseconomics/sarafu-api v0.0.0-20250111175819-d3e6a462aa0f h1:5WTCUeIlRNTJtdyqd1inF+F6RZ2PUcVcGg1eX9vqT1E=
git.grassecon.net/grassrootseconomics/sarafu-api v0.0.0-20250111175819-d3e6a462aa0f/go.mod h1:0cuilFAZApPE/SMa3cP72TPdH1MoqhuDEaeJ0VGQ6/I=
git.grassecon.net/grassrootseconomics/visedriver v0.8.0-beta.10.0.20250111151614-46bf21b7b8bd h1:mKCov8udBJBQuMF3aFg38SkClL8OvAUZmtArNzgIPak= git.grassecon.net/grassrootseconomics/visedriver v0.8.0-beta.10.0.20250111151614-46bf21b7b8bd h1:mKCov8udBJBQuMF3aFg38SkClL8OvAUZmtArNzgIPak=
git.grassecon.net/grassrootseconomics/visedriver v0.8.0-beta.10.0.20250111151614-46bf21b7b8bd/go.mod h1:E6W7ZOa7ZvVr0Bc5ot0LNSwpSPYq4hXlAIvEPy3AJ7U= git.grassecon.net/grassrootseconomics/visedriver v0.8.0-beta.10.0.20250111151614-46bf21b7b8bd/go.mod h1:E6W7ZOa7ZvVr0Bc5ot0LNSwpSPYq4hXlAIvEPy3AJ7U=
git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.0.0-20250111150203-fd8301144509 h1:xlX2FAJkjn1/VS/1z8A9eSGnKWDUmBJy+GtEEDRmggc= git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.0.0-20250111150203-fd8301144509 h1:xlX2FAJkjn1/VS/1z8A9eSGnKWDUmBJy+GtEEDRmggc=

View File

@ -8,8 +8,9 @@ import (
"strconv" "strconv"
"strings" "strings"
"git.defalsify.org/vise.git/asm" "gopkg.in/leonelquinteros/gotext.v1"
"git.defalsify.org/vise.git/asm"
"git.defalsify.org/vise.git/cache" "git.defalsify.org/vise.git/cache"
"git.defalsify.org/vise.git/db" "git.defalsify.org/vise.git/db"
"git.defalsify.org/vise.git/lang" "git.defalsify.org/vise.git/lang"
@ -19,9 +20,9 @@ import (
"git.defalsify.org/vise.git/state" "git.defalsify.org/vise.git/state"
"git.grassecon.net/grassrootseconomics/visedriver/common" "git.grassecon.net/grassrootseconomics/visedriver/common"
"git.grassecon.net/grassrootseconomics/visedriver/utils" "git.grassecon.net/grassrootseconomics/visedriver/utils"
"git.grassecon.net/grassrootseconomics/visedriver/models"
"git.grassecon.net/grassrootseconomics/visedriver/remote" "git.grassecon.net/grassrootseconomics/sarafu-api/models"
"gopkg.in/leonelquinteros/gotext.v1" "git.grassecon.net/grassrootseconomics/sarafu-api/remote"
dbstorage "git.grassecon.net/grassrootseconomics/visedriver/storage/db" dbstorage "git.grassecon.net/grassrootseconomics/visedriver/storage/db"
dataserviceapi "github.com/grassrootseconomics/ussd-data-service/pkg/api" dataserviceapi "github.com/grassrootseconomics/ussd-data-service/pkg/api"
@ -63,14 +64,14 @@ type MenuHandlers struct {
userdataStore common.DataStore userdataStore common.DataStore
adminstore *utils.AdminStore adminstore *utils.AdminStore
flagManager *asm.FlagParser flagManager *asm.FlagParser
accountService remote.AccountServiceInterface accountService remote.AccountService
prefixDb dbstorage.PrefixDb prefixDb dbstorage.PrefixDb
profile *models.Profile profile *models.Profile
ReplaceSeparatorFunc func(string) string ReplaceSeparatorFunc func(string) string
} }
// NewHandlers creates a new instance of the Handlers struct with the provided dependencies. // NewHandlers creates a new instance of the Handlers struct with the provided dependencies.
func NewMenuHandlers(appFlags *asm.FlagParser, userdataStore db.Db, adminstore *utils.AdminStore, accountService remote.AccountServiceInterface, replaceSeparatorFunc func(string) string) (*MenuHandlers, error) { func NewMenuHandlers(appFlags *asm.FlagParser, userdataStore db.Db, adminstore *utils.AdminStore, accountService remote.AccountService, replaceSeparatorFunc func(string) string) (*MenuHandlers, error) {
if userdataStore == nil { if userdataStore == nil {
return nil, fmt.Errorf("cannot create handler with nil userdata store") return nil, fmt.Errorf("cannot create handler with nil userdata store")
} }

View File

@ -15,10 +15,10 @@ import (
"git.defalsify.org/vise.git/resource" "git.defalsify.org/vise.git/resource"
"git.defalsify.org/vise.git/state" "git.defalsify.org/vise.git/state"
dbstorage "git.grassecon.net/grassrootseconomics/visedriver/storage/db" dbstorage "git.grassecon.net/grassrootseconomics/visedriver/storage/db"
"git.grassecon.net/grassrootseconomics/visedriver/testutil/mocks"
"git.grassecon.net/grassrootseconomics/visedriver/testutil/testservice"
"git.grassecon.net/grassrootseconomics/visedriver/utils" "git.grassecon.net/grassrootseconomics/visedriver/utils"
"git.grassecon.net/grassrootseconomics/visedriver/models" "git.grassecon.net/grassrootseconomics/sarafu-api/models"
"git.grassecon.net/grassrootseconomics/sarafu-api/testutil/testservice"
"git.grassecon.net/grassrootseconomics/sarafu-api/testutil/mocks"
"git.grassecon.net/grassrootseconomics/visedriver/common" "git.grassecon.net/grassrootseconomics/visedriver/common"
"github.com/alecthomas/assert/v2" "github.com/alecthomas/assert/v2"

View File

@ -11,7 +11,7 @@ import (
"git.defalsify.org/vise.git/resource" "git.defalsify.org/vise.git/resource"
"git.grassecon.net/grassrootseconomics/visedriver/utils" "git.grassecon.net/grassrootseconomics/visedriver/utils"
"git.grassecon.net/grassrootseconomics/visedriver/remote" "git.grassecon.net/grassrootseconomics/sarafu-api/remote"
"git.grassecon.net/grassrootseconomics/sarafu-vise/handlers/application" "git.grassecon.net/grassrootseconomics/sarafu-vise/handlers/application"
) )
@ -64,7 +64,7 @@ func (ls *LocalHandlerService) SetDataStore(db *db.Db) {
ls.UserdataStore = db ls.UserdataStore = db
} }
func (ls *LocalHandlerService) GetHandler(accountService remote.AccountServiceInterface) (*application.MenuHandlers, error) { func (ls *LocalHandlerService) GetHandler(accountService remote.AccountService) (*application.MenuHandlers, error) {
replaceSeparatorFunc := func(input string) string { replaceSeparatorFunc := func(input string) string {
return strings.ReplaceAll(input, ":", ls.Cfg.MenuSeparator) return strings.ReplaceAll(input, ":", ls.Cfg.MenuSeparator)
} }

View File

@ -16,10 +16,8 @@ import (
"git.defalsify.org/vise.git/logging" "git.defalsify.org/vise.git/logging"
"git.defalsify.org/vise.git/resource" "git.defalsify.org/vise.git/resource"
"git.defalsify.org/vise.git/state" "git.defalsify.org/vise.git/state"
"git.grassecon.net/grassrootseconomics/visedriver/storage" "git.grassecon.net/grassrootseconomics/visedriver/storage"
"git.grassecon.net/grassrootseconomics/visedriver/remote" httpremote "git.grassecon.net/grassrootseconomics/sarafu-api/remote/http"
"git.grassecon.net/grassrootseconomics/sarafu-vise/handlers" "git.grassecon.net/grassrootseconomics/sarafu-vise/handlers"
) )
@ -182,7 +180,7 @@ func(s *SshRunner) GetEngine(sessionId string) (engine.Engine, func(), error) {
} }
// TODO: clear up why pointer here and by-value other cmds // TODO: clear up why pointer here and by-value other cmds
accountService := &remote.AccountService{} accountService := &httpremote.HTTPAccountService{}
hl, err := lhs.GetHandler(accountService) hl, err := lhs.GetHandler(accountService)
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err

View File

@ -10,6 +10,7 @@ import (
"path/filepath" "path/filepath"
"time" "time"
testdataloader "github.com/peteole/testdata-loader"
"github.com/jackc/pgx/v5/pgxpool" "github.com/jackc/pgx/v5/pgxpool"
"git.defalsify.org/vise.git/engine" "git.defalsify.org/vise.git/engine"
"git.defalsify.org/vise.git/logging" "git.defalsify.org/vise.git/logging"
@ -18,10 +19,10 @@ import (
"git.grassecon.net/grassrootseconomics/visedriver/config" "git.grassecon.net/grassrootseconomics/visedriver/config"
"git.grassecon.net/grassrootseconomics/sarafu-vise/handlers" "git.grassecon.net/grassrootseconomics/sarafu-vise/handlers"
"git.grassecon.net/grassrootseconomics/visedriver/storage" "git.grassecon.net/grassrootseconomics/visedriver/storage"
"git.grassecon.net/grassrootseconomics/visedriver/testutil/testservice" "git.grassecon.net/grassrootseconomics/sarafu-api/testutil/testservice"
"git.grassecon.net/grassrootseconomics/visedriver/testutil/testtag" "git.grassecon.net/grassrootseconomics/sarafu-api/remote"
testdataloader "github.com/peteole/testdata-loader" httpremote "git.grassecon.net/grassrootseconomics/sarafu-api/remote/http"
"git.grassecon.net/grassrootseconomics/visedriver/remote" "git.grassecon.net/grassrootseconomics/sarafu-vise/testutil/testtag"
) )
var ( var (
@ -168,7 +169,7 @@ func TestEngine(sessionId string) (engine.Engine, func(), chan bool) {
} }
if testtag.AccountService == nil { if testtag.AccountService == nil {
testtag.AccountService = &remote.AccountService{} testtag.AccountService = &httpremote.HTTPAccountService{}
} }
switch testtag.AccountService.(type) { switch testtag.AccountService.(type) {
@ -176,7 +177,7 @@ func TestEngine(sessionId string) (engine.Engine, func(), chan bool) {
go func() { go func() {
eventChannel <- false eventChannel <- false
}() }()
case *remote.AccountService: case remote.AccountService:
go func() { go func() {
time.Sleep(5 * time.Second) // Wait for 5 seconds time.Sleep(5 * time.Second) // Wait for 5 seconds
eventChannel <- true eventChannel <- true

View File

@ -0,0 +1,12 @@
// +build !online
package testtag
import (
"git.grassecon.net/grassrootseconomics/sarafu-api/remote"
accountservice "git.grassecon.net/grassrootseconomics/sarafu-api/testutil/testservice"
)
var (
AccountService remote.AccountService = &accountservice.TestAccountService{}
)

View File

@ -0,0 +1,9 @@
// +build online
package testtag
import "git.grassecon.net/grassrootseconomics/visedriver/remote"
var (
AccountService remote.AccountServiceInterface
)