Skip to content

Commit fb03e94

Browse files
committed
Merge remote-tracking branch 'upstream/flutter-version-3' into akhil/1340/fetching_the_list_of_wallets_available_to_create
2 parents 0403fa1 + aa273fc commit fb03e94

20 files changed

+812
-1088
lines changed

lib/api/response/p2p_advert_create_response_result.dart

+91-133
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// ignore_for_file: prefer_single_quotes, unnecessary_import, unused_import
22

33
import 'package:equatable/equatable.dart';
4-
import 'package:flutter_deriv_api/api/exceptions/exceptions.dart';
54

5+
import 'package:flutter_deriv_api/api/exceptions/base_api_exception.dart';
66
import 'package:flutter_deriv_api/api/models/base_exception_model.dart';
77
import 'package:flutter_deriv_api/basic_api/generated/p2p_advert_create_receive.dart';
88
import 'package:flutter_deriv_api/basic_api/generated/p2p_advert_create_send.dart';
@@ -25,10 +25,8 @@ abstract class P2pAdvertCreateResponseModel {
2525
class P2pAdvertCreateResponse extends P2pAdvertCreateResponseModel {
2626
/// Initializes P2p advert create response class.
2727
const P2pAdvertCreateResponse({
28-
P2pAdvertCreate? p2pAdvertCreate,
29-
}) : super(
30-
p2pAdvertCreate: p2pAdvertCreate,
31-
);
28+
super.p2pAdvertCreate,
29+
});
3230

