implemented backend wallet service connection
Some checks failed
ci/woodpecker/push/chain_gateway Pipeline was successful
ci/woodpecker/push/billing_fees Pipeline was successful
ci/woodpecker/push/bff Pipeline was successful
ci/woodpecker/push/frontend Pipeline was successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/fx_ingestor Pipeline was successful
ci/woodpecker/push/fx_oracle Pipeline was successful
ci/woodpecker/push/nats Pipeline was successful
ci/woodpecker/push/ledger Pipeline was successful
ci/woodpecker/push/notification Pipeline was successful
ci/woodpecker/push/payments_orchestrator Pipeline was successful
ci/woodpecker/push/bump_version Pipeline failed

This commit is contained in:
Stephan D
2025-11-26 00:48:00 +01:00
parent 68f0a1048f
commit 48ccbb1c82
24 changed files with 420 additions and 37 deletions

View File

@@ -0,0 +1,15 @@
import 'package:pshared/data/dto/wallet/balance.dart';
import 'package:pshared/data/mapper/wallet/money.dart';
import 'package:pshared/models/wallet/balance.dart';
extension WalletBalanceDTOMapper on WalletBalanceDTO {
WalletBalance toDomain() => WalletBalance(
available: available?.toDomain(),
pendingInbound: pendingInbound?.toDomain(),
pendingOutbound: pendingOutbound?.toDomain(),
calculatedAt: (calculatedAt == null || calculatedAt!.isEmpty)
? null
: DateTime.tryParse(calculatedAt!),
);
}

View File

@@ -0,0 +1,10 @@
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,
);
}

View File

@@ -0,0 +1,14 @@
import 'package:pshared/api/responses/wallet_balance.dart';
import 'package:pshared/api/responses/wallets.dart';
import 'package:pshared/data/mapper/wallet/balance.dart';
import 'package:pshared/data/mapper/wallet/wallet.dart';
import 'package:pshared/models/wallet/balance.dart';
import 'package:pshared/models/wallet/wallet.dart';
extension WalletsResponseMapper on WalletsResponse {
List<WalletModel> toDomain() => wallets.map((w) => w.toDomain()).toList();
}
extension WalletBalanceResponseMapper on WalletBalanceResponse {
WalletBalance toDomain() => balance.toDomain();
}

View File

@@ -0,0 +1,26 @@
import 'package:pshared/data/dto/wallet/balance.dart';
import 'package:pshared/data/dto/wallet/wallet.dart';
import 'package:pshared/data/mapper/wallet/balance.dart';
import 'package:pshared/data/mapper/wallet/money.dart';
import 'package:pshared/models/wallet/wallet.dart';
extension WalletDTOMapper on WalletDTO {
WalletModel toDomain({WalletBalanceDTO? balance}) => WalletModel(
walletRef: walletRef,
organizationRef: organizationRef,
ownerRef: ownerRef,
asset: WalletAsset(
chain: asset.chain,
tokenSymbol: asset.tokenSymbol,
contractAddress: asset.contractAddress,
),
depositAddress: depositAddress,
status: status,
metadata: metadata,
createdAt: (createdAt == null || createdAt!.isEmpty) ? null : DateTime.tryParse(createdAt!),
updatedAt: (updatedAt == null || updatedAt!.isEmpty) ? null : DateTime.tryParse(updatedAt!),
balance: balance?.toDomain(),
availableMoney: balance?.available?.toDomain(),
);
}