restucturization of recipients payment methods
All checks were successful
ci/woodpecker/push/billing_fees Pipeline was successful
ci/woodpecker/push/bff Pipeline was successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/chain_gateway Pipeline was successful
ci/woodpecker/push/fx_ingestor Pipeline was successful
ci/woodpecker/push/fx_oracle Pipeline was successful
ci/woodpecker/push/frontend 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

This commit is contained in:
Stephan D
2025-12-04 14:40:21 +01:00
parent 3b04753f4e
commit bf85ca062c
120 changed files with 1415 additions and 538 deletions

View File

@@ -1,5 +1,6 @@
import 'package:pshared/models/payment/methods/card.dart';
import 'package:pshared/models/payment/methods/iban.dart';
import 'package:pshared/models/payment/methods/crypto_address.dart';
import 'package:pshared/models/payment/methods/russian_bank.dart';
import 'package:pshared/models/payment/methods/wallet.dart';
import 'package:pshared/models/recipient/status.dart';
@@ -16,6 +17,7 @@ class Recipient {
final IbanPaymentMethod? iban;
final RussianBankAccountPaymentMethod? bank;
final WalletPaymentMethod? wallet;
final CryptoAddressPaymentMethod? cryptoAddress;
const Recipient({
this.avatarUrl,
@@ -27,6 +29,7 @@ class Recipient {
this.iban,
this.bank,
this.wallet,
this.cryptoAddress,
});
/// Convenience factory for quickly creating mock recipients.
@@ -39,6 +42,7 @@ class Recipient {
IbanPaymentMethod? iban,
RussianBankAccountPaymentMethod? bank,
WalletPaymentMethod? wallet,
CryptoAddressPaymentMethod? cryptoAddress,
}) =>
Recipient(
avatarUrl: null,
@@ -50,6 +54,7 @@ class Recipient {
iban: iban,
bank: bank,
wallet: wallet,
cryptoAddress: cryptoAddress,
);
bool matchesQuery(String q) {
@@ -71,6 +76,9 @@ class Recipient {
bank?.bik,
bank?.correspondentAccount,
wallet?.walletId,
cryptoAddress?.address,
cryptoAddress?.network,
cryptoAddress?.destinationTag,
];
return searchable.any((field) => field?.toLowerCase().contains(q) ?? false);