From 62ff96b90e93fcbf8ccf445bff70aebfa7b13300 Mon Sep 17 00:00:00 2001 From: Stephan D Date: Thu, 22 Jan 2026 00:38:05 +0100 Subject: [PATCH 1/2] + ledger account ownerRef --- api/billing/fees/go.mod | 2 +- api/billing/fees/go.sum | 4 ++-- api/discovery/go.mod | 2 +- api/discovery/go.sum | 4 ++-- api/fx/ingestor/go.mod | 2 +- api/fx/ingestor/go.sum | 4 ++-- api/fx/oracle/go.mod | 2 +- api/fx/oracle/go.sum | 4 ++-- api/fx/storage/go.mod | 2 +- api/fx/storage/go.sum | 4 ++-- api/gateway/chain/go.mod | 2 +- api/gateway/chain/go.sum | 4 ++-- api/gateway/mntx/go.mod | 2 +- api/gateway/mntx/go.sum | 4 ++-- api/gateway/tgsettle/go.mod | 2 +- api/gateway/tgsettle/go.sum | 4 ++-- api/ledger/go.mod | 2 +- api/ledger/go.sum | 4 ++-- api/ledger/internal/service/ledger/accounts.go | 16 ++++++++++++++++ api/ledger/internal/service/ledger/connector.go | 1 + api/ledger/storage/model/account.go | 16 +++++++++------- api/notification/go.mod | 2 +- api/notification/go.sum | 4 ++-- api/payments/orchestrator/go.mod | 2 +- api/payments/orchestrator/go.sum | 4 ++-- api/pkg/go.mod | 2 +- api/pkg/go.sum | 4 ++-- api/proto/ledger/v1/ledger.proto | 3 ++- api/server/go.mod | 2 +- api/server/go.sum | 4 ++-- api/server/interface/api/sresponse/ledger.go | 2 ++ 31 files changed, 69 insertions(+), 47 deletions(-) diff --git a/api/billing/fees/go.mod b/api/billing/fees/go.mod index da4ca91d..f3a3ddc1 100644 --- a/api/billing/fees/go.mod +++ b/api/billing/fees/go.mod @@ -9,7 +9,7 @@ replace github.com/tech/sendico/fx/oracle => ../../fx/oracle require ( github.com/tech/sendico/fx/oracle v0.0.0 github.com/tech/sendico/pkg v0.1.0 - go.mongodb.org/mongo-driver v1.17.6 + go.mongodb.org/mongo-driver v1.17.7 go.uber.org/zap v1.27.1 google.golang.org/grpc v1.78.0 gopkg.in/yaml.v3 v3.0.1 diff --git a/api/billing/fees/go.sum b/api/billing/fees/go.sum index d919df05..ba370437 100644 --- a/api/billing/fees/go.sum +++ b/api/billing/fees/go.sum @@ -150,8 +150,8 @@ github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfS github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.mongodb.org/mongo-driver v1.17.6 h1:87JUG1wZfWsr6rIz3ZmpH90rL5tea7O3IHuSwHUpsss= -go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= +go.mongodb.org/mongo-driver v1.17.7 h1:a9w+U3Vt67eYzcfq3k/OAv284/uUUkL0uP75VE5rCOU= +go.mongodb.org/mongo-driver v1.17.7/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= diff --git a/api/discovery/go.mod b/api/discovery/go.mod index c78308b3..eb34c035 100644 --- a/api/discovery/go.mod +++ b/api/discovery/go.mod @@ -37,7 +37,7 @@ require ( github.com/xdg-go/scram v1.2.0 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect - go.mongodb.org/mongo-driver v1.17.6 // indirect + go.mongodb.org/mongo-driver v1.17.7 // indirect go.uber.org/multierr v1.11.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect golang.org/x/crypto v0.47.0 // indirect diff --git a/api/discovery/go.sum b/api/discovery/go.sum index d919df05..ba370437 100644 --- a/api/discovery/go.sum +++ b/api/discovery/go.sum @@ -150,8 +150,8 @@ github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfS github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.mongodb.org/mongo-driver v1.17.6 h1:87JUG1wZfWsr6rIz3ZmpH90rL5tea7O3IHuSwHUpsss= -go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= +go.mongodb.org/mongo-driver v1.17.7 h1:a9w+U3Vt67eYzcfq3k/OAv284/uUUkL0uP75VE5rCOU= +go.mongodb.org/mongo-driver v1.17.7/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= diff --git a/api/fx/ingestor/go.mod b/api/fx/ingestor/go.mod index 0d77bb8a..2b08ed60 100644 --- a/api/fx/ingestor/go.mod +++ b/api/fx/ingestor/go.mod @@ -42,7 +42,7 @@ require ( github.com/xdg-go/scram v1.2.0 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect - go.mongodb.org/mongo-driver v1.17.6 // indirect + go.mongodb.org/mongo-driver v1.17.7 // indirect go.uber.org/multierr v1.11.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect golang.org/x/crypto v0.47.0 // indirect diff --git a/api/fx/ingestor/go.sum b/api/fx/ingestor/go.sum index d919df05..ba370437 100644 --- a/api/fx/ingestor/go.sum +++ b/api/fx/ingestor/go.sum @@ -150,8 +150,8 @@ github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfS github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.mongodb.org/mongo-driver v1.17.6 h1:87JUG1wZfWsr6rIz3ZmpH90rL5tea7O3IHuSwHUpsss= -go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= +go.mongodb.org/mongo-driver v1.17.7 h1:a9w+U3Vt67eYzcfq3k/OAv284/uUUkL0uP75VE5rCOU= +go.mongodb.org/mongo-driver v1.17.7/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= diff --git a/api/fx/oracle/go.mod b/api/fx/oracle/go.mod index 2e5a0c9c..df303c7d 100644 --- a/api/fx/oracle/go.mod +++ b/api/fx/oracle/go.mod @@ -11,7 +11,7 @@ require ( github.com/prometheus/client_golang v1.23.2 github.com/tech/sendico/fx/storage v0.0.0 github.com/tech/sendico/pkg v0.1.0 - go.mongodb.org/mongo-driver v1.17.6 + go.mongodb.org/mongo-driver v1.17.7 go.uber.org/zap v1.27.1 google.golang.org/grpc v1.78.0 google.golang.org/protobuf v1.36.11 diff --git a/api/fx/oracle/go.sum b/api/fx/oracle/go.sum index d919df05..ba370437 100644 --- a/api/fx/oracle/go.sum +++ b/api/fx/oracle/go.sum @@ -150,8 +150,8 @@ github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfS github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.mongodb.org/mongo-driver v1.17.6 h1:87JUG1wZfWsr6rIz3ZmpH90rL5tea7O3IHuSwHUpsss= -go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= +go.mongodb.org/mongo-driver v1.17.7 h1:a9w+U3Vt67eYzcfq3k/OAv284/uUUkL0uP75VE5rCOU= +go.mongodb.org/mongo-driver v1.17.7/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= diff --git a/api/fx/storage/go.mod b/api/fx/storage/go.mod index f8022827..5951f9c6 100644 --- a/api/fx/storage/go.mod +++ b/api/fx/storage/go.mod @@ -6,7 +6,7 @@ replace github.com/tech/sendico/pkg => ../../pkg require ( github.com/tech/sendico/pkg v0.1.0 - go.mongodb.org/mongo-driver v1.17.6 + go.mongodb.org/mongo-driver v1.17.7 go.uber.org/zap v1.27.1 ) diff --git a/api/fx/storage/go.sum b/api/fx/storage/go.sum index 4c5b508a..b6d0bfd4 100644 --- a/api/fx/storage/go.sum +++ b/api/fx/storage/go.sum @@ -118,8 +118,8 @@ github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfS github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.mongodb.org/mongo-driver v1.17.6 h1:87JUG1wZfWsr6rIz3ZmpH90rL5tea7O3IHuSwHUpsss= -go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= +go.mongodb.org/mongo-driver v1.17.7 h1:a9w+U3Vt67eYzcfq3k/OAv284/uUUkL0uP75VE5rCOU= +go.mongodb.org/mongo-driver v1.17.7/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= diff --git a/api/gateway/chain/go.mod b/api/gateway/chain/go.mod index ed3243bc..af1706c9 100644 --- a/api/gateway/chain/go.mod +++ b/api/gateway/chain/go.mod @@ -13,7 +13,7 @@ require ( github.com/shopspring/decimal v1.4.0 github.com/stretchr/testify v1.11.1 github.com/tech/sendico/pkg v0.1.0 - go.mongodb.org/mongo-driver v1.17.6 + go.mongodb.org/mongo-driver v1.17.7 go.uber.org/zap v1.27.1 google.golang.org/grpc v1.78.0 google.golang.org/protobuf v1.36.11 diff --git a/api/gateway/chain/go.sum b/api/gateway/chain/go.sum index 55fa8020..2bf8acf2 100644 --- a/api/gateway/chain/go.sum +++ b/api/gateway/chain/go.sum @@ -294,8 +294,8 @@ github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfS github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.mongodb.org/mongo-driver v1.17.6 h1:87JUG1wZfWsr6rIz3ZmpH90rL5tea7O3IHuSwHUpsss= -go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= +go.mongodb.org/mongo-driver v1.17.7 h1:a9w+U3Vt67eYzcfq3k/OAv284/uUUkL0uP75VE5rCOU= +go.mongodb.org/mongo-driver v1.17.7/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= diff --git a/api/gateway/mntx/go.mod b/api/gateway/mntx/go.mod index df4dae87..a3ceae91 100644 --- a/api/gateway/mntx/go.mod +++ b/api/gateway/mntx/go.mod @@ -42,7 +42,7 @@ require ( github.com/xdg-go/scram v1.2.0 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect - go.mongodb.org/mongo-driver v1.17.6 // indirect + go.mongodb.org/mongo-driver v1.17.7 // indirect go.uber.org/multierr v1.11.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect golang.org/x/crypto v0.47.0 // indirect diff --git a/api/gateway/mntx/go.sum b/api/gateway/mntx/go.sum index 809b11c6..a42f4d43 100644 --- a/api/gateway/mntx/go.sum +++ b/api/gateway/mntx/go.sum @@ -152,8 +152,8 @@ github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfS github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.mongodb.org/mongo-driver v1.17.6 h1:87JUG1wZfWsr6rIz3ZmpH90rL5tea7O3IHuSwHUpsss= -go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= +go.mongodb.org/mongo-driver v1.17.7 h1:a9w+U3Vt67eYzcfq3k/OAv284/uUUkL0uP75VE5rCOU= +go.mongodb.org/mongo-driver v1.17.7/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= diff --git a/api/gateway/tgsettle/go.mod b/api/gateway/tgsettle/go.mod index b347fbd9..dfa5dac9 100644 --- a/api/gateway/tgsettle/go.mod +++ b/api/gateway/tgsettle/go.mod @@ -6,7 +6,7 @@ replace github.com/tech/sendico/pkg => ../../pkg require ( github.com/tech/sendico/pkg v0.1.0 - go.mongodb.org/mongo-driver v1.17.6 + go.mongodb.org/mongo-driver v1.17.7 go.uber.org/zap v1.27.1 google.golang.org/grpc v1.78.0 google.golang.org/protobuf v1.36.11 diff --git a/api/gateway/tgsettle/go.sum b/api/gateway/tgsettle/go.sum index d919df05..ba370437 100644 --- a/api/gateway/tgsettle/go.sum +++ b/api/gateway/tgsettle/go.sum @@ -150,8 +150,8 @@ github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfS github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.mongodb.org/mongo-driver v1.17.6 h1:87JUG1wZfWsr6rIz3ZmpH90rL5tea7O3IHuSwHUpsss= -go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= +go.mongodb.org/mongo-driver v1.17.7 h1:a9w+U3Vt67eYzcfq3k/OAv284/uUUkL0uP75VE5rCOU= +go.mongodb.org/mongo-driver v1.17.7/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= diff --git a/api/ledger/go.mod b/api/ledger/go.mod index 792bb587..ddab3789 100644 --- a/api/ledger/go.mod +++ b/api/ledger/go.mod @@ -9,7 +9,7 @@ require ( github.com/shopspring/decimal v1.4.0 github.com/stretchr/testify v1.11.1 github.com/tech/sendico/pkg v0.1.0 - go.mongodb.org/mongo-driver v1.17.6 + go.mongodb.org/mongo-driver v1.17.7 go.uber.org/zap v1.27.1 google.golang.org/grpc v1.78.0 google.golang.org/protobuf v1.36.11 diff --git a/api/ledger/go.sum b/api/ledger/go.sum index 0be597c9..f796ca0a 100644 --- a/api/ledger/go.sum +++ b/api/ledger/go.sum @@ -152,8 +152,8 @@ github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfS github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.mongodb.org/mongo-driver v1.17.6 h1:87JUG1wZfWsr6rIz3ZmpH90rL5tea7O3IHuSwHUpsss= -go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= +go.mongodb.org/mongo-driver v1.17.7 h1:a9w+U3Vt67eYzcfq3k/OAv284/uUUkL0uP75VE5rCOU= +go.mongodb.org/mongo-driver v1.17.7/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= diff --git a/api/ledger/internal/service/ledger/accounts.go b/api/ledger/internal/service/ledger/accounts.go index c8875aca..de6084e1 100644 --- a/api/ledger/internal/service/ledger/accounts.go +++ b/api/ledger/internal/service/ledger/accounts.go @@ -76,6 +76,15 @@ func (s *Service) createAccountResponder(_ context.Context, req *ledgerv1.Create describable := describableFromProto(req.GetDescribable()) + var ownerRef *primitive.ObjectID + if req.GetOwnerRef() != "" { + ownerObjID, err := parseObjectID(req.GetOwnerRef()) + if err != nil { + return nil, merrors.InvalidArgument(req.GetOwnerRef(), "owner_ref") + } + ownerRef = &ownerObjID + } + account := &model.Account{ AccountCode: accountCode, Currency: currency, @@ -84,6 +93,7 @@ func (s *Service) createAccountResponder(_ context.Context, req *ledgerv1.Create AllowNegative: req.GetAllowNegative(), IsSettlement: req.GetIsSettlement(), Metadata: metadata, + OwnerRef: ownerRef, } if describable != nil { account.Describable = *describable @@ -209,9 +219,15 @@ func toProtoAccount(account *model.Account) *ledgerv1.LedgerAccount { metadata = nil } + var ownerRef string + if account.OwnerRef != nil && !account.OwnerRef.IsZero() { + ownerRef = account.OwnerRef.Hex() + } + return &ledgerv1.LedgerAccount{ LedgerAccountRef: accountRef, OrganizationRef: organizationRef, + OwnerRef: ownerRef, AccountCode: account.AccountCode, AccountType: modelAccountTypeToProto(account.AccountType), Currency: account.Currency, diff --git a/api/ledger/internal/service/ledger/connector.go b/api/ledger/internal/service/ledger/connector.go index 570eab35..2952c8b1 100644 --- a/api/ledger/internal/service/ledger/connector.go +++ b/api/ledger/internal/service/ledger/connector.go @@ -89,6 +89,7 @@ func (c *connectorAdapter) OpenAccount(ctx context.Context, req *connectorv1.Ope IsSettlement: reader.Bool("is_settlement"), Metadata: metadata, Describable: describable, + OwnerRef: req.GetOwnerRef(), }) if err != nil { return &connectorv1.OpenAccountResponse{Error: connectorError(mapErrorCode(err), err.Error(), nil, "")}, nil diff --git a/api/ledger/storage/model/account.go b/api/ledger/storage/model/account.go index d5638030..d1b386c9 100644 --- a/api/ledger/storage/model/account.go +++ b/api/ledger/storage/model/account.go @@ -3,6 +3,7 @@ package model import ( "github.com/tech/sendico/pkg/db/storable" "github.com/tech/sendico/pkg/model" + "go.mongodb.org/mongo-driver/bson/primitive" ) // Account represents a ledger account that holds balances for a specific currency. @@ -11,13 +12,14 @@ type Account struct { model.PermissionBound `bson:",inline" json:",inline"` model.Describable `bson:",inline" json:",inline"` - AccountCode string `bson:"accountCode" json:"accountCode"` // e.g., "asset:cash:usd" - Currency string `bson:"currency" json:"currency"` // ISO 4217 currency code - AccountType AccountType `bson:"accountType" json:"accountType"` // asset, liability, revenue, expense - Status AccountStatus `bson:"status" json:"status"` // active, frozen, closed - AllowNegative bool `bson:"allowNegative" json:"allowNegative"` // debit policy: allow negative balances - IsSettlement bool `bson:"isSettlement,omitempty" json:"isSettlement,omitempty"` // marks org-level default contra account - Metadata map[string]string `bson:"metadata,omitempty" json:"metadata,omitempty"` + AccountCode string `bson:"accountCode" json:"accountCode"` // e.g., "asset:cash:usd" + Currency string `bson:"currency" json:"currency"` // ISO 4217 currency code + AccountType AccountType `bson:"accountType" json:"accountType"` // asset, liability, revenue, expense + Status AccountStatus `bson:"status" json:"status"` // active, frozen, closed + AllowNegative bool `bson:"allowNegative" json:"allowNegative"` // debit policy: allow negative balances + IsSettlement bool `bson:"isSettlement,omitempty" json:"isSettlement,omitempty"` // marks org-level default contra account + OwnerRef *primitive.ObjectID `bson:"ownerRef,omitempty" json:"ownerRef,omitempty"` // reference to the owner (e.g., user or entity) + Metadata map[string]string `bson:"metadata,omitempty" json:"metadata,omitempty"` } // Collection implements storable.Storable. diff --git a/api/notification/go.mod b/api/notification/go.mod index f1fa6bd9..0a7357c1 100644 --- a/api/notification/go.mod +++ b/api/notification/go.mod @@ -12,7 +12,7 @@ require ( github.com/sendgrid/sendgrid-go v3.16.1+incompatible github.com/tech/sendico/pkg v0.1.0 github.com/xhit/go-simple-mail/v2 v2.16.0 - go.mongodb.org/mongo-driver v1.17.6 + go.mongodb.org/mongo-driver v1.17.7 go.uber.org/zap v1.27.1 golang.org/x/text v0.33.0 gopkg.in/yaml.v3 v3.0.1 diff --git a/api/notification/go.sum b/api/notification/go.sum index 55c4e9f4..cac11a22 100644 --- a/api/notification/go.sum +++ b/api/notification/go.sum @@ -165,8 +165,8 @@ github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfS github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.mongodb.org/mongo-driver v1.17.6 h1:87JUG1wZfWsr6rIz3ZmpH90rL5tea7O3IHuSwHUpsss= -go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= +go.mongodb.org/mongo-driver v1.17.7 h1:a9w+U3Vt67eYzcfq3k/OAv284/uUUkL0uP75VE5rCOU= +go.mongodb.org/mongo-driver v1.17.7/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= diff --git a/api/payments/orchestrator/go.mod b/api/payments/orchestrator/go.mod index 3ff84f7b..1fee0596 100644 --- a/api/payments/orchestrator/go.mod +++ b/api/payments/orchestrator/go.mod @@ -22,7 +22,7 @@ require ( github.com/tech/sendico/gateway/mntx v0.0.0-00010101000000-000000000000 github.com/tech/sendico/ledger v0.0.0-00010101000000-000000000000 github.com/tech/sendico/pkg v0.1.0 - go.mongodb.org/mongo-driver v1.17.6 + go.mongodb.org/mongo-driver v1.17.7 go.uber.org/zap v1.27.1 google.golang.org/grpc v1.78.0 google.golang.org/protobuf v1.36.11 diff --git a/api/payments/orchestrator/go.sum b/api/payments/orchestrator/go.sum index 9d8d301c..c4e4356b 100644 --- a/api/payments/orchestrator/go.sum +++ b/api/payments/orchestrator/go.sum @@ -153,8 +153,8 @@ github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfS github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.mongodb.org/mongo-driver v1.17.6 h1:87JUG1wZfWsr6rIz3ZmpH90rL5tea7O3IHuSwHUpsss= -go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= +go.mongodb.org/mongo-driver v1.17.7 h1:a9w+U3Vt67eYzcfq3k/OAv284/uUUkL0uP75VE5rCOU= +go.mongodb.org/mongo-driver v1.17.7/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= diff --git a/api/pkg/go.mod b/api/pkg/go.mod index d3f3d55c..9eaf1a42 100644 --- a/api/pkg/go.mod +++ b/api/pkg/go.mod @@ -14,7 +14,7 @@ require ( github.com/stretchr/testify v1.11.1 github.com/testcontainers/testcontainers-go v0.33.0 github.com/testcontainers/testcontainers-go/modules/mongodb v0.33.0 - go.mongodb.org/mongo-driver v1.17.6 + go.mongodb.org/mongo-driver v1.17.7 go.uber.org/zap v1.27.1 golang.org/x/crypto v0.47.0 google.golang.org/grpc v1.78.0 diff --git a/api/pkg/go.sum b/api/pkg/go.sum index 634a348b..2aa3b943 100644 --- a/api/pkg/go.sum +++ b/api/pkg/go.sum @@ -168,8 +168,8 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.mongodb.org/mongo-driver v1.17.6 h1:87JUG1wZfWsr6rIz3ZmpH90rL5tea7O3IHuSwHUpsss= -go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= +go.mongodb.org/mongo-driver v1.17.7 h1:a9w+U3Vt67eYzcfq3k/OAv284/uUUkL0uP75VE5rCOU= +go.mongodb.org/mongo-driver v1.17.7/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= diff --git a/api/proto/ledger/v1/ledger.proto b/api/proto/ledger/v1/ledger.proto index f5fc1592..be7666cb 100644 --- a/api/proto/ledger/v1/ledger.proto +++ b/api/proto/ledger/v1/ledger.proto @@ -57,6 +57,7 @@ message LedgerAccount { google.protobuf.Timestamp created_at = 10; google.protobuf.Timestamp updated_at = 11; common.describable.v1.Describable describable = 12; + string owner_ref = 13; } // A single posting line (mirrors your PostingLine model) @@ -70,7 +71,7 @@ message PostingLine { message CreateAccountRequest { string organization_ref = 1; - string owner_ref = 2; + string owner_ref = 2; string account_code = 3; AccountType account_type = 4; string currency = 5; diff --git a/api/server/go.mod b/api/server/go.mod index 1ff582ba..d1169167 100644 --- a/api/server/go.mod +++ b/api/server/go.mod @@ -29,7 +29,7 @@ require ( github.com/tech/sendico/pkg v0.1.0 github.com/testcontainers/testcontainers-go v0.33.0 github.com/testcontainers/testcontainers-go/modules/mongodb v0.33.0 - go.mongodb.org/mongo-driver v1.17.6 + go.mongodb.org/mongo-driver v1.17.7 go.uber.org/zap v1.27.1 golang.org/x/net v0.49.0 google.golang.org/protobuf v1.36.11 diff --git a/api/server/go.sum b/api/server/go.sum index 7d00cc4f..95db3ce4 100644 --- a/api/server/go.sum +++ b/api/server/go.sum @@ -250,8 +250,8 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.mongodb.org/mongo-driver v1.17.6 h1:87JUG1wZfWsr6rIz3ZmpH90rL5tea7O3IHuSwHUpsss= -go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= +go.mongodb.org/mongo-driver v1.17.7 h1:a9w+U3Vt67eYzcfq3k/OAv284/uUUkL0uP75VE5rCOU= +go.mongodb.org/mongo-driver v1.17.7/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= diff --git a/api/server/interface/api/sresponse/ledger.go b/api/server/interface/api/sresponse/ledger.go index fc750082..028542d1 100644 --- a/api/server/interface/api/sresponse/ledger.go +++ b/api/server/interface/api/sresponse/ledger.go @@ -13,6 +13,7 @@ import ( type ledgerAccount struct { LedgerAccountRef string `json:"ledgerAccountRef"` OrganizationRef string `json:"organizationRef"` + OwnerRef string `json:"ownerRef,omitempty"` AccountCode string `json:"accountCode"` AccountType string `json:"accountType"` Currency string `json:"currency"` @@ -83,6 +84,7 @@ func toLedgerAccount(acc *ledgerv1.LedgerAccount) ledgerAccount { return ledgerAccount{ LedgerAccountRef: acc.GetLedgerAccountRef(), OrganizationRef: acc.GetOrganizationRef(), + OwnerRef: acc.GetOwnerRef(), AccountCode: acc.GetAccountCode(), AccountType: acc.GetAccountType().String(), Currency: acc.GetCurrency(), -- 2.49.1 From 8e46bc60619b5fe0de4af458381118b92110a0b4 Mon Sep 17 00:00:00 2001 From: Stephan D Date: Thu, 22 Jan 2026 01:00:55 +0100 Subject: [PATCH 2/2] ledger account service basis --- .../lib/data/dto/{payment => }/money.dart | 0 .../pshared/lib/data/dto/wallet/balance.dart | 2 +- .../pshared/lib/data/dto/wallet/money.dart | 18 ------ .../lib/data/mapper/{payment => }/money.dart | 15 ++--- .../lib/data/mapper/wallet/balance.dart | 2 +- .../pshared/lib/data/mapper/wallet/money.dart | 10 ---- .../lib/data/mapper/wallet/wallet.dart | 3 +- .../pshared/lib/models/ledger/account.dart | 58 +++++++++++++++++++ .../lib/models/{payment => }/money.dart | 0 .../pshared/lib/models/payment/fees/line.dart | 2 +- .../lib/models/payment/fees/network.dart | 2 +- .../pshared/lib/models/payment/fx/quote.dart | 2 +- .../pshared/lib/models/payment/intent.dart | 2 +- .../lib/models/payment/quote/aggregate.dart | 2 +- .../lib/models/payment/quote/quote.dart | 2 +- .../pshared/lib/models/wallet/balance.dart | 8 +-- frontend/pshared/lib/models/wallet/money.dart | 9 --- .../pshared/lib/models/wallet/wallet.dart | 10 ++-- .../payment/quotation/intent_builder.dart | 2 +- .../provider/payment/quotation/quotation.dart | 2 +- frontend/pshared/lib/service/ledger.dart | 31 ++++++++++ frontend/pshared/lib/service/services.dart | 1 + 22 files changed, 118 insertions(+), 65 deletions(-) rename frontend/pshared/lib/data/dto/{payment => }/money.dart (100%) delete mode 100644 frontend/pshared/lib/data/dto/wallet/money.dart rename frontend/pshared/lib/data/mapper/{payment => }/money.dart (52%) delete mode 100644 frontend/pshared/lib/data/mapper/wallet/money.dart create mode 100644 frontend/pshared/lib/models/ledger/account.dart rename frontend/pshared/lib/models/{payment => }/money.dart (100%) delete mode 100644 frontend/pshared/lib/models/wallet/money.dart create mode 100644 frontend/pshared/lib/service/ledger.dart diff --git a/frontend/pshared/lib/data/dto/payment/money.dart b/frontend/pshared/lib/data/dto/money.dart similarity index 100% rename from frontend/pshared/lib/data/dto/payment/money.dart rename to frontend/pshared/lib/data/dto/money.dart diff --git a/frontend/pshared/lib/data/dto/wallet/balance.dart b/frontend/pshared/lib/data/dto/wallet/balance.dart index 4be200ef..13c34a08 100644 --- a/frontend/pshared/lib/data/dto/wallet/balance.dart +++ b/frontend/pshared/lib/data/dto/wallet/balance.dart @@ -1,6 +1,6 @@ import 'package:json_annotation/json_annotation.dart'; -import 'package:pshared/data/dto/wallet/money.dart'; +import 'package:pshared/data/dto/money.dart'; part 'balance.g.dart'; diff --git a/frontend/pshared/lib/data/dto/wallet/money.dart b/frontend/pshared/lib/data/dto/wallet/money.dart deleted file mode 100644 index 17bf8dcd..00000000 --- a/frontend/pshared/lib/data/dto/wallet/money.dart +++ /dev/null @@ -1,18 +0,0 @@ -import 'package:json_annotation/json_annotation.dart'; - -part 'money.g.dart'; - - -@JsonSerializable() -class MoneyDTO { - final String amount; - final String currency; - - const MoneyDTO({ - required this.amount, - required this.currency, - }); - - factory MoneyDTO.fromJson(Map json) => _$MoneyDTOFromJson(json); - Map toJson() => _$MoneyDTOToJson(this); -} diff --git a/frontend/pshared/lib/data/mapper/payment/money.dart b/frontend/pshared/lib/data/mapper/money.dart similarity index 52% rename from frontend/pshared/lib/data/mapper/payment/money.dart rename to frontend/pshared/lib/data/mapper/money.dart index e2a67fbb..9b2841b3 100644 --- a/frontend/pshared/lib/data/mapper/payment/money.dart +++ b/frontend/pshared/lib/data/mapper/money.dart @@ -1,16 +1,17 @@ import 'package:pshared/data/dto/payment/money.dart'; -import 'package:pshared/models/payment/money.dart'; +import 'package:pshared/models/money.dart'; + extension MoneyMapper on Money { MoneyDTO toDTO() => MoneyDTO( - amount: amount, - currency: currency, - ); + amount: amount, + currency: currency, + ); } extension MoneyDTOMapper on MoneyDTO { Money toDomain() => Money( - amount: amount, - currency: currency, - ); + amount: amount, + currency: currency, + ); } diff --git a/frontend/pshared/lib/data/mapper/wallet/balance.dart b/frontend/pshared/lib/data/mapper/wallet/balance.dart index 0060fa06..5265bbd5 100644 --- a/frontend/pshared/lib/data/mapper/wallet/balance.dart +++ b/frontend/pshared/lib/data/mapper/wallet/balance.dart @@ -1,5 +1,5 @@ import 'package:pshared/data/dto/wallet/balance.dart'; -import 'package:pshared/data/mapper/wallet/money.dart'; +import 'package:pshared/data/mapper/money.dart'; import 'package:pshared/models/wallet/balance.dart'; diff --git a/frontend/pshared/lib/data/mapper/wallet/money.dart b/frontend/pshared/lib/data/mapper/wallet/money.dart deleted file mode 100644 index 72a6f2e8..00000000 --- a/frontend/pshared/lib/data/mapper/wallet/money.dart +++ /dev/null @@ -1,10 +0,0 @@ -import 'package:pshared/data/dto/wallet/money.dart'; -import 'package:pshared/models/wallet/money.dart'; - - -extension MoneyDTOMapper on MoneyDTO { - WalletMoney toDomain() => WalletMoney( - amount: amount, - currency: currency, - ); -} diff --git a/frontend/pshared/lib/data/mapper/wallet/wallet.dart b/frontend/pshared/lib/data/mapper/wallet/wallet.dart index 705ad28a..687e2541 100644 --- a/frontend/pshared/lib/data/mapper/wallet/wallet.dart +++ b/frontend/pshared/lib/data/mapper/wallet/wallet.dart @@ -1,11 +1,12 @@ import 'package:pshared/data/dto/wallet/balance.dart'; import 'package:pshared/data/dto/wallet/wallet.dart'; +import 'package:pshared/data/mapper/money.dart'; import 'package:pshared/data/mapper/wallet/asset.dart'; import 'package:pshared/data/mapper/wallet/balance.dart'; -import 'package:pshared/data/mapper/wallet/money.dart'; import 'package:pshared/models/describable.dart'; import 'package:pshared/models/wallet/wallet.dart'; + extension WalletDTOMapper on WalletDTO { WalletModel toDomain({WalletBalanceDTO? balance}) => WalletModel( walletRef: walletRef, diff --git a/frontend/pshared/lib/models/ledger/account.dart b/frontend/pshared/lib/models/ledger/account.dart new file mode 100644 index 00000000..1486a2a5 --- /dev/null +++ b/frontend/pshared/lib/models/ledger/account.dart @@ -0,0 +1,58 @@ +import 'package:pshared/models/describable.dart'; + + +class LedgerAccount implements Describable { + final String ledgerAccountRef; + final String organizationRef; + final String? ownerRef; + final String accountCode; + final String accountType; + final String currency; + final String status; + final bool allowNegative; + final bool isSettlement; + final Map? metadata; + final DateTime? createdAt; + final DateTime? updatedAt; + final Describable describable; + + @override + String get name => describable.name; + + @override + String? get description => describable.description; + + const LedgerAccount({ + required this.ledgerAccountRef, + required this.organizationRef, + this.ownerRef, + required this.accountCode, + required this.accountType, + required this.currency, + required this.status, + required this.allowNegative, + required this.isSettlement, + this.metadata, + this.createdAt, + this.updatedAt, + required this.describable, + }); + + LedgerAccount copyWith({ + Describable? describable, + }) => LedgerAccount( + ledgerAccountRef: ledgerAccountRef, + organizationRef: organizationRef, + ownerRef: ownerRef, + accountCode: accountCode, + accountType: accountType, + currency: currency, + status: status, + allowNegative: allowNegative, + isSettlement: isSettlement, + metadata: metadata, + createdAt: createdAt, + updatedAt: updatedAt, + describable: describable ?? this.describable, + ); +} diff --git a/frontend/pshared/lib/models/payment/money.dart b/frontend/pshared/lib/models/money.dart similarity index 100% rename from frontend/pshared/lib/models/payment/money.dart rename to frontend/pshared/lib/models/money.dart diff --git a/frontend/pshared/lib/models/payment/fees/line.dart b/frontend/pshared/lib/models/payment/fees/line.dart index bd5b40fc..9c8c22c2 100644 --- a/frontend/pshared/lib/models/payment/fees/line.dart +++ b/frontend/pshared/lib/models/payment/fees/line.dart @@ -1,4 +1,4 @@ -import 'package:pshared/models/payment/money.dart'; +import 'package:pshared/models/money.dart'; class FeeLine { diff --git a/frontend/pshared/lib/models/payment/fees/network.dart b/frontend/pshared/lib/models/payment/fees/network.dart index f9ea24b2..98c77edd 100644 --- a/frontend/pshared/lib/models/payment/fees/network.dart +++ b/frontend/pshared/lib/models/payment/fees/network.dart @@ -1,4 +1,4 @@ -import 'package:pshared/models/payment/money.dart'; +import 'package:pshared/models/money.dart'; class NetworkFee { diff --git a/frontend/pshared/lib/models/payment/fx/quote.dart b/frontend/pshared/lib/models/payment/fx/quote.dart index 91c21ddd..44d356b9 100644 --- a/frontend/pshared/lib/models/payment/fx/quote.dart +++ b/frontend/pshared/lib/models/payment/fx/quote.dart @@ -1,4 +1,4 @@ -import 'package:pshared/models/payment/money.dart'; +import 'package:pshared/models/money.dart'; class FxQuote { diff --git a/frontend/pshared/lib/models/payment/intent.dart b/frontend/pshared/lib/models/payment/intent.dart index 94fd5820..aeef6177 100644 --- a/frontend/pshared/lib/models/payment/intent.dart +++ b/frontend/pshared/lib/models/payment/intent.dart @@ -2,7 +2,7 @@ import 'package:pshared/models/payment/fx/intent.dart'; import 'package:pshared/models/payment/kind.dart'; import 'package:pshared/models/payment/customer.dart'; import 'package:pshared/models/payment/methods/data.dart'; -import 'package:pshared/models/payment/money.dart'; +import 'package:pshared/models/money.dart'; import 'package:pshared/models/payment/settlement_mode.dart'; diff --git a/frontend/pshared/lib/models/payment/quote/aggregate.dart b/frontend/pshared/lib/models/payment/quote/aggregate.dart index 07a006e9..6c236e13 100644 --- a/frontend/pshared/lib/models/payment/quote/aggregate.dart +++ b/frontend/pshared/lib/models/payment/quote/aggregate.dart @@ -1,4 +1,4 @@ -import 'package:pshared/models/payment/money.dart'; +import 'package:pshared/models/money.dart'; class PaymentQuoteAggregate { diff --git a/frontend/pshared/lib/models/payment/quote/quote.dart b/frontend/pshared/lib/models/payment/quote/quote.dart index 757b2381..da8eb73c 100644 --- a/frontend/pshared/lib/models/payment/quote/quote.dart +++ b/frontend/pshared/lib/models/payment/quote/quote.dart @@ -1,6 +1,6 @@ import 'package:pshared/models/payment/fees/line.dart'; import 'package:pshared/models/payment/fx/quote.dart'; -import 'package:pshared/models/payment/money.dart'; +import 'package:pshared/models/money.dart'; import 'package:pshared/models/payment/fees/network.dart'; diff --git a/frontend/pshared/lib/models/wallet/balance.dart b/frontend/pshared/lib/models/wallet/balance.dart index d0f8830a..ffde28b6 100644 --- a/frontend/pshared/lib/models/wallet/balance.dart +++ b/frontend/pshared/lib/models/wallet/balance.dart @@ -1,10 +1,10 @@ -import 'package:pshared/models/wallet/money.dart'; +import 'package:pshared/models/money.dart'; class WalletBalance { - final WalletMoney? available; - final WalletMoney? pendingInbound; - final WalletMoney? pendingOutbound; + final Money? available; + final Money? pendingInbound; + final Money? pendingOutbound; final DateTime? calculatedAt; const WalletBalance({ diff --git a/frontend/pshared/lib/models/wallet/money.dart b/frontend/pshared/lib/models/wallet/money.dart deleted file mode 100644 index 305ec204..00000000 --- a/frontend/pshared/lib/models/wallet/money.dart +++ /dev/null @@ -1,9 +0,0 @@ -class WalletMoney { - final String amount; - final String currency; - - const WalletMoney({ - required this.amount, - required this.currency, - }); -} diff --git a/frontend/pshared/lib/models/wallet/wallet.dart b/frontend/pshared/lib/models/wallet/wallet.dart index 9b1be420..d78c01dc 100644 --- a/frontend/pshared/lib/models/wallet/wallet.dart +++ b/frontend/pshared/lib/models/wallet/wallet.dart @@ -1,7 +1,7 @@ import 'package:pshared/models/describable.dart'; +import 'package:pshared/models/money.dart'; import 'package:pshared/models/wallet/asset.dart'; import 'package:pshared/models/wallet/balance.dart'; -import 'package:pshared/models/wallet/money.dart'; class WalletModel implements Describable { @@ -15,7 +15,7 @@ class WalletModel implements Describable { final DateTime? createdAt; final DateTime? updatedAt; final WalletBalance? balance; - final WalletMoney? availableMoney; + final Money? availableMoney; final Describable describable; @override @@ -40,8 +40,6 @@ class WalletModel implements Describable { }); WalletModel copyWith({ - WalletBalance? balance, - WalletMoney? availableMoney, Describable? describable, }) => WalletModel( walletRef: walletRef, @@ -53,8 +51,8 @@ class WalletModel implements Describable { metadata: metadata, createdAt: createdAt, updatedAt: updatedAt, - balance: balance ?? this.balance, - availableMoney: availableMoney ?? this.availableMoney, + balance: balance, + availableMoney: availableMoney, describable: describable ?? this.describable, ); } diff --git a/frontend/pshared/lib/provider/payment/quotation/intent_builder.dart b/frontend/pshared/lib/provider/payment/quotation/intent_builder.dart index def7d899..94107297 100644 --- a/frontend/pshared/lib/provider/payment/quotation/intent_builder.dart +++ b/frontend/pshared/lib/provider/payment/quotation/intent_builder.dart @@ -7,7 +7,7 @@ import 'package:pshared/models/payment/fx/side.dart'; import 'package:pshared/models/payment/kind.dart'; import 'package:pshared/models/payment/methods/managed_wallet.dart'; import 'package:pshared/models/payment/methods/type.dart'; -import 'package:pshared/models/payment/money.dart'; +import 'package:pshared/models/money.dart'; import 'package:pshared/models/payment/settlement_mode.dart'; import 'package:pshared/models/payment/intent.dart'; import 'package:pshared/models/recipient/recipient.dart'; diff --git a/frontend/pshared/lib/provider/payment/quotation/quotation.dart b/frontend/pshared/lib/provider/payment/quotation/quotation.dart index 3cf4daae..c14985ce 100644 --- a/frontend/pshared/lib/provider/payment/quotation/quotation.dart +++ b/frontend/pshared/lib/provider/payment/quotation/quotation.dart @@ -10,7 +10,7 @@ import 'package:pshared/data/mapper/payment/intent/payment.dart'; import 'package:pshared/models/asset.dart'; import 'package:pshared/models/payment/intent.dart'; import 'package:pshared/models/payment/quote/quote.dart'; -import 'package:pshared/models/payment/money.dart'; +import 'package:pshared/models/money.dart'; import 'package:pshared/provider/organizations.dart'; import 'package:pshared/provider/payment/amount.dart'; import 'package:pshared/provider/payment/flow.dart'; diff --git a/frontend/pshared/lib/service/ledger.dart b/frontend/pshared/lib/service/ledger.dart new file mode 100644 index 00000000..3de575d3 --- /dev/null +++ b/frontend/pshared/lib/service/ledger.dart @@ -0,0 +1,31 @@ +import 'package:pshared/api/responses/wallet_balance.dart'; +import 'package:pshared/api/responses/wallets.dart'; +import 'package:pshared/data/mapper/wallet/response.dart'; +import 'package:pshared/models/wallet/balance.dart'; +import 'package:pshared/models/wallet/wallet.dart'; +import 'package:pshared/service/authorization/service.dart'; +import 'package:pshared/service/services.dart'; + + +class LedgerService { + static const String _objectType = Services.ledger; + + static Future> list(String organizationRef) async { + final json = await AuthorizationService.getGETResponse( + _objectType, + '/$organizationRef', + ); + return WalletsResponse.fromJson(json).toDomain(); + } + + static Future getBalance({ + required String organizationRef, + required String walletRef, + }) async { + final json = await AuthorizationService.getGETResponse( + _objectType, + '/$organizationRef/$walletRef/balance', + ); + return WalletBalanceResponse.fromJson(json).toDomain(); + } +} diff --git a/frontend/pshared/lib/service/services.dart b/frontend/pshared/lib/service/services.dart index b23f4ae2..c2b2be3e 100644 --- a/frontend/pshared/lib/service/services.dart +++ b/frontend/pshared/lib/service/services.dart @@ -8,6 +8,7 @@ class Services { static const String permission = 'permissions'; static const String storage = 'storage'; static const String chainWallets = 'chain_wallets'; + static const String ledger = 'ledger_accounts'; static const String recipients = 'recipients'; static const String paymentMethods = 'payment_methods'; -- 2.49.1