3331
/// Creates an instance from JSON.
3432
factory P2pAdvertCreateResponse.fromJson(
@@ -185,6 +183,8 @@ final Map<String, VisibilityStatusItemEnum> visibilityStatusItemEnumMapper =
185183
"advertiser_ads_paused": VisibilityStatusItemEnum.advertiserAdsPaused,
186184
"advertiser_approval": VisibilityStatusItemEnum.advertiserApproval,
187185
"advertiser_balance": VisibilityStatusItemEnum.advertiserBalance,
186+
"advertiser_block_trade_ineligible":
187+
VisibilityStatusItemEnum.advertiserBlockTradeIneligible,
188188
"advertiser_daily_limit": VisibilityStatusItemEnum.advertiserDailyLimit,
189189
"advertiser_temp_ban": VisibilityStatusItemEnum.advertiserTempBan,
190190
};
@@ -212,6 +212,9 @@ enum VisibilityStatusItemEnum {
212212
/// advertiser_balance.
213213
advertiserBalance,
214214

215+
/// advertiser_block_trade_ineligible.
216+
advertiserBlockTradeIneligible,
217+
215218
/// advertiser_daily_limit.
216219
advertiserDailyLimit,
217220

@@ -229,6 +232,7 @@ abstract class P2pAdvertCreateModel {
229232
required this.rateType,
230233
required this.rateDisplay,
231234
required this.rate,
235+
required this.orderExpiryPeriod,
232236
required this.minOrderAmountLimitDisplay,
233237
required this.minOrderAmountLimit,
234238
required this.minOrderAmountDisplay,
@@ -245,6 +249,7 @@ abstract class P2pAdvertCreateModel {
245249
required this.createdTime,
246250
required this.country,
247251
required this.counterpartyType,
252+
required this.blockTrade,
248253
required this.amountDisplay,
249254
required this.amount,
250255
required this.advertiserDetails,
@@ -280,6 +285,9 @@ abstract class P2pAdvertCreateModel {
280285
/// Conversion rate from advertiser's account currency to `local_currency`. An absolute rate value (fixed), or percentage offset from current market rate (floating).
281286
final double rate;
282287

288+
/// Expiry period (seconds) for order created against this ad.
289+
final int orderExpiryPeriod;
290+
283291
/// Minimum order amount at this time, in `account_currency`, formatted to appropriate decimal places.
284292
final String minOrderAmountLimitDisplay;
285293

@@ -328,6 +336,9 @@ abstract class P2pAdvertCreateModel {
328336
/// Type of transaction from the opposite party's perspective.
329337
final CounterpartyTypeEnum counterpartyType;
330338

339+
/// Indicates if this is block trade advert or not.
340+
final bool blockTrade;
341+
331342
/// The total amount specified in advert, in `account_currency`, formatted to appropriate decimal places.
332343
final String amountDisplay;
333344

@@ -378,6 +389,7 @@ abstract class P2pAdvertCreateModel {
378389
/// - `advertiser_ads_paused`: the advertiser has paused all adverts.
379390
/// - `advertiser_approval`: the advertiser's proof of identity is not verified.
380391
/// - `advertiser_balance`: the advertiser's P2P balance is less than the minimum order.
392+
/// - `advertiser_block_trade_ineligible`: the advertiser is not currently eligible for block trading.
381393
/// - `advertiser_daily_limit`: the advertiser's remaining daily limit is less than the minimum order.
382394
/// - `advertiser_temp_ban`: the advertiser is temporarily banned from P2P.
383395
final List<VisibilityStatusItemEnum>? visibilityStatus;
@@ -387,82 +399,46 @@ abstract class P2pAdvertCreateModel {
387399
class P2pAdvertCreate extends P2pAdvertCreateModel {
388400
/// Initializes P2p advert create class.
389401
const P2pAdvertCreate({
390-
required String accountCurrency,
391-
required int activeOrders,
392-
required AdvertiserDetails advertiserDetails,
393-
required double amount,
394-
required String amountDisplay,
395-
required CounterpartyTypeEnum counterpartyType,
396-
required String country,
397-
required DateTime createdTime,
398-
required String description,
399-
required String id,
400-
required bool isActive,
401-
required bool isVisible,
402-
required String localCurrency,
403-
required double maxOrderAmount,
404-
required String maxOrderAmountDisplay,
405-
required double maxOrderAmountLimit,
406-
required String maxOrderAmountLimitDisplay,
407-
required double minOrderAmount,
408-
required String minOrderAmountDisplay,
409-
required double minOrderAmountLimit,
410-
required String minOrderAmountLimitDisplay,
411-
required double rate,
412-
required String rateDisplay,
413-
required RateTypeEnum rateType,
414-
required double remainingAmount,
415-
required String remainingAmountDisplay,
416-
required P2pAdvertCreateTypeEnum type,
417-
String? contactInfo,
418-
double? effectiveRate,
419-
String? effectiveRateDisplay,
420-
String? paymentInfo,
421-
String? paymentMethod,
422-
Map<String, PaymentMethodDetailsProperty>? paymentMethodDetails,
423-
List<String>? paymentMethodNames,
424-
double? price,
425-
String? priceDisplay,
426-
List<VisibilityStatusItemEnum>? visibilityStatus,
427-
}) : super(
428-
accountCurrency: accountCurrency,
429-
activeOrders: activeOrders,
430-
advertiserDetails: advertiserDetails,
431-
amount: amount,
432-
amountDisplay: amountDisplay,
433-
counterpartyType: counterpartyType,
434-
country: country,
435-
createdTime: createdTime,
436-
description: description,
437-
id: id,
438-
isActive: isActive,
439-
isVisible: isVisible,
440-
localCurrency: localCurrency,
441-
maxOrderAmount: maxOrderAmount,
442-
maxOrderAmountDisplay: maxOrderAmountDisplay,
443-
maxOrderAmountLimit: maxOrderAmountLimit,
444-
maxOrderAmountLimitDisplay: maxOrderAmountLimitDisplay,
445-
minOrderAmount: minOrderAmount,
446-
minOrderAmountDisplay: minOrderAmountDisplay,
447-
minOrderAmountLimit: minOrderAmountLimit,
448-
minOrderAmountLimitDisplay: minOrderAmountLimitDisplay,
449-
rate: rate,
450-
rateDisplay: rateDisplay,
451-
rateType: rateType,
452-
remainingAmount: remainingAmount,
453-
remainingAmountDisplay: remainingAmountDisplay,
454-
type: type,
455-
contactInfo: contactInfo,
456-
effectiveRate: effectiveRate,
457-
effectiveRateDisplay: effectiveRateDisplay,
458-
paymentInfo: paymentInfo,
459-
paymentMethod: paymentMethod,
460-
paymentMethodDetails: paymentMethodDetails,
461-
paymentMethodNames: paymentMethodNames,
462-
price: price,
463-
priceDisplay: priceDisplay,
464-
visibilityStatus: visibilityStatus,
465-
);
402+
required super.accountCurrency,
403+
required super.activeOrders,
404+
required super.advertiserDetails,
405+
required super.amount,
406+
required super.amountDisplay,
407+
required super.blockTrade,
408+
required super.counterpartyType,
409+
required super.country,
410+
required super.createdTime,
411+
required super.description,
412+
required super.id,
413+
required super.isActive,
414+
required super.isVisible,
415+
required super.localCurrency,
416+
required super.maxOrderAmount,
417+
required super.maxOrderAmountDisplay,
418+
required super.maxOrderAmountLimit,
419+
required super.maxOrderAmountLimitDisplay,
420+
required super.minOrderAmount,
421+
required super.minOrderAmountDisplay,
422+
required super.minOrderAmountLimit,
423+
required super.minOrderAmountLimitDisplay,
424+
required super.orderExpiryPeriod,
425+
required super.rate,
426+
required super.rateDisplay,
427+
required super.rateType,
428+
required super.remainingAmount,
429+
required super.remainingAmountDisplay,
430+
required super.type,
431+
super.contactInfo,
432+
super.effectiveRate,
433+
super.effectiveRateDisplay,
434+
super.paymentInfo,
435+
super.paymentMethod,
436+
super.paymentMethodDetails,
437+
super.paymentMethodNames,
438+
super.price,
439+
super.priceDisplay,
440+
super.visibilityStatus,
441+
});
466442

467443
/// Creates an instance from JSON.
468444
factory P2pAdvertCreate.fromJson(Map<String, dynamic> json) =>
@@ -473,6 +449,7 @@ class P2pAdvertCreate extends P2pAdvertCreateModel {
473449
AdvertiserDetails.fromJson(json['advertiser_details']),
474450
amount: getDouble(json['amount'])!,
475451
amountDisplay: json['amount_display'],
452+
blockTrade: getBool(json['block_trade'])!,
476453
counterpartyType:
477454
counterpartyTypeEnumMapper[json['counterparty_type']]!,
478455
country: json['country'],
@@ -490,6 +467,7 @@ class P2pAdvertCreate extends P2pAdvertCreateModel {
490467
minOrderAmountDisplay: json['min_order_amount_display'],
491468
minOrderAmountLimit: getDouble(json['min_order_amount_limit'])!,
492469
minOrderAmountLimitDisplay: json['min_order_amount_limit_display'],
470+
orderExpiryPeriod: json['order_expiry_period'],
493471
rate: getDouble(json['rate'])!,
494472
rateDisplay: json['rate_display'],
495473
rateType: rateTypeEnumMapper[json['rate_type']]!,
@@ -542,6 +520,7 @@ class P2pAdvertCreate extends P2pAdvertCreateModel {
542520

543521
resultMap['amount'] = amount;
544522
resultMap['amount_display'] = amountDisplay;
523+
resultMap['block_trade'] = blockTrade;
545524
resultMap['counterparty_type'] = counterpartyTypeEnumMapper.entries
546525
.firstWhere((MapEntry<String, CounterpartyTypeEnum> entry) =>
547526
entry.value == counterpartyType)
@@ -561,6 +540,7 @@ class P2pAdvertCreate extends P2pAdvertCreateModel {
561540
resultMap['min_order_amount_display'] = minOrderAmountDisplay;
562541
resultMap['min_order_amount_limit'] = minOrderAmountLimit;
563542
resultMap['min_order_amount_limit_display'] = minOrderAmountLimitDisplay;
543+
resultMap['order_expiry_period'] = orderExpiryPeriod;
564544
resultMap['rate'] = rate;
565545
resultMap['rate_display'] = rateDisplay;
566546
resultMap['rate_type'] = rateTypeEnumMapper.entries
@@ -611,6 +591,7 @@ class P2pAdvertCreate extends P2pAdvertCreateModel {
611591
AdvertiserDetails? advertiserDetails,
612592
double? amount,
613593
String? amountDisplay,
594+
bool? blockTrade,
614595
CounterpartyTypeEnum? counterpartyType,
615596
String? country,
616597
DateTime? createdTime,
@@ -627,6 +608,7 @@ class P2pAdvertCreate extends P2pAdvertCreateModel {
627608
String? minOrderAmountDisplay,
628609
double? minOrderAmountLimit,
629610
String? minOrderAmountLimitDisplay,
611+
int? orderExpiryPeriod,
630612
double? rate,
631613
String? rateDisplay,
632614
RateTypeEnum? rateType,
@@ -650,6 +632,7 @@ class P2pAdvertCreate extends P2pAdvertCreateModel {
650632
advertiserDetails: advertiserDetails ?? this.advertiserDetails,
651633
amount: amount ?? this.amount,
652634
amountDisplay: amountDisplay ?? this.amountDisplay,
635+
blockTrade: blockTrade ?? this.blockTrade,
653636
counterpartyType: counterpartyType ?? this.counterpartyType,
654637
country: country ?? this.country,
655638
createdTime: createdTime ?? this.createdTime,
@@ -670,6 +653,7 @@ class P2pAdvertCreate extends P2pAdvertCreateModel {
670653
minOrderAmountLimit: minOrderAmountLimit ?? this.minOrderAmountLimit,
671654
minOrderAmountLimitDisplay:
672655
minOrderAmountLimitDisplay ?? this.minOrderAmountLimitDisplay,
656+
orderExpiryPeriod: orderExpiryPeriod ?? this.orderExpiryPeriod,
673657
rate: rate ?? this.rate,
674658
rateDisplay: rateDisplay ?? this.rateDisplay,
675659
rateType: rateType ?? this.rateType,
@@ -749,32 +733,19 @@ abstract class AdvertiserDetailsModel {
749733
class AdvertiserDetails extends AdvertiserDetailsModel {
750734
/// Initializes Advertiser details class.
751735
const AdvertiserDetails({
752-
required int completedOrdersCount,
753-
required String id,
754-
required bool isOnline,
755-
required String name,
756-
required int ratingCount,
757-
String? firstName,
758-
String? lastName,
759-
DateTime? lastOnlineTime,
760-
double? ratingAverage,
761-
double? recommendedAverage,
762-
int? recommendedCount,
763-
double? totalCompletionRate,
764-
}) : super(
765-
completedOrdersCount: completedOrdersCount,
766-
id: id,
767-
isOnline: isOnline,
768-
name: name,
769-
ratingCount: ratingCount,
770-
firstName: firstName,
771-
lastName: lastName,
772-
lastOnlineTime: lastOnlineTime,
773-
ratingAverage: ratingAverage,
774-
recommendedAverage: recommendedAverage,
775-
recommendedCount: recommendedCount,
776-
totalCompletionRate: totalCompletionRate,
777-
);
736+
required super.completedOrdersCount,
737+
required super.id,
738+
required super.isOnline,
739+
required super.name,
740+
required super.ratingCount,
741+
super.firstName,
742+
super.lastName,
743+
super.lastOnlineTime,
744+
super.ratingAverage,
745+
super.recommendedAverage,
746+
super.recommendedCount,
747+
super.totalCompletionRate,
748+
});
778749

779750
/// Creates an instance from JSON.
780751
factory AdvertiserDetails.fromJson(Map<String, dynamic> json) =>
@@ -884,22 +855,14 @@ abstract class PaymentMethodDetailsPropertyModel {
884855
class PaymentMethodDetailsProperty extends PaymentMethodDetailsPropertyModel {
885856
/// Initializes Payment method details property class.
886857
const PaymentMethodDetailsProperty({
887-
required Map<String, FieldsProperty> fields,
888-
required bool isEnabled,
889-
required String method,
890-
required PaymentMethodDetailsPropertyTypeEnum type,
891-
String? displayName,
892-
List<String>? usedByAdverts,
893-
List<String>? usedByOrders,
894-
}) : super(
895-
fields: fields,
896-
isEnabled: isEnabled,
897-
method: method,
898-
type: type,
899-
displayName: displayName,
900-
usedByAdverts: usedByAdverts,
901-
usedByOrders: usedByOrders,
902-
);
858+
required super.fields,
859+
required super.isEnabled,
860+
required super.method,
861+
required super.type,
862+
super.displayName,
863+
super.usedByAdverts,
864+
super.usedByOrders,
865+
});
903866

904867
/// Creates an instance from JSON.
905868
factory PaymentMethodDetailsProperty.fromJson(Map<String, dynamic> json) =>
@@ -1009,16 +972,11 @@ abstract class FieldsPropertyModel {
1009972
class FieldsProperty extends FieldsPropertyModel {
1010973
/// Initializes Fields property class.
1011974
const FieldsProperty({
1012-
required String displayName,
1013-
required int required,
1014-
required TypeEnum type,
1015-
required String value,
1016-
}) : super(
1017-
displayName: displayName,
1018-
required: required,
1019-
type: type,
1020-
value: value,
1021-
);
975+
required super.displayName,
976+
required super.required,
977+
required super.type,
978+
required super.value,
979+
});
1022980

1023981
/// Creates an instance from JSON.
1024982
factory FieldsProperty.fromJson(Map<String, dynamic> json) => FieldsProperty(

0 commit comments

Comments
 (0)