From 83ea123d56d6a1cdbfed25a0ddf199c92ee139a3 Mon Sep 17 00:00:00 2001 From: Alfred Kamanda Date: Mon, 18 Aug 2025 16:19:22 +0300 Subject: [PATCH 1/7] added missing env variables Signed-off-by: Alfred Kamanda --- .env.example | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.env.example b/.env.example index f582e30..cca19fa 100644 --- a/.env.example +++ b/.env.example @@ -7,6 +7,7 @@ AT_ENDPOINT=/ussd/africastalking #PostgreSQL DB_CONN=postgres://postgres:strongpass@localhost:5432/urdt_ussd?search_path=vise +DB_CONN_RESOURCE=services/registration #DB_TIMEZONE=Africa/Nairobi #DB_SCHEMA=vise @@ -14,6 +15,7 @@ DB_CONN=postgres://postgres:strongpass@localhost:5432/urdt_ussd?search_path=vise CUSTODIAL_URL_BASE=http://localhost:5003 BEARER_TOKEN=eyJeSIsInRcCI6IkpXVCJ.yJwdWJsaWNLZXkiOiIwrrrrrr DATA_URL_BASE=http://localhost:5006 +ALIAS_ENS_BASE=http://localhost:5015 #Language DEFAULT_LANGUAGE=eng -- 2.45.2 From 43904491ae065fd9db7b9fa99f465ecb6fa2a75a Mon Sep 17 00:00:00 2001 From: Alfred Kamanda Date: Mon, 18 Aug 2025 16:34:16 +0300 Subject: [PATCH 2/7] added the grassrootseconomics/go-vise package --- go.mod | 23 ++++++++++++---------- go.sum | 62 +++++++++++++++++++++------------------------------------- 2 files changed, 35 insertions(+), 50 deletions(-) diff --git a/go.mod b/go.mod index 1ce7f3c..2389021 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,8 @@ module git.grassecon.net/grassrootseconomics/sarafu-vise -go 1.23.4 +go 1.24 + +toolchain go1.24.6 require ( git.defalsify.org/vise.git v0.3.2-0.20250528124150-03bf7bfc1b66 @@ -8,22 +10,22 @@ require ( git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250630214912-814bef2b209a git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.2.0.20250408094335-e2d1f65bb306 git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.0.0-20250129070628-5a539172c694 - github.com/alecthomas/assert/v2 v2.2.2 + github.com/alecthomas/assert/v2 v2.11.0 github.com/gofrs/uuid v4.4.0+incompatible github.com/grassrootseconomics/ethutils v1.3.1 github.com/grassrootseconomics/ussd-data-service v1.6.0-beta - github.com/jackc/pgx/v5 v5.7.1 + github.com/jackc/pgx/v5 v5.7.5 github.com/peteole/testdata-loader v0.3.0 github.com/stretchr/testify v1.9.0 - golang.org/x/crypto v0.32.0 + golang.org/x/crypto v0.40.0 gopkg.in/leonelquinteros/gotext.v1 v1.3.1 ) require ( github.com/Microsoft/go-winio v0.6.2 // indirect github.com/StackExchange/wmi v1.2.1 // indirect - github.com/alecthomas/participle/v2 v2.0.0 // indirect - github.com/alecthomas/repr v0.2.0 // indirect + github.com/alecthomas/participle/v2 v2.1.4 // indirect + github.com/alecthomas/repr v0.4.0 // indirect github.com/barbashov/iso639-3 v0.0.0-20211020172741-1f4ffb2d8d1c // indirect github.com/bits-and-blooms/bitset v1.14.3 // indirect github.com/btcsuite/btcd/btcec/v2 v2.3.4 // indirect @@ -37,7 +39,7 @@ require ( github.com/ethereum/c-kzg-4844 v1.0.0 // indirect github.com/ethereum/go-ethereum v1.14.9 // indirect github.com/ethereum/go-verkle v0.1.1-0.20240829091221-dffa7562dbe9 // indirect - github.com/fxamacker/cbor/v2 v2.4.0 // indirect + github.com/fxamacker/cbor/v2 v2.9.0 // indirect github.com/go-ole/go-ole v1.3.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/grassrootseconomics/eth-custodial v1.3.0-beta // indirect @@ -51,6 +53,7 @@ require ( github.com/lmittmann/w3 v0.17.1 // indirect github.com/mattn/kinako v0.0.0-20170717041458-332c0a7e205a // indirect github.com/mmcloughlin/addchain v0.4.0 // indirect + github.com/pashagolub/pgxmock/v4 v4.7.0 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect github.com/stretchr/objx v0.5.2 // indirect @@ -59,9 +62,9 @@ require ( github.com/tklauser/numcpus v0.6.1 // indirect github.com/x448/float16 v0.8.4 // indirect golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect - golang.org/x/sync v0.10.0 // indirect - golang.org/x/sys v0.29.0 // indirect - golang.org/x/text v0.21.0 // indirect + golang.org/x/sync v0.16.0 // indirect + golang.org/x/sys v0.34.0 // indirect + golang.org/x/text v0.27.0 // indirect golang.org/x/time v0.7.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect rsc.io/tmplfunc v0.0.3 // indirect diff --git a/go.sum b/go.sum index c369628..32a01ac 100644 --- a/go.sum +++ b/go.sum @@ -2,22 +2,6 @@ git.defalsify.org/vise.git v0.3.2-0.20250528124150-03bf7bfc1b66 h1:hmtb2Q3lHxq+S git.defalsify.org/vise.git v0.3.2-0.20250528124150-03bf7bfc1b66/go.mod h1:jyBMe1qTYUz3mmuoC9JQ/TvFeW0vTanCUcPu3H8p4Ck= git.grassecon.net/grassrootseconomics/common v0.9.0-beta.1.0.20250417111317-2953f4c2f32e h1:DcC9qkNl9ny3hxQmsMK6W81+5R/j4ZwYUbvewMI/rlc= git.grassecon.net/grassrootseconomics/common v0.9.0-beta.1.0.20250417111317-2953f4c2f32e/go.mod h1:wgQJZGIS6QuNLHqDhcsvehsbn5PvgV7aziRebMnJi60= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250623063234-c1797e7a32b5 h1:VnRe01kHkZUBK/QjE7iV6gElSqSwQnAkWV3yCHtuYrI= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250623063234-c1797e7a32b5/go.mod h1:H97hR+VOnZvR5BiGVb0ScCPwH/IoKBOlKM+yrQNVpq0= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250623070026-d945964b0b46 h1:0+XkSRe7XSHa9WHXKpGPuC0myDszjchr4syH006lQ28= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250623070026-d945964b0b46/go.mod h1:y/vsN8UO0wSxZk3gv0y5df4RPKMJI6TIxjVcVCPF8T8= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250623075057-7b42d509e6d4 h1:W+8CC7x5eCPylkGy2TEoOpfJuiIlqzEzyYTzCLlY/u8= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250623075057-7b42d509e6d4/go.mod h1:y/vsN8UO0wSxZk3gv0y5df4RPKMJI6TIxjVcVCPF8T8= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250624074830-5aa032400c12 h1:vD8biQmN36eouuE+TdxgXQjKisRf5cTGu/tMPv3afs0= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250624074830-5aa032400c12/go.mod h1:y/vsN8UO0wSxZk3gv0y5df4RPKMJI6TIxjVcVCPF8T8= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250624090744-339ba854c997 h1:8bCKyYoV4YiVBvCZlRclc3aQlBYpWhgtM35mvniDFD8= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250624090744-339ba854c997/go.mod h1:y/vsN8UO0wSxZk3gv0y5df4RPKMJI6TIxjVcVCPF8T8= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250626065419-57ee409f9629 h1:ew3vCFrLS/7/8uULTTPCbsHzFntQ6X68SScnBEy3pl0= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250626065419-57ee409f9629/go.mod h1:y/vsN8UO0wSxZk3gv0y5df4RPKMJI6TIxjVcVCPF8T8= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250630213135-50ee455e7069 h1:re+hdr5NAC6JqhyvjMCkgX17fFi0u3Mawc6RBnBJW8I= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250630213135-50ee455e7069/go.mod h1:y/vsN8UO0wSxZk3gv0y5df4RPKMJI6TIxjVcVCPF8T8= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250630213606-12940bb5f284 h1:2zMU9jPd6xEO6oY9oxr84sdT9G3d09eyAkjVBAz9eco= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250630213606-12940bb5f284/go.mod h1:y/vsN8UO0wSxZk3gv0y5df4RPKMJI6TIxjVcVCPF8T8= git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250630214912-814bef2b209a h1:KuhJ/WY4RCGmrXUA680ciaponM4vM5zBOJfnCpUo2fc= git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250630214912-814bef2b209a/go.mod h1:y/vsN8UO0wSxZk3gv0y5df4RPKMJI6TIxjVcVCPF8T8= git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.2.0.20250408094335-e2d1f65bb306 h1:Jo+yWysWw/N5BJQtAyEMN8ePVvAyPHv+JG4lQti+1N4= @@ -32,12 +16,12 @@ github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDO github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= github.com/VictoriaMetrics/fastcache v1.12.2 h1:N0y9ASrJ0F6h0QaC3o6uJb3NIZ9VKLjCM7NQbSmF7WI= github.com/VictoriaMetrics/fastcache v1.12.2/go.mod h1:AmC+Nzz1+3G2eCPapF6UcsnkThDcMsQicp4xDukwJYI= -github.com/alecthomas/assert/v2 v2.2.2 h1:Z/iVC0xZfWTaFNE6bA3z07T86hd45Xe2eLt6WVy2bbk= -github.com/alecthomas/assert/v2 v2.2.2/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ= -github.com/alecthomas/participle/v2 v2.0.0 h1:Fgrq+MbuSsJwIkw3fEj9h75vDP0Er5JzepJ0/HNHv0g= -github.com/alecthomas/participle/v2 v2.0.0/go.mod h1:rAKZdJldHu8084ojcWevWAL8KmEU+AT+Olodb+WoN2Y= -github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= -github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= +github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0= +github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k= +github.com/alecthomas/participle/v2 v2.1.4 h1:W/H79S8Sat/krZ3el6sQMvMaahJ+XcM9WSI2naI7w2U= +github.com/alecthomas/participle/v2 v2.1.4/go.mod h1:8tqVbpTX20Ru4NfYQgZf4mP18eXPTBViyMWiArNEgGI= +github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= +github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/barbashov/iso639-3 v0.0.0-20211020172741-1f4ffb2d8d1c h1:H9Nm+I7Cg/YVPpEV1RzU3Wq2pjamPc/UtHDgItcb7lE= github.com/barbashov/iso639-3 v0.0.0-20211020172741-1f4ffb2d8d1c/go.mod h1:rGod7o6KPeJ+hyBpHfhi4v7blx9sf+QsHsA7KAsdN6U= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -85,8 +69,8 @@ github.com/ethereum/go-ethereum v1.14.9 h1:J7iwXDrtUyE9FUjUYbd4c9tyzwMh6dTJsKzo9 github.com/ethereum/go-ethereum v1.14.9/go.mod h1:QeW+MtTpRdBEm2pUFoonByee8zfHv7kGp0wK0odvU1I= github.com/ethereum/go-verkle v0.1.1-0.20240829091221-dffa7562dbe9 h1:8NfxH2iXvJ60YRB8ChToFTUzl8awsc3cJ8CbLjGIl/A= github.com/ethereum/go-verkle v0.1.1-0.20240829091221-dffa7562dbe9/go.mod h1:M3b90YRnzqKyyzBEWJGqj8Qff4IDeXnzFw0P9bFw3uk= -github.com/fxamacker/cbor/v2 v2.4.0 h1:ri0ArlOR+5XunOP8CRUowT0pSJOwhW098ZCUyskZD88= -github.com/fxamacker/cbor/v2 v2.4.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= +github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= +github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps= github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= @@ -113,8 +97,6 @@ github.com/grassrootseconomics/eth-custodial v1.3.0-beta h1:twrMBhl89GqDUL9PlkzQ github.com/grassrootseconomics/eth-custodial v1.3.0-beta/go.mod h1:7uhRcdnJplX4t6GKCEFkbeDhhjlcaGJeJqevbcvGLZo= github.com/grassrootseconomics/ethutils v1.3.1 h1:LlQO90HjJkl7ejC8fv6jP7RJUrAm1j4VMMCYfsoIrhU= github.com/grassrootseconomics/ethutils v1.3.1/go.mod h1:Wuv1VEZrkLIXqTSEYI3Nh9HG/ZHOUQ+U+xvWJ8QtjgQ= -github.com/grassrootseconomics/ussd-data-service v1.5.0-beta h1:BSSQL/yPEvTVku9ja/ENZyZdwZkEaiTzzOUfg72bTy4= -github.com/grassrootseconomics/ussd-data-service v1.5.0-beta/go.mod h1:9sGnorpKaK76FmOGXoh/xv7x5siSFNYdXxQo9BKW4DI= github.com/grassrootseconomics/ussd-data-service v1.6.0-beta h1:pY6zns6ifXyClRxP+JJaWrged3oRE7tTS2xaftF9clA= github.com/grassrootseconomics/ussd-data-service v1.6.0-beta/go.mod h1:9sGnorpKaK76FmOGXoh/xv7x5siSFNYdXxQo9BKW4DI= github.com/graygnuorg/go-gdbm v0.0.0-20220711140707-71387d66dce4 h1:U4kkNYryi/qfbBF8gh7Vsbuz+cVmhf5kt6pE9bYYyLo= @@ -129,8 +111,8 @@ github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsI github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo= github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= -github.com/jackc/pgx/v5 v5.7.1 h1:x7SYsPBYDkHDksogeSmZZ5xzThcTgRz++I5E+ePFUcs= -github.com/jackc/pgx/v5 v5.7.1/go.mod h1:e7O26IywZZ+naJtWWos6i6fvWK+29etgITqrqHLfoZA= +github.com/jackc/pgx/v5 v5.7.5 h1:JHGfMnQY+IEtGM63d+NGMjoRpysB2JBwDr5fsngwmJs= +github.com/jackc/pgx/v5 v5.7.5/go.mod h1:aruU7o91Tc2q2cFp5h4uP3f6ztExVpyVv88Xl/8Vl8M= github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo= github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= @@ -158,8 +140,8 @@ github.com/mmcloughlin/addchain v0.4.0/go.mod h1:A86O+tHqZLMNO4w6ZZ4FlVQEadcoqky github.com/mmcloughlin/profile v0.1.1/go.mod h1:IhHD7q1ooxgwTgjxQYkACGA77oFTDdFVejUS1/tS/qU= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= -github.com/pashagolub/pgxmock/v4 v4.3.0 h1:DqT7fk0OCK6H0GvqtcMsLpv8cIwWqdxWgfZNLeHCb/s= -github.com/pashagolub/pgxmock/v4 v4.3.0/go.mod h1:9VoVHXwS3XR/yPtKGzwQvwZX1kzGB9sM8SviDcHDa3A= +github.com/pashagolub/pgxmock/v4 v4.7.0 h1:de2ORuFYyjwOQR7NBm57+321RnZxpYiuUjsmqRiqgh8= +github.com/pashagolub/pgxmock/v4 v4.7.0/go.mod h1:9L57pC193h2aKRHVyiiE817avasIPZnPwPlw3JczWvM= github.com/peteole/testdata-loader v0.3.0 h1:8jckE9KcyNHgyv/VPoaljvKZE0Rqr8+dPVYH6rfNr9I= github.com/peteole/testdata-loader v0.3.0/go.mod h1:Mt0ZbRtb56u8SLJpNP+BnQbENljMorYBpqlvt3cS83U= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -198,22 +180,22 @@ github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+F github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= -golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= +golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= +golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= -golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= -golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= -golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= -golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= -golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= +golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/term v0.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg= +golang.org/x/term v0.33.0/go.mod h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0= +golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= +golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ= golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -- 2.45.2 From b8e939c89926556d4990d526acafb7a9bf6cf1ef Mon Sep 17 00:00:00 2001 From: Alfred Kamanda Date: Tue, 19 Aug 2025 15:54:40 +0300 Subject: [PATCH 3/7] use the updated go-vise package, along with visedriver and sarafu-api --- go.mod | 9 +++++---- go.sum | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 2389021..774c9fb 100644 --- a/go.mod +++ b/go.mod @@ -5,14 +5,14 @@ go 1.24 toolchain go1.24.6 require ( - git.defalsify.org/vise.git v0.3.2-0.20250528124150-03bf7bfc1b66 git.grassecon.net/grassrootseconomics/common v0.9.0-beta.1.0.20250417111317-2953f4c2f32e - git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250630214912-814bef2b209a - git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.2.0.20250408094335-e2d1f65bb306 + git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250819094350-3c8e3d1bc86f + git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.2.0.20250819084006-5a9c82207578 git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.0.0-20250129070628-5a539172c694 github.com/alecthomas/assert/v2 v2.11.0 github.com/gofrs/uuid v4.4.0+incompatible github.com/grassrootseconomics/ethutils v1.3.1 + github.com/grassrootseconomics/go-vise v0.5.0 github.com/grassrootseconomics/ussd-data-service v1.6.0-beta github.com/jackc/pgx/v5 v5.7.5 github.com/peteole/testdata-loader v0.3.0 @@ -22,6 +22,7 @@ require ( ) require ( + git.defalsify.org/vise.git v0.3.2-0.20250407143413-e55cf9bcb7d2 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/StackExchange/wmi v1.2.1 // indirect github.com/alecthomas/participle/v2 v2.1.4 // indirect @@ -50,10 +51,10 @@ require ( github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect github.com/jackc/puddle/v2 v2.2.2 // indirect github.com/joho/godotenv v1.5.1 // indirect + github.com/leonelquinteros/gotext v1.7.2 // indirect github.com/lmittmann/w3 v0.17.1 // indirect github.com/mattn/kinako v0.0.0-20170717041458-332c0a7e205a // indirect github.com/mmcloughlin/addchain v0.4.0 // indirect - github.com/pashagolub/pgxmock/v4 v4.7.0 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect github.com/stretchr/objx v0.5.2 // indirect diff --git a/go.sum b/go.sum index 32a01ac..d792759 100644 --- a/go.sum +++ b/go.sum @@ -1,11 +1,15 @@ -git.defalsify.org/vise.git v0.3.2-0.20250528124150-03bf7bfc1b66 h1:hmtb2Q3lHxq+SXqG+Gn43pKhTRYx+sw5j1LpgBfXN1o= -git.defalsify.org/vise.git v0.3.2-0.20250528124150-03bf7bfc1b66/go.mod h1:jyBMe1qTYUz3mmuoC9JQ/TvFeW0vTanCUcPu3H8p4Ck= +git.defalsify.org/vise.git v0.3.2-0.20250407143413-e55cf9bcb7d2 h1:kbiDZtvphEKsTAnebrB6QxRbB7zdoTHSmzzumXrJ4hw= +git.defalsify.org/vise.git v0.3.2-0.20250407143413-e55cf9bcb7d2/go.mod h1:jyBMe1qTYUz3mmuoC9JQ/TvFeW0vTanCUcPu3H8p4Ck= git.grassecon.net/grassrootseconomics/common v0.9.0-beta.1.0.20250417111317-2953f4c2f32e h1:DcC9qkNl9ny3hxQmsMK6W81+5R/j4ZwYUbvewMI/rlc= git.grassecon.net/grassrootseconomics/common v0.9.0-beta.1.0.20250417111317-2953f4c2f32e/go.mod h1:wgQJZGIS6QuNLHqDhcsvehsbn5PvgV7aziRebMnJi60= git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250630214912-814bef2b209a h1:KuhJ/WY4RCGmrXUA680ciaponM4vM5zBOJfnCpUo2fc= git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250630214912-814bef2b209a/go.mod h1:y/vsN8UO0wSxZk3gv0y5df4RPKMJI6TIxjVcVCPF8T8= +git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250819094350-3c8e3d1bc86f h1:0cf7i1gNXZR9VqXjy45cKOB5lbnSzfZGkIvSQhQSF5I= +git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250819094350-3c8e3d1bc86f/go.mod h1:LJF/8GtEP/XU2+Z1KzN6//nFyqJbn17oledIn6Gtmmc= git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.2.0.20250408094335-e2d1f65bb306 h1:Jo+yWysWw/N5BJQtAyEMN8ePVvAyPHv+JG4lQti+1N4= git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.2.0.20250408094335-e2d1f65bb306/go.mod h1:FdLwYtzsjOIcDiW4uDgDYnB4Wdzq12uJUe0QHSSPbSo= +git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.2.0.20250819084006-5a9c82207578 h1:GKhBMVbjGBus3eAp2tw3M66irOnEWWg0QEKVn0bBS8E= +git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.2.0.20250819084006-5a9c82207578/go.mod h1:hx6mjSyxKv5oxiJxB6EevJrMJIYjVoYxFEzBtpD+29c= git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.0.0-20250129070628-5a539172c694 h1:DjJlBSz0S13acft5XZDWk7ZYnzElym0xLMYEVgyNJ+E= git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.0.0-20250129070628-5a539172c694/go.mod h1:DpibtYpnT3nG4Kn556hRAkdu4+CtiI/6MbnQHal51mQ= github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= @@ -97,6 +101,8 @@ github.com/grassrootseconomics/eth-custodial v1.3.0-beta h1:twrMBhl89GqDUL9PlkzQ github.com/grassrootseconomics/eth-custodial v1.3.0-beta/go.mod h1:7uhRcdnJplX4t6GKCEFkbeDhhjlcaGJeJqevbcvGLZo= github.com/grassrootseconomics/ethutils v1.3.1 h1:LlQO90HjJkl7ejC8fv6jP7RJUrAm1j4VMMCYfsoIrhU= github.com/grassrootseconomics/ethutils v1.3.1/go.mod h1:Wuv1VEZrkLIXqTSEYI3Nh9HG/ZHOUQ+U+xvWJ8QtjgQ= +github.com/grassrootseconomics/go-vise v0.5.0 h1:FRg2de55Eb5SisrgTBeFWfWX+sXwp5q9r7YWtKWDwsk= +github.com/grassrootseconomics/go-vise v0.5.0/go.mod h1:b2/q4jfTu2i1wyUwYUu7FYq4m2f1AZv8MpiDM3ZcoGo= github.com/grassrootseconomics/ussd-data-service v1.6.0-beta h1:pY6zns6ifXyClRxP+JJaWrged3oRE7tTS2xaftF9clA= github.com/grassrootseconomics/ussd-data-service v1.6.0-beta/go.mod h1:9sGnorpKaK76FmOGXoh/xv7x5siSFNYdXxQo9BKW4DI= github.com/graygnuorg/go-gdbm v0.0.0-20220711140707-71387d66dce4 h1:U4kkNYryi/qfbBF8gh7Vsbuz+cVmhf5kt6pE9bYYyLo= @@ -127,6 +133,10 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0 github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c= github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8= +github.com/leonelquinteros/gotext v1.7.2 h1:bDPndU8nt+/kRo1m4l/1OXiiy2v7Z7dfPQ9+YP7G1Mc= +github.com/leonelquinteros/gotext v1.7.2/go.mod h1:9/haCkm5P7Jay1sxKDGJ5WIg4zkz8oZKw4ekNpALob8= +github.com/lmittmann/tint v1.1.2 h1:2CQzrL6rslrsyjqLDwD11bZ5OpLBPU+g3G/r5LSfS8w= +github.com/lmittmann/tint v1.1.2/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE= github.com/lmittmann/w3 v0.17.1 h1:zdXIimmNmYfqOFur+Jqc9Yqwtq6jwnsQufbTOnSAtW4= github.com/lmittmann/w3 v0.17.1/go.mod h1:WVUGMbL83WYBu4Sge3SVlW3qIG4VaHe+S8+UUnwz9Eg= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= -- 2.45.2 From 77721e7ef62306e0244792d5a2d2c3cb271346c9 Mon Sep 17 00:00:00 2001 From: Alfred Kamanda Date: Tue, 19 Aug 2025 15:58:07 +0300 Subject: [PATCH 4/7] replace the go-vise package and remove logdb --- args/lang.go | 2 +- cmd/africastalking/main.go | 24 +++++------- cmd/async/main.go | 25 +++++------- cmd/http/main.go | 25 +++++------- cmd/main.go | 22 +++++------ cmd/ssh/main.go | 16 ++++---- debug/db.go | 2 +- debug/db_debug.go | 2 +- debug/db_test.go | 2 +- devtools/admin/main.go | 5 +-- devtools/lang/main.go | 6 +-- devtools/store/dump/main.go | 6 +-- handlers/application/account_status.go | 4 +- handlers/application/account_status_test.go | 4 +- handlers/application/alias.go | 4 +- handlers/application/authorization.go | 2 +- handlers/application/authorization_test.go | 4 +- handlers/application/balance.go | 4 +- handlers/application/balance_test.go | 6 +-- handlers/application/language.go | 8 ++-- handlers/application/language_test.go | 4 +- handlers/application/menuhandler.go | 30 +++++++------- handlers/application/menuhandler_test.go | 43 ++++----------------- handlers/application/pin.go | 28 +------------- handlers/application/pin_test.go | 11 +----- handlers/application/pools.go | 4 +- handlers/application/poolswap.go | 4 +- handlers/application/profile.go | 38 ++---------------- handlers/application/profile_test.go | 43 ++------------------- handlers/application/registration.go | 14 +------ handlers/application/registration_test.go | 9 +---- handlers/application/send.go | 4 +- handlers/application/send_test.go | 2 +- handlers/application/transactions.go | 7 +--- handlers/application/transactions_test.go | 8 +--- handlers/application/upsell.go | 2 +- handlers/application/vouchers.go | 9 +---- handlers/application/vouchers_test.go | 9 +---- handlers/event/event.go | 6 +-- handlers/event/token.go | 2 +- handlers/local.go | 20 +++------- internal/cmd/cmd.go | 4 +- internal/sms/sms.go | 4 +- menutraversal_test/menu_traversal_test.go | 4 +- ssh/ssh.go | 14 +++---- store/db/db.go | 6 +-- store/db/sub_prefix_db.go | 2 +- store/db/sub_prefix_db_test.go | 2 +- store/log_db.go | 2 +- store/user_store.go | 2 +- store/vouchers.go | 4 +- store/vouchers_test.go | 2 +- testutil/engine.go | 16 ++------ testutil/setup.go | 8 ++-- 54 files changed, 167 insertions(+), 373 deletions(-) diff --git a/args/lang.go b/args/lang.go index 68efe52..324cf5b 100644 --- a/args/lang.go +++ b/args/lang.go @@ -3,7 +3,7 @@ package args import ( "strings" - "git.defalsify.org/vise.git/lang" + "github.com/grassrootseconomics/go-vise/lang" ) type LangVar struct { diff --git a/cmd/africastalking/main.go b/cmd/africastalking/main.go index 2f34b56..70b781e 100644 --- a/cmd/africastalking/main.go +++ b/cmd/africastalking/main.go @@ -11,10 +11,10 @@ import ( "strconv" "syscall" - "git.defalsify.org/vise.git/engine" - "git.defalsify.org/vise.git/lang" - "git.defalsify.org/vise.git/logging" - "git.defalsify.org/vise.git/resource" + "github.com/grassrootseconomics/go-vise/engine" + "github.com/grassrootseconomics/go-vise/lang" + "github.com/grassrootseconomics/go-vise/resource" + slogging "github.com/grassrootseconomics/go-vise/slog" "git.grassecon.net/grassrootseconomics/sarafu-vise/config" "git.grassecon.net/grassrootseconomics/visedriver/request" @@ -27,7 +27,7 @@ import ( ) var ( - logg = logging.NewVanilla().WithDomain("AfricasTalking").WithContextKey("at-session-id") + logg = slogging.Get().With("component", "AfricasTalking") scriptDir = path.Join("services", "registration") build = "dev" menuSeparator = ": " @@ -79,10 +79,10 @@ func main() { pfp := path.Join(scriptDir, "pp.csv") cfg := engine.Config{ - Root: "root", - OutputSize: uint32(size), - FlagCount: uint32(128), - MenuSeparator: menuSeparator, + Root: "root", + OutputSize: uint32(size), + FlagCount: uint32(128), + MenuSeparator: menuSeparator, ResetOnEmptyInput: true, } @@ -102,11 +102,6 @@ func main() { fmt.Fprintf(os.Stderr, "userdatadb: %v\n", err) os.Exit(1) } - logdb, err := menuStorageService.GetLogDb(ctx, userdataStore, logDbConnStr, "user-data") - if err != nil { - fmt.Fprintf(os.Stderr, "get log db error: %v\n", err) - os.Exit(1) - } dbResource, ok := rs.(*resource.DbResource) if !ok { @@ -120,7 +115,6 @@ func main() { os.Exit(1) } lhs.SetDataStore(&userdataStore) - lhs.SetLogDb(&logdb) if err != nil { fmt.Fprintf(os.Stderr, "setdatastore: %v\n", err) os.Exit(1) diff --git a/cmd/async/main.go b/cmd/async/main.go index 5bb6816..01437ad 100644 --- a/cmd/async/main.go +++ b/cmd/async/main.go @@ -12,10 +12,10 @@ import ( "strings" "syscall" - "git.defalsify.org/vise.git/engine" - "git.defalsify.org/vise.git/lang" - "git.defalsify.org/vise.git/logging" - "git.defalsify.org/vise.git/resource" + "github.com/grassrootseconomics/go-vise/engine" + "github.com/grassrootseconomics/go-vise/lang" + "github.com/grassrootseconomics/go-vise/resource" + slogging "github.com/grassrootseconomics/go-vise/slog" "git.grassecon.net/grassrootseconomics/sarafu-vise/args" "git.grassecon.net/grassrootseconomics/sarafu-vise/config" @@ -26,7 +26,7 @@ import ( ) var ( - logg = logging.NewVanilla() + logg = slogging.Get().With("component", "Async") scriptDir = path.Join("services", "registration") menuSeparator = ": " ) @@ -94,10 +94,10 @@ func main() { pfp := path.Join(scriptDir, "pp.csv") cfg := engine.Config{ - Root: "root", - OutputSize: uint32(size), - FlagCount: uint32(128), - MenuSeparator: menuSeparator, + Root: "root", + OutputSize: uint32(size), + FlagCount: uint32(128), + MenuSeparator: menuSeparator, ResetOnEmptyInput: true, } @@ -122,12 +122,6 @@ func main() { fmt.Fprintf(os.Stderr, err.Error()) os.Exit(1) } - - logdb, err := menuStorageService.GetLogDb(ctx, userdataStore, logDbConnStr, "user-data") - if err != nil { - fmt.Fprintf(os.Stderr, "get log db error: %v\n", err) - os.Exit(1) - } //defer userdataStore.Close(ctx) dbResource, ok := rs.(*resource.DbResource) @@ -137,7 +131,6 @@ func main() { lhs, err := handlers.NewLocalHandlerService(ctx, pfp, true, dbResource, cfg, rs) lhs.SetDataStore(&userdataStore) - lhs.SetLogDb(&logdb) accountService := services.New(ctx, menuStorageService) hl, err := lhs.GetHandler(accountService) diff --git a/cmd/http/main.go b/cmd/http/main.go index eed729a..babf128 100644 --- a/cmd/http/main.go +++ b/cmd/http/main.go @@ -11,10 +11,10 @@ import ( "strconv" "syscall" - "git.defalsify.org/vise.git/engine" - "git.defalsify.org/vise.git/lang" - "git.defalsify.org/vise.git/logging" - "git.defalsify.org/vise.git/resource" + "github.com/grassrootseconomics/go-vise/engine" + "github.com/grassrootseconomics/go-vise/lang" + "github.com/grassrootseconomics/go-vise/resource" + slogging "github.com/grassrootseconomics/go-vise/slog" "git.grassecon.net/grassrootseconomics/sarafu-vise/config" "git.grassecon.net/grassrootseconomics/visedriver/request" @@ -27,7 +27,7 @@ import ( ) var ( - logg = logging.NewVanilla() + logg = slogging.Get().With("component", "HTTP Server") scriptDir = path.Join("services", "registration") menuSeparator = ": " ) @@ -80,10 +80,10 @@ func main() { pfp := path.Join(scriptDir, "pp.csv") cfg := engine.Config{ - Root: "root", - OutputSize: uint32(size), - FlagCount: uint32(128), - MenuSeparator: menuSeparator, + Root: "root", + OutputSize: uint32(size), + FlagCount: uint32(128), + MenuSeparator: menuSeparator, ResetOnEmptyInput: true, } @@ -105,12 +105,6 @@ func main() { os.Exit(1) } - logdb, err := menuStorageService.GetLogDb(ctx, userdataStore, logDbConnStr, "user-data") - if err != nil { - fmt.Fprintf(os.Stderr, "get log db error: %v\n", err) - os.Exit(1) - } - dbResource, ok := rs.(*resource.DbResource) if !ok { os.Exit(1) @@ -118,7 +112,6 @@ func main() { lhs, err := handlers.NewLocalHandlerService(ctx, pfp, true, dbResource, cfg, rs) lhs.SetDataStore(&userdataStore) - lhs.SetLogDb(&logdb) if err != nil { fmt.Fprintf(os.Stderr, err.Error()) diff --git a/cmd/main.go b/cmd/main.go index 1b40e32..9981699 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -9,19 +9,19 @@ import ( "path" "syscall" - "git.defalsify.org/vise.git/engine" - "git.defalsify.org/vise.git/lang" - "git.defalsify.org/vise.git/logging" - "git.defalsify.org/vise.git/resource" "git.grassecon.net/grassrootseconomics/sarafu-vise/args" "git.grassecon.net/grassrootseconomics/sarafu-vise/config" "git.grassecon.net/grassrootseconomics/sarafu-vise/handlers" "git.grassecon.net/grassrootseconomics/sarafu-vise/services" "git.grassecon.net/grassrootseconomics/visedriver/storage" + "github.com/grassrootseconomics/go-vise/engine" + "github.com/grassrootseconomics/go-vise/lang" + "github.com/grassrootseconomics/go-vise/resource" + slogging "github.com/grassrootseconomics/go-vise/slog" ) var ( - logg = logging.NewVanilla() + logg = slogging.Get().With("component", "Main CLI") scriptDir = path.Join("services", "registration") menuSeparator = ": " ) @@ -112,11 +112,11 @@ func main() { os.Exit(1) } - logdb, err := menuStorageService.GetLogDb(ctx, userdatastore, logDbConnStr, "user-data") - if err != nil { - fmt.Fprintf(os.Stderr, "get log db error: %v\n", err) - os.Exit(1) - } + // logdb, err := menuStorageService.GetLogDb(ctx, userdatastore, logDbConnStr, "user-data") + // if err != nil { + // fmt.Fprintf(os.Stderr, "get log db error: %v\n", err) + // os.Exit(1) + // } dbResource, ok := rs.(*resource.DbResource) if !ok { @@ -126,7 +126,7 @@ func main() { lhs, err := handlers.NewLocalHandlerService(ctx, pfp, true, dbResource, cfg, rs) lhs.SetDataStore(&userdatastore) - lhs.SetLogDb(&logdb) + // lhs.SetLogDb(&logdb) lhs.SetPersister(pe) if err != nil { fmt.Fprintf(os.Stderr, "localhandler service error: %v\n", err) diff --git a/cmd/ssh/main.go b/cmd/ssh/main.go index 96dd150..9b1f8ea 100644 --- a/cmd/ssh/main.go +++ b/cmd/ssh/main.go @@ -10,9 +10,9 @@ import ( "sync" "syscall" - "git.defalsify.org/vise.git/db" - "git.defalsify.org/vise.git/engine" - "git.defalsify.org/vise.git/logging" + "github.com/grassrootseconomics/go-vise/db" + "github.com/grassrootseconomics/go-vise/engine" + slogging "github.com/grassrootseconomics/go-vise/slog" "git.grassecon.net/grassrootseconomics/sarafu-vise/config" "git.grassecon.net/grassrootseconomics/sarafu-vise/ssh" @@ -22,7 +22,7 @@ import ( var ( wg sync.WaitGroup keyStore db.Db - logg = logging.NewVanilla() + logg = slogging.Get() scriptDir = path.Join("services", "registration") build = "dev" @@ -38,7 +38,7 @@ func main() { var stateDebug bool var host string var port uint - + flag.StringVar(&override.DbConn, "c", "?", "default connection string (replaces all unspecified strings)") flag.StringVar(&override.ResourceConn, "resource", "?", "resource connection string") flag.StringVar(&override.UserConn, "userdata", "?", "userdata store connection string") @@ -81,9 +81,9 @@ func main() { pfp := path.Join(scriptDir, "pp.csv") cfg := engine.Config{ - Root: "root", - OutputSize: uint32(size), - FlagCount: uint32(128), + Root: "root", + OutputSize: uint32(size), + FlagCount: uint32(128), ResetOnEmptyInput: true, } if stateDebug { diff --git a/debug/db.go b/debug/db.go index 15e54d1..2f1e0d8 100644 --- a/debug/db.go +++ b/debug/db.go @@ -4,8 +4,8 @@ import ( "encoding/binary" "fmt" - visedb "git.defalsify.org/vise.git/db" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + visedb "github.com/grassrootseconomics/go-vise/db" ) var ( diff --git a/debug/db_debug.go b/debug/db_debug.go index f781d9f..98a59d2 100644 --- a/debug/db_debug.go +++ b/debug/db_debug.go @@ -4,7 +4,7 @@ package debug import ( - "git.defalsify.org/vise.git/db" + "github.com/grassrootseconomics/go-vise/db" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" ) diff --git a/debug/db_test.go b/debug/db_test.go index c7b8930..80e6ca8 100644 --- a/debug/db_test.go +++ b/debug/db_test.go @@ -3,8 +3,8 @@ package debug import ( "testing" - visedb "git.defalsify.org/vise.git/db" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + visedb "github.com/grassrootseconomics/go-vise/db" ) func TestDebugDbSubKeyInfo(t *testing.T) { diff --git a/devtools/admin/main.go b/devtools/admin/main.go index c3ce57f..2ecc630 100644 --- a/devtools/admin/main.go +++ b/devtools/admin/main.go @@ -7,16 +7,15 @@ import ( "os" "path" - "git.defalsify.org/vise.git/logging" - "git.grassecon.net/grassrootseconomics/sarafu-vise/config" "git.grassecon.net/grassrootseconomics/sarafu-vise/handlers/application" "git.grassecon.net/grassrootseconomics/sarafu-vise/internal/cmd" "git.grassecon.net/grassrootseconomics/visedriver/storage" + slogging "github.com/grassrootseconomics/go-vise/slog" ) var ( - logg = logging.NewVanilla().WithContextKey("SessionId") + logg = slogging.Get().With("component", "admin devtool") scriptDir = path.Join("services", "registration") ) diff --git a/devtools/lang/main.go b/devtools/lang/main.go index 3ec4c95..84970ac 100644 --- a/devtools/lang/main.go +++ b/devtools/lang/main.go @@ -8,9 +8,9 @@ import ( "path" "strings" - "git.defalsify.org/vise.git/lang" - "git.defalsify.org/vise.git/logging" "git.grassecon.net/grassrootseconomics/visedriver/config" + "github.com/grassrootseconomics/go-vise/lang" + slogging "github.com/grassrootseconomics/go-vise/slog" ) const ( @@ -28,7 +28,7 @@ MOVE language_changed ) var ( - logg = logging.NewVanilla() + logg = slogging.Get() mouts string incmps string ) diff --git a/devtools/store/dump/main.go b/devtools/store/dump/main.go index 6844a22..d3d5e12 100644 --- a/devtools/store/dump/main.go +++ b/devtools/store/dump/main.go @@ -7,15 +7,15 @@ import ( "os" "path" - "git.defalsify.org/vise.git/db" - "git.defalsify.org/vise.git/logging" "git.grassecon.net/grassrootseconomics/sarafu-vise/config" "git.grassecon.net/grassrootseconomics/sarafu-vise/debug" "git.grassecon.net/grassrootseconomics/visedriver/storage" + "github.com/grassrootseconomics/go-vise/db" + slogging "github.com/grassrootseconomics/go-vise/slog" ) var ( - logg = logging.NewVanilla() + logg = slogging.Get() scriptDir = path.Join("services", "registration") ) diff --git a/handlers/application/account_status.go b/handlers/application/account_status.go index 7714276..bf297ca 100644 --- a/handlers/application/account_status.go +++ b/handlers/application/account_status.go @@ -5,9 +5,9 @@ import ( "fmt" "strconv" - "git.defalsify.org/vise.git/db" - "git.defalsify.org/vise.git/resource" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + "github.com/grassrootseconomics/go-vise/db" + "github.com/grassrootseconomics/go-vise/resource" ) // CheckAccountStatus queries the API using the TrackingId and sets flags diff --git a/handlers/application/account_status_test.go b/handlers/application/account_status_test.go index 873e2df..297785c 100644 --- a/handlers/application/account_status_test.go +++ b/handlers/application/account_status_test.go @@ -4,12 +4,12 @@ import ( "context" "testing" - "git.defalsify.org/vise.git/resource" - "git.defalsify.org/vise.git/state" "git.grassecon.net/grassrootseconomics/sarafu-api/models" "git.grassecon.net/grassrootseconomics/sarafu-api/testutil/mocks" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" "github.com/alecthomas/assert/v2" + "github.com/grassrootseconomics/go-vise/resource" + "github.com/grassrootseconomics/go-vise/state" ) func TestCheckAccountStatus(t *testing.T) { diff --git a/handlers/application/alias.go b/handlers/application/alias.go index f177804..953fa43 100644 --- a/handlers/application/alias.go +++ b/handlers/application/alias.go @@ -6,8 +6,8 @@ import ( "fmt" "unicode" - "git.defalsify.org/vise.git/db" - "git.defalsify.org/vise.git/resource" + "github.com/grassrootseconomics/go-vise/db" + "github.com/grassrootseconomics/go-vise/resource" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" ) diff --git a/handlers/application/authorization.go b/handlers/application/authorization.go index 2087632..d9ce27d 100644 --- a/handlers/application/authorization.go +++ b/handlers/application/authorization.go @@ -4,9 +4,9 @@ import ( "context" "fmt" - "git.defalsify.org/vise.git/resource" "git.grassecon.net/grassrootseconomics/common/pin" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + "github.com/grassrootseconomics/go-vise/resource" ) // Authorize attempts to unlock the next sequential nodes by verifying the provided PIN against the already set PIN. diff --git a/handlers/application/authorization_test.go b/handlers/application/authorization_test.go index 8fc0aa5..65fc502 100644 --- a/handlers/application/authorization_test.go +++ b/handlers/application/authorization_test.go @@ -5,12 +5,12 @@ import ( "log" "testing" - "git.defalsify.org/vise.git/resource" - "git.defalsify.org/vise.git/state" "git.grassecon.net/grassrootseconomics/common/pin" "git.grassecon.net/grassrootseconomics/sarafu-api/testutil/mocks" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" "github.com/alecthomas/assert/v2" + "github.com/grassrootseconomics/go-vise/resource" + "github.com/grassrootseconomics/go-vise/state" ) func TestAuthorize(t *testing.T) { diff --git a/handlers/application/balance.go b/handlers/application/balance.go index f5c0a0b..a10f436 100644 --- a/handlers/application/balance.go +++ b/handlers/application/balance.go @@ -4,10 +4,10 @@ import ( "context" "fmt" - "git.defalsify.org/vise.git/db" - "git.defalsify.org/vise.git/resource" "git.grassecon.net/grassrootseconomics/sarafu-vise/store" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + "github.com/grassrootseconomics/go-vise/db" + "github.com/grassrootseconomics/go-vise/resource" "gopkg.in/leonelquinteros/gotext.v1" ) diff --git a/handlers/application/balance_test.go b/handlers/application/balance_test.go index c8da2ea..f870111 100644 --- a/handlers/application/balance_test.go +++ b/handlers/application/balance_test.go @@ -4,12 +4,12 @@ import ( "context" "testing" - "git.defalsify.org/vise.git/lang" - "git.defalsify.org/vise.git/resource" - "git.defalsify.org/vise.git/state" "git.grassecon.net/grassrootseconomics/sarafu-api/testutil/mocks" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" "github.com/alecthomas/assert/v2" + "github.com/grassrootseconomics/go-vise/lang" + "github.com/grassrootseconomics/go-vise/resource" + "github.com/grassrootseconomics/go-vise/state" ) func TestCheckBalance(t *testing.T) { diff --git a/handlers/application/language.go b/handlers/application/language.go index dcbe985..b909f57 100644 --- a/handlers/application/language.go +++ b/handlers/application/language.go @@ -5,11 +5,11 @@ import ( "fmt" "strings" - "git.defalsify.org/vise.git/db" - "git.defalsify.org/vise.git/resource" - "git.defalsify.org/vise.git/state" - storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" commonlang "git.grassecon.net/grassrootseconomics/common/lang" + storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + "github.com/grassrootseconomics/go-vise/db" + "github.com/grassrootseconomics/go-vise/resource" + "github.com/grassrootseconomics/go-vise/state" ) // SetLanguage sets the language across the menu. diff --git a/handlers/application/language_test.go b/handlers/application/language_test.go index b787c6b..af39c1a 100644 --- a/handlers/application/language_test.go +++ b/handlers/application/language_test.go @@ -5,10 +5,10 @@ import ( "log" "testing" - "git.defalsify.org/vise.git/resource" - "git.defalsify.org/vise.git/state" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" "github.com/alecthomas/assert/v2" + "github.com/grassrootseconomics/go-vise/resource" + "github.com/grassrootseconomics/go-vise/state" ) func TestSetLanguage(t *testing.T) { diff --git a/handlers/application/menuhandler.go b/handlers/application/menuhandler.go index 4c7b4ec..f8b501b 100644 --- a/handlers/application/menuhandler.go +++ b/handlers/application/menuhandler.go @@ -7,23 +7,23 @@ import ( "gopkg.in/leonelquinteros/gotext.v1" - "git.defalsify.org/vise.git/asm" - "git.defalsify.org/vise.git/cache" - "git.defalsify.org/vise.git/db" - "git.defalsify.org/vise.git/lang" - "git.defalsify.org/vise.git/logging" - "git.defalsify.org/vise.git/persist" - "git.defalsify.org/vise.git/resource" - "git.defalsify.org/vise.git/state" "git.grassecon.net/grassrootseconomics/sarafu-api/remote" "git.grassecon.net/grassrootseconomics/sarafu-vise/internal/sms" "git.grassecon.net/grassrootseconomics/sarafu-vise/profile" "git.grassecon.net/grassrootseconomics/sarafu-vise/store" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + "github.com/grassrootseconomics/go-vise/asm" + "github.com/grassrootseconomics/go-vise/cache" + "github.com/grassrootseconomics/go-vise/db" + "github.com/grassrootseconomics/go-vise/lang" + "github.com/grassrootseconomics/go-vise/persist" + "github.com/grassrootseconomics/go-vise/resource" + slogging "github.com/grassrootseconomics/go-vise/slog" + "github.com/grassrootseconomics/go-vise/state" ) var ( - logg = logging.NewVanilla().WithDomain("ussdmenuhandler").WithContextKey("SessionId") + logg = slogging.Get().With("component", "ussdmenuhandler") scriptDir = path.Join("services", "registration") translationDir = path.Join(scriptDir, "locale") ) @@ -65,13 +65,13 @@ type MenuHandlers struct { accountService remote.AccountService prefixDb storedb.PrefixDb smsService sms.SmsService - logDb store.LogDb + // logDb store.LogDb profile *profile.Profile ReplaceSeparatorFunc func(string) string } // NewHandlers creates a new instance of the Handlers struct with the provided dependencies. -func NewMenuHandlers(appFlags *FlagManager, userdataStore db.Db, logdb db.Db, accountService remote.AccountService, replaceSeparatorFunc func(string) string) (*MenuHandlers, error) { +func NewMenuHandlers(appFlags *FlagManager, userdataStore db.Db, accountService remote.AccountService, replaceSeparatorFunc func(string) string) (*MenuHandlers, error) { if userdataStore == nil { return nil, fmt.Errorf("cannot create handler with nil userdata store") } @@ -83,9 +83,9 @@ func NewMenuHandlers(appFlags *FlagManager, userdataStore db.Db, logdb db.Db, ac Userdatastore: *userDb, } - logDb := store.LogDb{ - Db: logdb, - } + // logDb := store.LogDb{ + // Db: logdb, + // } // Instantiate the SubPrefixDb with "DATATYPE_USERDATA" prefix prefix := storedb.ToBytes(db.DATATYPE_USERDATA) @@ -97,7 +97,7 @@ func NewMenuHandlers(appFlags *FlagManager, userdataStore db.Db, logdb db.Db, ac accountService: accountService, smsService: smsservice, prefixDb: prefixDb, - logDb: logDb, + // logDb: logDb, profile: &profile.Profile{Max: 6}, ReplaceSeparatorFunc: replaceSeparatorFunc, } diff --git a/handlers/application/menuhandler_test.go b/handlers/application/menuhandler_test.go index 674c60a..5b9e099 100644 --- a/handlers/application/menuhandler_test.go +++ b/handlers/application/menuhandler_test.go @@ -8,23 +8,23 @@ import ( "strings" "testing" - "git.defalsify.org/vise.git/cache" - "git.defalsify.org/vise.git/persist" - "git.defalsify.org/vise.git/resource" - "git.defalsify.org/vise.git/state" "git.grassecon.net/grassrootseconomics/common/pin" "git.grassecon.net/grassrootseconomics/sarafu-api/testutil/mocks" "git.grassecon.net/grassrootseconomics/sarafu-api/testutil/testservice" "git.grassecon.net/grassrootseconomics/sarafu-vise/store" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + "github.com/grassrootseconomics/go-vise/cache" + "github.com/grassrootseconomics/go-vise/persist" + "github.com/grassrootseconomics/go-vise/resource" + "github.com/grassrootseconomics/go-vise/state" "github.com/alecthomas/assert/v2" testdataloader "github.com/peteole/testdata-loader" "github.com/stretchr/testify/require" - visedb "git.defalsify.org/vise.git/db" - memdb "git.defalsify.org/vise.git/db/mem" + visedb "github.com/grassrootseconomics/go-vise/db" + memdb "github.com/grassrootseconomics/go-vise/db/mem" ) var ( @@ -56,25 +56,6 @@ func InitializeTestStore(t *testing.T) (context.Context, *store.UserDataStore) { return ctx, store } -// InitializeTestLogdbStore sets up and returns an in-memory database and logdb store. -func InitializeTestLogdbStore(t *testing.T) (context.Context, *store.UserDataStore) { - ctx := context.Background() - - // Initialize memDb - db := memdb.NewMemDb() - err := db.Connect(ctx, "") - require.NoError(t, err, "Failed to connect to memDb") - - // Create UserDataStore with memDb - logdb := &store.UserDataStore{Db: db} - - t.Cleanup(func() { - db.Close(ctx) // Ensure the DB is closed after each test - }) - - return ctx, logdb -} - func InitializeTestSubPrefixDb(t *testing.T, ctx context.Context) *storedb.SubPrefixDb { db := memdb.NewMemDb() err := db.Connect(ctx, "") @@ -89,7 +70,6 @@ func InitializeTestSubPrefixDb(t *testing.T, ctx context.Context) *storedb.SubPr func TestNewMenuHandlers(t *testing.T) { _, store := InitializeTestStore(t) - _, logdb := InitializeTestLogdbStore(t) fm, err := NewFlagManager(flagsPath) if err != nil { @@ -100,7 +80,7 @@ func TestNewMenuHandlers(t *testing.T) { // Test case for valid UserDataStore t.Run("Valid UserDataStore", func(t *testing.T) { - handlers, err := NewMenuHandlers(fm, store, logdb, &accountService, mockReplaceSeparator) + handlers, err := NewMenuHandlers(fm, store, &accountService, mockReplaceSeparator) if err != nil { t.Fatalf("expected no error, got %v", err) } @@ -124,7 +104,7 @@ func TestNewMenuHandlers(t *testing.T) { // Test case for nil UserDataStore t.Run("Nil UserDataStore", func(t *testing.T) { - handlers, err := NewMenuHandlers(fm, nil, logdb, &accountService, mockReplaceSeparator) + handlers, err := NewMenuHandlers(fm, nil, &accountService, mockReplaceSeparator) if err == nil { t.Fatal("expected an error, got none") } @@ -227,12 +207,6 @@ func TestCheckIdentifier(t *testing.T) { ctx, userdatastore := InitializeTestStore(t) ctx = context.WithValue(ctx, "SessionId", sessionId) - _, logdb := InitializeTestLogdbStore(t) - - logDb := store.LogDb{ - Db: logdb, - } - // Define test cases tests := []struct { name string @@ -260,7 +234,6 @@ func TestCheckIdentifier(t *testing.T) { // Create the MenuHandlers instance with the mock store h := &MenuHandlers{ userdataStore: userdatastore, - logDb: logDb, } // Call the method diff --git a/handlers/application/pin.go b/handlers/application/pin.go index d3999f3..ef0af90 100644 --- a/handlers/application/pin.go +++ b/handlers/application/pin.go @@ -5,11 +5,11 @@ import ( "fmt" "strconv" - "git.defalsify.org/vise.git/db" - "git.defalsify.org/vise.git/resource" "git.grassecon.net/grassrootseconomics/common/phone" "git.grassecon.net/grassrootseconomics/common/pin" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + "github.com/grassrootseconomics/go-vise/db" + "github.com/grassrootseconomics/go-vise/resource" ) // ResetIncorrectPin resets the incorrect pin flag after a new PIN attempt. @@ -81,7 +81,6 @@ func (h *MenuHandlers) SaveTemporaryPin(ctx context.Context, sym string, input [ } store := h.userdataStore - logdb := h.logDb err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte(hashedPIN)) if err != nil { @@ -89,11 +88,6 @@ func (h *MenuHandlers) SaveTemporaryPin(ctx context.Context, sym string, input [ return res, err } - err = logdb.WriteLogEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte(hashedPIN)) - if err != nil { - logg.DebugCtxf(ctx, "Failed to write temporaryAccountPIN log entry", "key", storedb.DATA_TEMPORARY_VALUE, "value", accountPIN, "error", err) - } - return res, nil } @@ -121,7 +115,6 @@ func (h *MenuHandlers) ConfirmPinChange(ctx context.Context, sym string, input [ } store := h.userdataStore - logdb := h.logDb hashedTemporaryPin, err := store.ReadEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE) if err != nil { logg.ErrorCtxf(ctx, "failed to read hashedTemporaryPin entry with", "key", storedb.DATA_TEMPORARY_VALUE, "error", err) @@ -146,11 +139,6 @@ func (h *MenuHandlers) ConfirmPinChange(ctx context.Context, sym string, input [ return res, err } - err = logdb.WriteLogEntry(ctx, sessionId, storedb.DATA_ACCOUNT_PIN, []byte(hashedTemporaryPin)) - if err != nil { - logg.DebugCtxf(ctx, "Failed to write AccountPIN log entry", "key", storedb.DATA_ACCOUNT_PIN, "value", hashedTemporaryPin, "error", err) - } - // set the DATA_SELF_PIN_RESET as 0 err = store.WriteEntry(ctx, sessionId, storedb.DATA_SELF_PIN_RESET, []byte("0")) if err != nil { @@ -171,7 +159,6 @@ func (h *MenuHandlers) ValidateBlockedNumber(ctx context.Context, sym string, in flag_unregistered_number, _ := h.flagManager.GetFlag("flag_unregistered_number") store := h.userdataStore - logdb := h.logDb sessionId, ok := ctx.Value("SessionId").(string) if !ok { return res, fmt.Errorf("missing session") @@ -207,11 +194,6 @@ func (h *MenuHandlers) ValidateBlockedNumber(ctx context.Context, sym string, in return res, nil } - err = logdb.WriteLogEntry(ctx, sessionId, storedb.DATA_BLOCKED_NUMBER, []byte(formattedNumber)) - if err != nil { - logg.DebugCtxf(ctx, "Failed to write blocked number log entry", "key", storedb.DATA_BLOCKED_NUMBER, "value", formattedNumber, "error", err) - } - return res, nil } @@ -319,7 +301,6 @@ func (h *MenuHandlers) VerifyCreatePin(ctx context.Context, sym string, input [] } store := h.userdataStore - logdb := h.logDb hashedTemporaryPin, err := store.ReadEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE) if err != nil { @@ -347,11 +328,6 @@ func (h *MenuHandlers) VerifyCreatePin(ctx context.Context, sym string, input [] return res, err } - err = logdb.WriteLogEntry(ctx, sessionId, storedb.DATA_ACCOUNT_PIN, []byte(hashedTemporaryPin)) - if err != nil { - logg.DebugCtxf(ctx, "Failed to write DATA_ACCOUNT_PIN log entry", "key", storedb.DATA_ACCOUNT_PIN, "value", hashedTemporaryPin, "error", err) - } - return res, nil } diff --git a/handlers/application/pin_test.go b/handlers/application/pin_test.go index 4079aa9..0aaebc9 100644 --- a/handlers/application/pin_test.go +++ b/handlers/application/pin_test.go @@ -6,13 +6,12 @@ import ( "strconv" "testing" - "git.defalsify.org/vise.git/resource" - "git.defalsify.org/vise.git/state" "git.grassecon.net/grassrootseconomics/common/pin" "git.grassecon.net/grassrootseconomics/sarafu-api/testutil/mocks" - "git.grassecon.net/grassrootseconomics/sarafu-vise/store" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" "github.com/alecthomas/assert/v2" + "github.com/grassrootseconomics/go-vise/resource" + "github.com/grassrootseconomics/go-vise/state" ) func TestCountIncorrectPINAttempts(t *testing.T) { @@ -71,11 +70,6 @@ func TestSaveTemporaryPin(t *testing.T) { ctx, userdatastore := InitializeTestStore(t) ctx = context.WithValue(ctx, "SessionId", sessionId) - _, logdb := InitializeTestLogdbStore(t) - logDb := store.LogDb{ - Db: logdb, - } - fm, err := NewFlagManager(flagsPath) if err != nil { log.Fatal(err) @@ -87,7 +81,6 @@ func TestSaveTemporaryPin(t *testing.T) { h := &MenuHandlers{ flagManager: fm, userdataStore: userdatastore, - logDb: logDb, } // Define test cases diff --git a/handlers/application/pools.go b/handlers/application/pools.go index d4d7242..47e1199 100644 --- a/handlers/application/pools.go +++ b/handlers/application/pools.go @@ -4,11 +4,11 @@ import ( "context" "fmt" - "git.defalsify.org/vise.git/db" - "git.defalsify.org/vise.git/resource" "git.grassecon.net/grassrootseconomics/sarafu-vise/config" "git.grassecon.net/grassrootseconomics/sarafu-vise/store" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + "github.com/grassrootseconomics/go-vise/db" + "github.com/grassrootseconomics/go-vise/resource" dataserviceapi "github.com/grassrootseconomics/ussd-data-service/pkg/api" "gopkg.in/leonelquinteros/gotext.v1" ) diff --git a/handlers/application/poolswap.go b/handlers/application/poolswap.go index a226d33..7d0c700 100644 --- a/handlers/application/poolswap.go +++ b/handlers/application/poolswap.go @@ -5,11 +5,11 @@ import ( "fmt" "strconv" - "git.defalsify.org/vise.git/db" - "git.defalsify.org/vise.git/resource" "git.grassecon.net/grassrootseconomics/sarafu-vise/config" "git.grassecon.net/grassrootseconomics/sarafu-vise/store" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + "github.com/grassrootseconomics/go-vise/db" + "github.com/grassrootseconomics/go-vise/resource" dataserviceapi "github.com/grassrootseconomics/ussd-data-service/pkg/api" "gopkg.in/leonelquinteros/gotext.v1" ) diff --git a/handlers/application/profile.go b/handlers/application/profile.go index 62b264d..459a19f 100644 --- a/handlers/application/profile.go +++ b/handlers/application/profile.go @@ -6,11 +6,11 @@ import ( "strconv" "strings" - "git.defalsify.org/vise.git/db" - "git.defalsify.org/vise.git/lang" - "git.defalsify.org/vise.git/resource" "git.grassecon.net/grassrootseconomics/common/person" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + "github.com/grassrootseconomics/go-vise/db" + "github.com/grassrootseconomics/go-vise/lang" + "github.com/grassrootseconomics/go-vise/resource" ) // SaveFirstname updates the first name in the gdbm with the provided input. @@ -24,7 +24,6 @@ func (h *MenuHandlers) SaveFirstname(ctx context.Context, sym string, input []by firstName := string(input) store := h.userdataStore - logdb := h.logDb flag_allow_update, _ := h.flagManager.GetFlag("flag_allow_update") flag_firstname_set, _ := h.flagManager.GetFlag("flag_firstname_set") @@ -44,10 +43,6 @@ func (h *MenuHandlers) SaveFirstname(ctx context.Context, sym string, input []by } res.FlagSet = append(res.FlagSet, flag_firstname_set) - err = logdb.WriteLogEntry(ctx, sessionId, storedb.DATA_FIRST_NAME, []byte(temporaryFirstName)) - if err != nil { - logg.DebugCtxf(ctx, "Failed to write firtname db log entry", "key", storedb.DATA_FIRST_NAME, "value", temporaryFirstName) - } } else { if firstNameSet { err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte(firstName)) @@ -73,7 +68,6 @@ func (h *MenuHandlers) SaveFamilyname(ctx context.Context, sym string, input []b } store := h.userdataStore - logdb := h.logDb familyName := string(input) flag_allow_update, _ := h.flagManager.GetFlag("flag_allow_update") @@ -94,10 +88,6 @@ func (h *MenuHandlers) SaveFamilyname(ctx context.Context, sym string, input []b } res.FlagSet = append(res.FlagSet, flag_familyname_set) - err = logdb.WriteLogEntry(ctx, sessionId, storedb.DATA_FAMILY_NAME, []byte(temporaryFamilyName)) - if err != nil { - logg.DebugCtxf(ctx, "Failed to write firtname db log entry", "key", storedb.DATA_FAMILY_NAME, "value", temporaryFamilyName) - } } else { if familyNameSet { err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte(familyName)) @@ -154,7 +144,6 @@ func (h *MenuHandlers) SaveYob(ctx context.Context, sym string, input []byte) (r } yob := string(input) store := h.userdataStore - logdb := h.logDb flag_allow_update, _ := h.flagManager.GetFlag("flag_allow_update") flag_yob_set, _ := h.flagManager.GetFlag("flag_yob_set") @@ -175,10 +164,6 @@ func (h *MenuHandlers) SaveYob(ctx context.Context, sym string, input []byte) (r } res.FlagSet = append(res.FlagSet, flag_yob_set) - err = logdb.WriteLogEntry(ctx, sessionId, storedb.DATA_YOB, []byte(temporaryYob)) - if err != nil { - logg.DebugCtxf(ctx, "Failed to write yob db log entry", "key", storedb.DATA_YOB, "value", temporaryYob) - } } else { if yobSet { err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte(yob)) @@ -204,7 +189,6 @@ func (h *MenuHandlers) SaveLocation(ctx context.Context, sym string, input []byt } location := string(input) store := h.userdataStore - logdb := h.logDb flag_allow_update, _ := h.flagManager.GetFlag("flag_allow_update") flag_location_set, _ := h.flagManager.GetFlag("flag_location_set") @@ -224,10 +208,6 @@ func (h *MenuHandlers) SaveLocation(ctx context.Context, sym string, input []byt } res.FlagSet = append(res.FlagSet, flag_location_set) - err = logdb.WriteLogEntry(ctx, sessionId, storedb.DATA_LOCATION, []byte(temporaryLocation)) - if err != nil { - logg.DebugCtxf(ctx, "Failed to write location db log entry", "key", storedb.DATA_LOCATION, "value", temporaryLocation) - } } else { if locationSet { err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte(location)) @@ -255,7 +235,6 @@ func (h *MenuHandlers) SaveGender(ctx context.Context, sym string, input []byte) } gender := strings.Split(symbol, "_")[1] store := h.userdataStore - logdb := h.logDb flag_allow_update, _ := h.flagManager.GetFlag("flag_allow_update") flag_gender_set, _ := h.flagManager.GetFlag("flag_gender_set") @@ -275,11 +254,6 @@ func (h *MenuHandlers) SaveGender(ctx context.Context, sym string, input []byte) } res.FlagSet = append(res.FlagSet, flag_gender_set) - err = logdb.WriteLogEntry(ctx, sessionId, storedb.DATA_GENDER, []byte(temporaryGender)) - if err != nil { - logg.DebugCtxf(ctx, "Failed to write gender db log entry", "key", storedb.DATA_TEMPORARY_VALUE, "value", temporaryGender) - } - } else { if genderSet { err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte(gender)) @@ -306,7 +280,6 @@ func (h *MenuHandlers) SaveOfferings(ctx context.Context, sym string, input []by offerings := string(input) store := h.userdataStore - logdb := h.logDb flag_allow_update, _ := h.flagManager.GetFlag("flag_allow_update") flag_offerings_set, _ := h.flagManager.GetFlag("flag_offerings_set") @@ -326,11 +299,6 @@ func (h *MenuHandlers) SaveOfferings(ctx context.Context, sym string, input []by return res, err } res.FlagSet = append(res.FlagSet, flag_offerings_set) - - err = logdb.WriteLogEntry(ctx, sessionId, storedb.DATA_FIRST_NAME, []byte(temporaryOfferings)) - if err != nil { - logg.DebugCtxf(ctx, "Failed to write offerings db log entry", "key", storedb.DATA_OFFERINGS, "value", offerings) - } } else { if offeringsSet { err = store.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte(offerings)) diff --git a/handlers/application/profile_test.go b/handlers/application/profile_test.go index ecdef1c..cfd5ab9 100644 --- a/handlers/application/profile_test.go +++ b/handlers/application/profile_test.go @@ -6,14 +6,13 @@ import ( "log" "testing" - "git.defalsify.org/vise.git/lang" - "git.defalsify.org/vise.git/resource" - "git.defalsify.org/vise.git/state" "git.grassecon.net/grassrootseconomics/sarafu-api/testutil/mocks" "git.grassecon.net/grassrootseconomics/sarafu-vise/profile" - "git.grassecon.net/grassrootseconomics/sarafu-vise/store" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" "github.com/alecthomas/assert/v2" + "github.com/grassrootseconomics/go-vise/lang" + "github.com/grassrootseconomics/go-vise/resource" + "github.com/grassrootseconomics/go-vise/state" "github.com/stretchr/testify/require" ) @@ -21,11 +20,6 @@ func TestSaveFirstname(t *testing.T) { sessionId := "session123" ctx, userStore := InitializeTestStore(t) ctx = context.WithValue(ctx, "SessionId", sessionId) - _, logdb := InitializeTestLogdbStore(t) - - logDb := store.LogDb{ - Db: logdb, - } fm, _ := NewFlagManager(flagsPath) @@ -52,7 +46,6 @@ func TestSaveFirstname(t *testing.T) { userdataStore: userStore, flagManager: fm, st: mockState, - logDb: logDb, } // Call the method @@ -71,11 +64,6 @@ func TestSaveFamilyname(t *testing.T) { sessionId := "session123" ctx, userStore := InitializeTestStore(t) ctx = context.WithValue(ctx, "SessionId", sessionId) - _, logdb := InitializeTestLogdbStore(t) - - logDb := store.LogDb{ - Db: logdb, - } fm, _ := NewFlagManager(flagsPath) @@ -102,7 +90,6 @@ func TestSaveFamilyname(t *testing.T) { userdataStore: userStore, st: mockState, flagManager: fm, - logDb: logDb, } // Call the method @@ -224,11 +211,6 @@ func TestSaveYob(t *testing.T) { sessionId := "session123" ctx, userStore := InitializeTestStore(t) ctx = context.WithValue(ctx, "SessionId", sessionId) - _, logdb := InitializeTestLogdbStore(t) - - logDb := store.LogDb{ - Db: logdb, - } fm, _ := NewFlagManager(flagsPath) @@ -255,7 +237,6 @@ func TestSaveYob(t *testing.T) { userdataStore: userStore, flagManager: fm, st: mockState, - logDb: logDb, } // Call the method @@ -274,11 +255,6 @@ func TestSaveLocation(t *testing.T) { sessionId := "session123" ctx, userStore := InitializeTestStore(t) ctx = context.WithValue(ctx, "SessionId", sessionId) - _, logdb := InitializeTestLogdbStore(t) - - logDb := store.LogDb{ - Db: logdb, - } fm, _ := NewFlagManager(flagsPath) @@ -305,7 +281,6 @@ func TestSaveLocation(t *testing.T) { userdataStore: userStore, flagManager: fm, st: mockState, - logDb: logDb, } // Call the method @@ -324,11 +299,6 @@ func TestSaveGender(t *testing.T) { sessionId := "session123" ctx, userStore := InitializeTestStore(t) ctx = context.WithValue(ctx, "SessionId", sessionId) - _, logdb := InitializeTestLogdbStore(t) - - logDb := store.LogDb{ - Db: logdb, - } fm, _ := NewFlagManager(flagsPath) @@ -378,7 +348,6 @@ func TestSaveGender(t *testing.T) { userdataStore: userStore, st: mockState, flagManager: fm, - logDb: logDb, } expectedResult := resource.Result{} @@ -403,11 +372,6 @@ func TestSaveOfferings(t *testing.T) { sessionId := "session123" ctx, userStore := InitializeTestStore(t) ctx = context.WithValue(ctx, "SessionId", sessionId) - _, logdb := InitializeTestLogdbStore(t) - - logDb := store.LogDb{ - Db: logdb, - } fm, _ := NewFlagManager(flagsPath) @@ -434,7 +398,6 @@ func TestSaveOfferings(t *testing.T) { userdataStore: userStore, flagManager: fm, st: mockState, - logDb: logDb, } // Call the method diff --git a/handlers/application/registration.go b/handlers/application/registration.go index 076790d..3e76e4e 100644 --- a/handlers/application/registration.go +++ b/handlers/application/registration.go @@ -4,8 +4,8 @@ import ( "context" "fmt" - "git.defalsify.org/vise.git/db" - "git.defalsify.org/vise.git/resource" + "github.com/grassrootseconomics/go-vise/db" + "github.com/grassrootseconomics/go-vise/resource" "git.grassecon.net/grassrootseconomics/common/hex" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" @@ -33,16 +33,11 @@ func (h *MenuHandlers) createAccountNoExist(ctx context.Context, sessionId strin storedb.DATA_ACCOUNT_ALIAS: "", } store := h.userdataStore - logdb := h.logDb for key, value := range data { err = store.WriteEntry(ctx, sessionId, key, []byte(value)) if err != nil { return err } - err = logdb.WriteLogEntry(ctx, sessionId, key, []byte(value)) - if err != nil { - logg.DebugCtxf(ctx, "Failed to write log entry", "key", key, "value", value) - } } publicKeyNormalized, err := hex.NormalizeHex(publicKey) if err != nil { @@ -53,11 +48,6 @@ func (h *MenuHandlers) createAccountNoExist(ctx context.Context, sessionId strin return err } - err = logdb.WriteLogEntry(ctx, sessionId, storedb.DATA_PUBLIC_KEY_REVERSE, []byte(sessionId)) - if err != nil { - logg.DebugCtxf(ctx, "Failed to write log entry", "key", storedb.DATA_PUBLIC_KEY_REVERSE, "value", sessionId) - } - res.FlagSet = append(res.FlagSet, flag_account_created) return nil } diff --git a/handlers/application/registration_test.go b/handlers/application/registration_test.go index 45e30f5..f2eb379 100644 --- a/handlers/application/registration_test.go +++ b/handlers/application/registration_test.go @@ -4,22 +4,16 @@ import ( "context" "testing" - "git.defalsify.org/vise.git/resource" "git.grassecon.net/grassrootseconomics/sarafu-api/models" "git.grassecon.net/grassrootseconomics/sarafu-api/testutil/mocks" - "git.grassecon.net/grassrootseconomics/sarafu-vise/store" "github.com/alecthomas/assert/v2" + "github.com/grassrootseconomics/go-vise/resource" ) func TestCreateAccount(t *testing.T) { sessionId := "session123" ctx, userStore := InitializeTestStore(t) ctx = context.WithValue(ctx, "SessionId", sessionId) - _, logdb := InitializeTestLogdbStore(t) - - logDb := store.LogDb{ - Db: logdb, - } fm, err := NewFlagManager(flagsPath) if err != nil { @@ -57,7 +51,6 @@ func TestCreateAccount(t *testing.T) { h := &MenuHandlers{ userdataStore: userStore, accountService: mockAccountService, - logDb: logDb, flagManager: fm, } diff --git a/handlers/application/send.go b/handlers/application/send.go index 3580288..c96229b 100644 --- a/handlers/application/send.go +++ b/handlers/application/send.go @@ -6,8 +6,6 @@ import ( "strconv" "strings" - "git.defalsify.org/vise.git/db" - "git.defalsify.org/vise.git/resource" "git.grassecon.net/grassrootseconomics/common/identity" "git.grassecon.net/grassrootseconomics/common/phone" "git.grassecon.net/grassrootseconomics/sarafu-api/models" @@ -15,6 +13,8 @@ import ( "git.grassecon.net/grassrootseconomics/sarafu-vise/store" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" "github.com/grassrootseconomics/ethutils" + "github.com/grassrootseconomics/go-vise/db" + "github.com/grassrootseconomics/go-vise/resource" "gopkg.in/leonelquinteros/gotext.v1" ) diff --git a/handlers/application/send_test.go b/handlers/application/send_test.go index cde3598..3ba9130 100644 --- a/handlers/application/send_test.go +++ b/handlers/application/send_test.go @@ -6,11 +6,11 @@ import ( "log" "testing" - "git.defalsify.org/vise.git/resource" "git.grassecon.net/grassrootseconomics/sarafu-api/models" "git.grassecon.net/grassrootseconomics/sarafu-api/testutil/mocks" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" "github.com/alecthomas/assert/v2" + "github.com/grassrootseconomics/go-vise/resource" ) func TestValidateRecipient(t *testing.T) { diff --git a/handlers/application/transactions.go b/handlers/application/transactions.go index 62d2a45..dd8e373 100644 --- a/handlers/application/transactions.go +++ b/handlers/application/transactions.go @@ -6,9 +6,9 @@ import ( "strconv" "strings" - "git.defalsify.org/vise.git/resource" "git.grassecon.net/grassrootseconomics/sarafu-vise/store" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + "github.com/grassrootseconomics/go-vise/resource" ) // CheckTransactions retrieves the transactions from the API using the "PublicKey" and stores to prefixDb. @@ -23,7 +23,6 @@ func (h *MenuHandlers) CheckTransactions(ctx context.Context, sym string, input flag_api_error, _ := h.flagManager.GetFlag("flag_api_error") userStore := h.userdataStore - logdb := h.logDb publicKey, err := userStore.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) @@ -64,10 +63,6 @@ func (h *MenuHandlers) CheckTransactions(ctx context.Context, sym string, input logg.ErrorCtxf(ctx, "failed to write to prefixDb", "error", err) return res, err } - err = logdb.WriteLogEntry(ctx, sessionId, key, []byte(value)) - if err != nil { - logg.DebugCtxf(ctx, "Failed to write tx db log entry", "key", key, "value", value) - } } res.FlagReset = append(res.FlagReset, flag_no_transfers) diff --git a/handlers/application/transactions_test.go b/handlers/application/transactions_test.go index b842c31..cab8ee8 100644 --- a/handlers/application/transactions_test.go +++ b/handlers/application/transactions_test.go @@ -6,11 +6,11 @@ import ( "testing" "time" - "git.defalsify.org/vise.git/resource" "git.grassecon.net/grassrootseconomics/sarafu-api/testutil/mocks" "git.grassecon.net/grassrootseconomics/sarafu-vise/store" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" "github.com/alecthomas/assert/v2" + "github.com/grassrootseconomics/go-vise/resource" dataserviceapi "github.com/grassrootseconomics/ussd-data-service/pkg/api" ) @@ -21,11 +21,6 @@ func TestCheckTransactions(t *testing.T) { ctx, userStore := InitializeTestStore(t) ctx = context.WithValue(ctx, "SessionId", sessionId) - _, logdb := InitializeTestLogdbStore(t) - - logDb := store.LogDb{ - Db: logdb, - } spdb := InitializeTestSubPrefixDb(t, ctx) @@ -38,7 +33,6 @@ func TestCheckTransactions(t *testing.T) { userdataStore: userStore, accountService: mockAccountService, prefixDb: spdb, - logDb: logDb, flagManager: fm, } diff --git a/handlers/application/upsell.go b/handlers/application/upsell.go index 843515d..be488fe 100644 --- a/handlers/application/upsell.go +++ b/handlers/application/upsell.go @@ -4,9 +4,9 @@ import ( "context" "fmt" - "git.defalsify.org/vise.git/resource" "git.grassecon.net/grassrootseconomics/common/phone" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + "github.com/grassrootseconomics/go-vise/resource" "gopkg.in/leonelquinteros/gotext.v1" ) diff --git a/handlers/application/vouchers.go b/handlers/application/vouchers.go index d3d219c..b73b74e 100644 --- a/handlers/application/vouchers.go +++ b/handlers/application/vouchers.go @@ -5,10 +5,10 @@ import ( "fmt" "strings" - "git.defalsify.org/vise.git/db" - "git.defalsify.org/vise.git/resource" "git.grassecon.net/grassrootseconomics/sarafu-vise/store" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + "github.com/grassrootseconomics/go-vise/db" + "github.com/grassrootseconomics/go-vise/resource" dataserviceapi "github.com/grassrootseconomics/ussd-data-service/pkg/api" "gopkg.in/leonelquinteros/gotext.v1" ) @@ -20,7 +20,6 @@ import ( func (h *MenuHandlers) ManageVouchers(ctx context.Context, sym string, input []byte) (resource.Result, error) { var res resource.Result userStore := h.userdataStore - logdb := h.logDb sessionId, ok := ctx.Value("SessionId").(string) if !ok { @@ -82,10 +81,6 @@ func (h *MenuHandlers) ManageVouchers(ctx context.Context, sym string, input []b logg.ErrorCtxf(ctx, "Failed to write active voucher data", "key", key, "error", err) return res, err } - err = logdb.WriteLogEntry(ctx, sessionId, key, []byte(value)) - if err != nil { - logg.DebugCtxf(ctx, "Failed to write voucher db log entry", "key", key, "value", value) - } } logg.InfoCtxf(ctx, "Default voucher set", "symbol", defaultSym, "balance", defaultBal, "decimals", defaultDec, "address", defaultAddr) diff --git a/handlers/application/vouchers_test.go b/handlers/application/vouchers_test.go index 1113a72..f1fa265 100644 --- a/handlers/application/vouchers_test.go +++ b/handlers/application/vouchers_test.go @@ -5,12 +5,11 @@ import ( "fmt" "testing" - "git.defalsify.org/vise.git/resource" "git.grassecon.net/grassrootseconomics/sarafu-api/models" "git.grassecon.net/grassrootseconomics/sarafu-api/testutil/mocks" - "git.grassecon.net/grassrootseconomics/sarafu-vise/store" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" "github.com/alecthomas/assert/v2" + "github.com/grassrootseconomics/go-vise/resource" dataserviceapi "github.com/grassrootseconomics/ussd-data-service/pkg/api" ) @@ -20,11 +19,6 @@ func TestManageVouchers(t *testing.T) { ctx, userStore := InitializeTestStore(t) ctx = context.WithValue(ctx, "SessionId", sessionId) - _, logdb := InitializeTestLogdbStore(t) - - logDb := store.LogDb{ - Db: logdb, - } fm, err := NewFlagManager(flagsPath) if err != nil { @@ -102,7 +96,6 @@ func TestManageVouchers(t *testing.T) { userdataStore: userStore, accountService: mockAccountService, flagManager: fm, - logDb: logDb, } mockAccountService.On("FetchVouchers", string(publicKey)).Return(tt.vouchersResp, nil) diff --git a/handlers/event/event.go b/handlers/event/event.go index e654820..8d96949 100644 --- a/handlers/event/event.go +++ b/handlers/event/event.go @@ -4,16 +4,16 @@ import ( "context" "fmt" - "git.defalsify.org/vise.git/logging" - "git.defalsify.org/vise.git/persist" apievent "git.grassecon.net/grassrootseconomics/sarafu-api/event" "git.grassecon.net/grassrootseconomics/sarafu-api/remote" "git.grassecon.net/grassrootseconomics/sarafu-vise/store" "git.grassecon.net/grassrootseconomics/visedriver/storage" + "github.com/grassrootseconomics/go-vise/persist" + slogging "github.com/grassrootseconomics/go-vise/slog" ) var ( - logg = logging.NewVanilla().WithDomain("sarafu-vise.handlers.event") + logg = slogging.Get().With("component", "sarafu-vise.handlers.event") ) type EventsUpdater struct { diff --git a/handlers/event/token.go b/handlers/event/token.go index b9edb8b..7c06abe 100644 --- a/handlers/event/token.go +++ b/handlers/event/token.go @@ -5,11 +5,11 @@ import ( "fmt" "strings" - "git.defalsify.org/vise.git/db" "git.grassecon.net/grassrootseconomics/common/identity" apievent "git.grassecon.net/grassrootseconomics/sarafu-api/event" "git.grassecon.net/grassrootseconomics/sarafu-vise/store" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + "github.com/grassrootseconomics/go-vise/db" ) // execute all diff --git a/handlers/local.go b/handlers/local.go index ed64020..8e4a242 100644 --- a/handlers/local.go +++ b/handlers/local.go @@ -4,20 +4,15 @@ import ( "context" "strings" - "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" + "github.com/grassrootseconomics/go-vise/db" + "github.com/grassrootseconomics/go-vise/engine" + "github.com/grassrootseconomics/go-vise/persist" + "github.com/grassrootseconomics/go-vise/resource" "git.grassecon.net/grassrootseconomics/sarafu-api/remote" "git.grassecon.net/grassrootseconomics/sarafu-vise/handlers/application" ) -var ( - logg = logging.NewVanilla().WithDomain("sarafu-vise.engine") -) - type HandlerService interface { GetHandler() (*application.MenuHandlers, error) } @@ -27,7 +22,6 @@ type LocalHandlerService struct { DbRs *resource.DbResource Pe *persist.Persister UserdataStore *db.Db - LogDb *db.Db Cfg engine.Config Rs resource.Resource first resource.EntryFunc @@ -58,16 +52,12 @@ func (ls *LocalHandlerService) SetDataStore(db *db.Db) { ls.UserdataStore = db } -func (ls *LocalHandlerService) SetLogDb(db *db.Db) { - ls.LogDb = db -} - func (ls *LocalHandlerService) GetHandler(accountService remote.AccountService) (*application.MenuHandlers, error) { replaceSeparatorFunc := func(input string) string { return strings.ReplaceAll(input, ":", ls.Cfg.MenuSeparator) } - appHandlers, err := application.NewMenuHandlers(ls.Parser, *ls.UserdataStore, *ls.LogDb, accountService, replaceSeparatorFunc) + appHandlers, err := application.NewMenuHandlers(ls.Parser, *ls.UserdataStore, accountService, replaceSeparatorFunc) if err != nil { return nil, err } diff --git a/internal/cmd/cmd.go b/internal/cmd/cmd.go index ac286c1..3eb97a5 100644 --- a/internal/cmd/cmd.go +++ b/internal/cmd/cmd.go @@ -4,13 +4,13 @@ import ( "context" "fmt" - "git.defalsify.org/vise.git/logging" "git.grassecon.net/grassrootseconomics/sarafu-vise/handlers/application" "git.grassecon.net/grassrootseconomics/visedriver/storage" + slogging "github.com/grassrootseconomics/go-vise/slog" ) var ( - logg = logging.NewVanilla().WithDomain("cmd").WithContextKey("SessionId") + logg = slogging.Get().With("component", "cmd") ) type Cmd struct { diff --git a/internal/sms/sms.go b/internal/sms/sms.go index f6d51ce..234a753 100644 --- a/internal/sms/sms.go +++ b/internal/sms/sms.go @@ -4,15 +4,15 @@ import ( "context" "fmt" - "git.defalsify.org/vise.git/logging" "git.grassecon.net/grassrootseconomics/common/phone" "git.grassecon.net/grassrootseconomics/sarafu-api/remote" "git.grassecon.net/grassrootseconomics/sarafu-vise/store" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + slogging "github.com/grassrootseconomics/go-vise/slog" ) var ( - logg = logging.NewVanilla().WithDomain("smsservice") + logg = slogging.Get().With("component", "smsservice") ) type SmsService struct { diff --git a/menutraversal_test/menu_traversal_test.go b/menutraversal_test/menu_traversal_test.go index 64ea262..e261705 100644 --- a/menutraversal_test/menu_traversal_test.go +++ b/menutraversal_test/menu_traversal_test.go @@ -9,14 +9,14 @@ import ( "regexp" "testing" - "git.defalsify.org/vise.git/logging" "git.grassecon.net/grassrootseconomics/sarafu-vise/testutil" "git.grassecon.net/grassrootseconomics/visedriver/testutil/driver" "github.com/gofrs/uuid" + slogging "github.com/grassrootseconomics/go-vise/slog" ) var ( - logg = logging.NewVanilla().WithDomain("menutraversaltest") + logg = slogging.Get().With("component", "menutraversaltest") testData = driver.ReadData() sessionID string src = rand.NewSource(42) diff --git a/ssh/ssh.go b/ssh/ssh.go index bab538a..3ec8238 100644 --- a/ssh/ssh.go +++ b/ssh/ssh.go @@ -12,17 +12,17 @@ import ( "golang.org/x/crypto/ssh" - "git.defalsify.org/vise.git/engine" - "git.defalsify.org/vise.git/logging" - "git.defalsify.org/vise.git/resource" - "git.defalsify.org/vise.git/state" "git.grassecon.net/grassrootseconomics/sarafu-vise/handlers" "git.grassecon.net/grassrootseconomics/sarafu-vise/services" "git.grassecon.net/grassrootseconomics/visedriver/storage" + "github.com/grassrootseconomics/go-vise/engine" + "github.com/grassrootseconomics/go-vise/resource" + slogging "github.com/grassrootseconomics/go-vise/slog" + "github.com/grassrootseconomics/go-vise/state" ) var ( - logg = logging.NewVanilla().WithDomain("ssh") + logg = slogging.Get().With("component", "ssh") ) type auther struct { @@ -181,8 +181,8 @@ func (s *SshRunner) GetEngine(sessionId string) (engine.Engine, func(), error) { accountService := services.New(ctx, menuStorageService) _, err = lhs.GetHandler(accountService) if err != nil { - fmt.Fprintf(os.Stderr, "get accounts service handler: %v\n", err) - os.Exit(1) + fmt.Fprintf(os.Stderr, "get accounts service handler: %v\n", err) + os.Exit(1) } en := lhs.GetEngine(lhs.Cfg, rs, pe) closer := func() { diff --git a/store/db/db.go b/store/db/db.go index 5ada4f6..09cfdfa 100644 --- a/store/db/db.go +++ b/store/db/db.go @@ -4,7 +4,7 @@ import ( "encoding/binary" "errors" - "git.defalsify.org/vise.git/logging" + slogging "github.com/grassrootseconomics/go-vise/slog" ) // DataType is a subprefix value used in association with vise/db.DATATYPE_USERDATA. @@ -65,7 +65,7 @@ const ( DATA_ACCOUNT_ALIAS //currently suggested alias by the api awaiting user's confirmation as accepted account alias DATA_SUGGESTED_ALIAS - //Key used to store a value of 1 for a user to reset their own PIN once they access the menu. + //Key used to store a value of 1 for a user to reset their own PIN once they access the menu. DATA_SELF_PIN_RESET // Holds the active pool contract address for the swap DATA_ACTIVE_POOL_ADDRESS @@ -153,7 +153,7 @@ const ( ) var ( - logg = logging.NewVanilla().WithDomain("urdt-common") + logg = slogging.Get().With("component", "urdt-common") ) func typToBytes(typ DataTyp) []byte { diff --git a/store/db/sub_prefix_db.go b/store/db/sub_prefix_db.go index 156fbc2..350c6ac 100644 --- a/store/db/sub_prefix_db.go +++ b/store/db/sub_prefix_db.go @@ -3,7 +3,7 @@ package db import ( "context" - "git.defalsify.org/vise.git/db" + "github.com/grassrootseconomics/go-vise/db" ) // PrefixDb interface abstracts the database operations. diff --git a/store/db/sub_prefix_db_test.go b/store/db/sub_prefix_db_test.go index d5d25fd..bd85b1c 100644 --- a/store/db/sub_prefix_db_test.go +++ b/store/db/sub_prefix_db_test.go @@ -5,7 +5,7 @@ import ( "context" "testing" - memdb "git.defalsify.org/vise.git/db/mem" + memdb "github.com/grassrootseconomics/go-vise/db/mem" ) func TestSubPrefix(t *testing.T) { diff --git a/store/log_db.go b/store/log_db.go index d056a2e..cf5d50d 100644 --- a/store/log_db.go +++ b/store/log_db.go @@ -3,9 +3,9 @@ package store import ( "context" - visedb "git.defalsify.org/vise.git/db" "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + visedb "github.com/grassrootseconomics/go-vise/db" ) type LogDb struct { diff --git a/store/user_store.go b/store/user_store.go index eea6d7e..e5613a5 100644 --- a/store/user_store.go +++ b/store/user_store.go @@ -3,11 +3,11 @@ package store import ( "context" - visedb "git.defalsify.org/vise.git/db" "git.grassecon.net/grassrootseconomics/common/hex" "git.grassecon.net/grassrootseconomics/common/identity" "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + visedb "github.com/grassrootseconomics/go-vise/db" ) // TODO: Rename interface, "datastore" is redundant naming and too general diff --git a/store/vouchers.go b/store/vouchers.go index a8f4504..e13e903 100644 --- a/store/vouchers.go +++ b/store/vouchers.go @@ -6,13 +6,13 @@ import ( "math/big" "strings" - "git.defalsify.org/vise.git/logging" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + slogging "github.com/grassrootseconomics/go-vise/slog" dataserviceapi "github.com/grassrootseconomics/ussd-data-service/pkg/api" ) var ( - logg = logging.NewVanilla().WithDomain("vouchers").WithContextKey("SessionId") + logg = slogging.Get().With("component", "vouchers") ) // VoucherMetadata helps organize data fields diff --git a/store/vouchers_test.go b/store/vouchers_test.go index 3526772..43f7d69 100644 --- a/store/vouchers_test.go +++ b/store/vouchers_test.go @@ -8,8 +8,8 @@ import ( "github.com/alecthomas/assert/v2" "github.com/stretchr/testify/require" - memdb "git.defalsify.org/vise.git/db/mem" storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db" + memdb "github.com/grassrootseconomics/go-vise/db/mem" dataserviceapi "github.com/grassrootseconomics/ussd-data-service/pkg/api" ) diff --git a/testutil/engine.go b/testutil/engine.go index 531481d..36e4e7d 100644 --- a/testutil/engine.go +++ b/testutil/engine.go @@ -9,10 +9,6 @@ import ( "path/filepath" "time" - "git.defalsify.org/vise.git/asm" - "git.defalsify.org/vise.git/engine" - "git.defalsify.org/vise.git/persist" - "git.defalsify.org/vise.git/resource" "git.grassecon.net/grassrootseconomics/sarafu-api/remote" httpremote "git.grassecon.net/grassrootseconomics/sarafu-api/remote/http" "git.grassecon.net/grassrootseconomics/sarafu-api/testutil/testservice" @@ -20,6 +16,10 @@ import ( "git.grassecon.net/grassrootseconomics/sarafu-vise/handlers" "git.grassecon.net/grassrootseconomics/sarafu-vise/testutil/testtag" "git.grassecon.net/grassrootseconomics/visedriver/storage" + "github.com/grassrootseconomics/go-vise/asm" + "github.com/grassrootseconomics/go-vise/engine" + "github.com/grassrootseconomics/go-vise/persist" + "github.com/grassrootseconomics/go-vise/resource" "github.com/jackc/pgx/v5/pgxpool" ) @@ -113,12 +113,6 @@ func TestEngine(sessionId string) (engine.Engine, func(), chan bool, *persist.Pe os.Exit(1) } - logdb, err := menuStorageService.GetLogDb(ctx, userDataStore, "test-db-logs", "user-data") - if err != nil { - fmt.Fprintf(os.Stderr, "get log db error: %v\n", err) - os.Exit(1) - } - dbResource, ok := rs.(*resource.DbResource) if !ok { fmt.Fprintf(os.Stderr, "dbresource cast error") @@ -127,7 +121,6 @@ func TestEngine(sessionId string) (engine.Engine, func(), chan bool, *persist.Pe lhs, err := handlers.NewLocalHandlerService(ctx, pfp, true, dbResource, cfg, rs) lhs.SetDataStore(&userDataStore) - lhs.SetLogDb(&logdb) lhs.SetPersister(pe) if err != nil { fmt.Fprintf(os.Stderr, err.Error()) @@ -161,7 +154,6 @@ func TestEngine(sessionId string) (engine.Engine, func(), chan bool, *persist.Pe en := lhs.GetEngine(lhs.Cfg, rs, pe) cleanFn := func() { - logdb.Close(ctx) err := en.Finish(ctx) if err != nil { logg.Errorf(err.Error()) diff --git a/testutil/setup.go b/testutil/setup.go index 58273b7..ef3e94c 100644 --- a/testutil/setup.go +++ b/testutil/setup.go @@ -4,16 +4,16 @@ import ( "context" "path" - "git.defalsify.org/vise.git/db" - fsdb "git.defalsify.org/vise.git/db/fs" - "git.defalsify.org/vise.git/logging" "git.grassecon.net/grassrootseconomics/sarafu-vise/config" "git.grassecon.net/grassrootseconomics/visedriver/storage" + "github.com/grassrootseconomics/go-vise/db" + fsdb "github.com/grassrootseconomics/go-vise/db/fs" + slogging "github.com/grassrootseconomics/go-vise/slog" testdataloader "github.com/peteole/testdata-loader" ) var ( - logg = logging.NewVanilla().WithDomain("sarafu-vise.testutil").WithContextKey("SessionId") + logg = slogging.Get().With("component", "sarafu-vise.testutil") conns storage.Conns resourceDb db.Db baseDir = testdataloader.GetBasePath() -- 2.45.2 From 790f50e5e16dc5db353806c34ddd02ba694fbbd6 Mon Sep 17 00:00:00 2001 From: Alfred Kamanda Date: Tue, 19 Aug 2025 17:35:42 +0300 Subject: [PATCH 5/7] use updated visedriver-africastalking --- go.mod | 2 +- go.sum | 8 ++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/go.mod b/go.mod index 774c9fb..4ccece4 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( git.grassecon.net/grassrootseconomics/common v0.9.0-beta.1.0.20250417111317-2953f4c2f32e git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250819094350-3c8e3d1bc86f git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.2.0.20250819084006-5a9c82207578 - git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.0.0-20250129070628-5a539172c694 + git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.9.0-beta.1.0.20250819143213-4e0d0b53e8e2 github.com/alecthomas/assert/v2 v2.11.0 github.com/gofrs/uuid v4.4.0+incompatible github.com/grassrootseconomics/ethutils v1.3.1 diff --git a/go.sum b/go.sum index d792759..6e415d0 100644 --- a/go.sum +++ b/go.sum @@ -2,16 +2,12 @@ git.defalsify.org/vise.git v0.3.2-0.20250407143413-e55cf9bcb7d2 h1:kbiDZtvphEKsT git.defalsify.org/vise.git v0.3.2-0.20250407143413-e55cf9bcb7d2/go.mod h1:jyBMe1qTYUz3mmuoC9JQ/TvFeW0vTanCUcPu3H8p4Ck= git.grassecon.net/grassrootseconomics/common v0.9.0-beta.1.0.20250417111317-2953f4c2f32e h1:DcC9qkNl9ny3hxQmsMK6W81+5R/j4ZwYUbvewMI/rlc= git.grassecon.net/grassrootseconomics/common v0.9.0-beta.1.0.20250417111317-2953f4c2f32e/go.mod h1:wgQJZGIS6QuNLHqDhcsvehsbn5PvgV7aziRebMnJi60= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250630214912-814bef2b209a h1:KuhJ/WY4RCGmrXUA680ciaponM4vM5zBOJfnCpUo2fc= -git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250630214912-814bef2b209a/go.mod h1:y/vsN8UO0wSxZk3gv0y5df4RPKMJI6TIxjVcVCPF8T8= git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250819094350-3c8e3d1bc86f h1:0cf7i1gNXZR9VqXjy45cKOB5lbnSzfZGkIvSQhQSF5I= git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250819094350-3c8e3d1bc86f/go.mod h1:LJF/8GtEP/XU2+Z1KzN6//nFyqJbn17oledIn6Gtmmc= -git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.2.0.20250408094335-e2d1f65bb306 h1:Jo+yWysWw/N5BJQtAyEMN8ePVvAyPHv+JG4lQti+1N4= -git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.2.0.20250408094335-e2d1f65bb306/go.mod h1:FdLwYtzsjOIcDiW4uDgDYnB4Wdzq12uJUe0QHSSPbSo= git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.2.0.20250819084006-5a9c82207578 h1:GKhBMVbjGBus3eAp2tw3M66irOnEWWg0QEKVn0bBS8E= git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.2.0.20250819084006-5a9c82207578/go.mod h1:hx6mjSyxKv5oxiJxB6EevJrMJIYjVoYxFEzBtpD+29c= -git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.0.0-20250129070628-5a539172c694 h1:DjJlBSz0S13acft5XZDWk7ZYnzElym0xLMYEVgyNJ+E= -git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.0.0-20250129070628-5a539172c694/go.mod h1:DpibtYpnT3nG4Kn556hRAkdu4+CtiI/6MbnQHal51mQ= +git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.9.0-beta.1.0.20250819143213-4e0d0b53e8e2 h1:ZAb4ENotTZOIR15TG6Cu9pyKxRYpAAVSBp49n2Py2ic= +git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.9.0-beta.1.0.20250819143213-4e0d0b53e8e2/go.mod h1:h9dhyoSJvgGHNqiFwyLANIEPswohNO5IRBrV+VvXbxI= github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= -- 2.45.2 From 5fd310285260e4f37acd6750b56e733dc3c7cd7a Mon Sep 17 00:00:00 2001 From: Alfred Kamanda Date: Wed, 20 Aug 2025 09:37:15 +0300 Subject: [PATCH 6/7] update the repository to be used on build and the README --- Dockerfile | 2 +- README.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3998577..f65ad9b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,7 +11,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ libgdbm-dev \ git \ && rm -rf /var/lib/apt/lists/* -RUN git clone https://git.defalsify.org/vise.git go-vise +RUN git clone https://github.com/grassrootseconomics/go-vise go-vise COPY . ./sarafu-vise WORKDIR /build/sarafu-vise/services/registration diff --git a/README.md b/README.md index b3a7db9..6c65589 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,9 @@ This is a USSD service built using the [go-vise](https://github.com/nolash/go-vi ## Prerequisites ### 1. [go-vise](https://github.com/nolash/go-vise) -Set up `go-vise` by cloning the repository into a separate directory. The main upstream repository is hosted at: `https://git.defalsify.org/vise.git` +Set up `go-vise` by cloning the repository into a separate directory. The main upstream repository is hosted at: `https://github.com/grassrootseconomics/go-vise` ``` -git clone https://git.defalsify.org/vise.git +git clone https://github.com/grassrootseconomics/go-vise ``` ## Setup -- 2.45.2 From 16e2bbb409ddcdd8f801ae763c9a547c1f6fb684 Mon Sep 17 00:00:00 2001 From: Alfred Kamanda Date: Wed, 20 Aug 2025 16:12:35 +0300 Subject: [PATCH 7/7] use updated visedriver-africastalking to correctly log the incoming request --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 4ccece4..a380852 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( git.grassecon.net/grassrootseconomics/common v0.9.0-beta.1.0.20250417111317-2953f4c2f32e git.grassecon.net/grassrootseconomics/sarafu-api v0.9.0-beta.1.0.20250819094350-3c8e3d1bc86f git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.2.0.20250819084006-5a9c82207578 - git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.9.0-beta.1.0.20250819143213-4e0d0b53e8e2 + git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.9.0-beta.1.0.20250820130947-615f1d32acbe github.com/alecthomas/assert/v2 v2.11.0 github.com/gofrs/uuid v4.4.0+incompatible github.com/grassrootseconomics/ethutils v1.3.1 diff --git a/go.sum b/go.sum index 6e415d0..24d1cea 100644 --- a/go.sum +++ b/go.sum @@ -8,6 +8,8 @@ git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.2.0.20250819084006- git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.2.0.20250819084006-5a9c82207578/go.mod h1:hx6mjSyxKv5oxiJxB6EevJrMJIYjVoYxFEzBtpD+29c= git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.9.0-beta.1.0.20250819143213-4e0d0b53e8e2 h1:ZAb4ENotTZOIR15TG6Cu9pyKxRYpAAVSBp49n2Py2ic= git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.9.0-beta.1.0.20250819143213-4e0d0b53e8e2/go.mod h1:h9dhyoSJvgGHNqiFwyLANIEPswohNO5IRBrV+VvXbxI= +git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.9.0-beta.1.0.20250820130947-615f1d32acbe h1:l4Dw6/J269cBlJQlWMv5OnAMufeg+/qcGzJVkw1kocM= +git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.9.0-beta.1.0.20250820130947-615f1d32acbe/go.mod h1:h9dhyoSJvgGHNqiFwyLANIEPswohNO5IRBrV+VvXbxI= github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= -- 2.45.2