diff --git a/api/ledger/internal/service/ledger/connector.go b/api/ledger/internal/service/ledger/connector.go index 3f6f2bc..3e0df7e 100644 --- a/api/ledger/internal/service/ledger/connector.go +++ b/api/ledger/internal/service/ledger/connector.go @@ -10,8 +10,8 @@ import ( "github.com/tech/sendico/ledger/internal/appversion" "github.com/tech/sendico/pkg/connector/params" "github.com/tech/sendico/pkg/merrors" - connectorv1 "github.com/tech/sendico/pkg/proto/connector/v1" moneyv1 "github.com/tech/sendico/pkg/proto/common/money/v1" + connectorv1 "github.com/tech/sendico/pkg/proto/connector/v1" ledgerv1 "github.com/tech/sendico/pkg/proto/ledger/v1" "google.golang.org/protobuf/types/known/structpb" "google.golang.org/protobuf/types/known/timestamppb" @@ -20,6 +20,7 @@ import ( const ledgerConnectorID = "ledger" type connectorAdapter struct { + connectorv1.UnimplementedConnectorServiceServer svc *Service } @@ -30,9 +31,9 @@ func newConnectorAdapter(svc *Service) *connectorAdapter { func (c *connectorAdapter) GetCapabilities(_ context.Context, _ *connectorv1.GetCapabilitiesRequest) (*connectorv1.GetCapabilitiesResponse, error) { return &connectorv1.GetCapabilitiesResponse{ Capabilities: &connectorv1.ConnectorCapabilities{ - ConnectorType: ledgerConnectorID, - Version: appversion.Create().Short(), - SupportedAccountKinds: []connectorv1.AccountKind{connectorv1.AccountKind_LEDGER_ACCOUNT}, + ConnectorType: ledgerConnectorID, + Version: appversion.Create().Short(), + SupportedAccountKinds: []connectorv1.AccountKind{connectorv1.AccountKind_LEDGER_ACCOUNT}, SupportedOperationTypes: []connectorv1.OperationType{ connectorv1.OperationType_CREDIT, connectorv1.OperationType_DEBIT, @@ -142,10 +143,10 @@ func (c *connectorAdapter) GetBalance(ctx context.Context, req *connectorv1.GetB } return &connectorv1.GetBalanceResponse{ Balance: &connectorv1.Balance{ - AccountRef: req.GetAccountRef(), - Available: resp.GetBalance(), - CalculatedAt: resp.GetLastUpdated(), - PendingInbound: nil, + AccountRef: req.GetAccountRef(), + Available: resp.GetBalance(), + CalculatedAt: resp.GetLastUpdated(), + PendingInbound: nil, PendingOutbound: nil, }, }, nil @@ -221,15 +222,15 @@ func (c *connectorAdapter) SubmitOperation(ctx context.Context, req *connectorv1 return &connectorv1.SubmitOperationResponse{Receipt: &connectorv1.OperationReceipt{Error: connectorError(connectorv1.ErrorCode_INVALID_PARAMS, "transfer: from.account and to.account are required", op, "")}}, nil } resp, err := c.svc.TransferInternal(ctx, &ledgerv1.TransferRequest{ - IdempotencyKey: strings.TrimSpace(op.GetIdempotencyKey()), - OrganizationRef: orgRef, - FromLedgerAccountRef: fromID, - ToLedgerAccountRef: toID, - Money: op.GetMoney(), - Description: description, - Charges: charges, - Metadata: metadata, - EventTime: eventTime, + IdempotencyKey: strings.TrimSpace(op.GetIdempotencyKey()), + OrganizationRef: orgRef, + FromLedgerAccountRef: fromID, + ToLedgerAccountRef: toID, + Money: op.GetMoney(), + Description: description, + Charges: charges, + Metadata: metadata, + EventTime: eventTime, }) if err != nil { return &connectorv1.SubmitOperationResponse{Receipt: &connectorv1.OperationReceipt{Error: connectorError(mapErrorCode(err), err.Error(), op, "")}}, nil @@ -246,17 +247,17 @@ func (c *connectorAdapter) SubmitOperation(ctx context.Context, req *connectorv1 return &connectorv1.SubmitOperationResponse{Receipt: &connectorv1.OperationReceipt{Error: connectorError(connectorv1.ErrorCode_INVALID_PARAMS, err.Error(), op, "")}}, nil } resp, err := c.svc.ApplyFXWithCharges(ctx, &ledgerv1.FXRequest{ - IdempotencyKey: strings.TrimSpace(op.GetIdempotencyKey()), - OrganizationRef: orgRef, - FromLedgerAccountRef: fromID, - ToLedgerAccountRef: toID, - FromMoney: op.GetMoney(), - ToMoney: toMoney, - Rate: strings.TrimSpace(reader.String("rate")), - Description: description, - Charges: charges, - Metadata: metadata, - EventTime: eventTime, + IdempotencyKey: strings.TrimSpace(op.GetIdempotencyKey()), + OrganizationRef: orgRef, + FromLedgerAccountRef: fromID, + ToLedgerAccountRef: toID, + FromMoney: op.GetMoney(), + ToMoney: toMoney, + Rate: strings.TrimSpace(reader.String("rate")), + Description: description, + Charges: charges, + Metadata: metadata, + EventTime: eventTime, }) if err != nil { return &connectorv1.SubmitOperationResponse{Receipt: &connectorv1.OperationReceipt{Error: connectorError(mapErrorCode(err), err.Error(), op, "")}}, nil @@ -333,11 +334,11 @@ func ledgerAccountToConnector(account *ledgerv1.LedgerAccount) *connectorv1.Acco return nil } details, _ := structpb.NewStruct(map[string]interface{}{ - "account_code": account.GetAccountCode(), - "account_type": account.GetAccountType().String(), - "status": account.GetStatus().String(), + "account_code": account.GetAccountCode(), + "account_type": account.GetAccountType().String(), + "status": account.GetStatus().String(), "allow_negative": account.GetAllowNegative(), - "is_settlement": account.GetIsSettlement(), + "is_settlement": account.GetIsSettlement(), }) return &connectorv1.Account{ Ref: &connectorv1.AccountRef{ @@ -594,9 +595,9 @@ func mergeMetadata(base map[string]string, label, ownerRef, correlationID, paren func connectorError(code connectorv1.ErrorCode, message string, op *connectorv1.Operation, accountID string) *connectorv1.ConnectorError { err := &connectorv1.ConnectorError{ - Code: code, - Message: strings.TrimSpace(message), - AccountId: strings.TrimSpace(accountID), + Code: code, + Message: strings.TrimSpace(message), + AccountId: strings.TrimSpace(accountID), } if op != nil { err.CorrelationId = strings.TrimSpace(op.GetCorrelationId()) diff --git a/api/ledger/internal/service/ledger/service.go b/api/ledger/internal/service/ledger/service.go index 1332269..1ca2259 100644 --- a/api/ledger/internal/service/ledger/service.go +++ b/api/ledger/internal/service/ledger/service.go @@ -236,13 +236,6 @@ func (s *Service) GetStatement(ctx context.Context, req *ledgerv1.GetStatementRe return responder(ctx) } -func (s *Service) pingStorage(ctx context.Context) error { - if s.storage == nil { - return errStorageNotInitialized - } - return s.storage.Ping(ctx) -} - func (s *Service) quoteFeesForCredit(ctx context.Context, req *ledgerv1.PostCreditRequest) ([]*ledgerv1.PostingLine, error) { if !s.fees.available() { return nil, nil