Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.0.0 #325

Merged
merged 144 commits into from
Jun 28, 2024
Merged
Changes from 2 commits
Commits
Show all changes
144 commits
Select commit Hold shift + click to select a range
ccbc11f
hamed/improve_connectivity_flow (#207)
hamed-rezaee Jul 22, 2022
7b98fc1
mohammadt/refactor_api_parser (#210)
mohammadt-deriv Jul 28, 2022
a9dbeda
Update LICENSE
hamed-rezaee Aug 18, 2022
8c0e60b
hamed/refactor_connection_cubit (#214)
hamed-rezaee Aug 23, 2022
7f970e6
hamed/replace_connectivity_plus_package_with_cross_connectivity (#215)
hamed-rezaee Aug 23, 2022
2bfa56c
hamed/reverts_replace_connectivity_plus_package_with_cross_connectivi…
hamed-rezaee Aug 23, 2022
ccfd688
hamed/refactor_connection_cubit (#217)
hamed-rezaee Aug 24, 2022
f138463
hamed/refactor_connection_bloc (#218)
hamed-rezaee Aug 24, 2022
60fa137
hamed/add_subgroup_to_active_symbols
hamed-rezaee Sep 12, 2022
50741e6
waqas/update_p2p_2fa_models (#220)
waqas-younas-deriv Sep 19, 2022
22a914b
hamed/refactor_server_time_cubit (#221)
hamed-rezaee Sep 20, 2022
92cc398
hamed/add_sync_time_cubit (#222)
hamed-rezaee Sep 22, 2022
ddd09cf
Waqas/ Add Cross border ad feature in p2p
waqas-younas-deriv Oct 4, 2022
df4320d
waqas-younas-deriv/add_cross_border_ad_feature_in_dp2p
ramin-deriv Oct 4, 2022
386a5a9
fix some tests
Oct 11, 2022
5e4bf04
Merge pull request #226 from ramin-deriv/ramin/fix_tests
ramin-deriv Oct 11, 2022
451dfeb
update website status recent changesa
Oct 12, 2022
daae6ea
Merge pull request #227 from ramin-deriv/ramin/update_website_status_…
ramin-deriv Oct 12, 2022
6278cef
Merge pull request #219 from hamed-deriv/hamed/add_subgroup_to_active…
ramin-deriv Oct 29, 2022
017846d
hamed/fix_api_disconnect_issue (#228)
hamed-rezaee Nov 2, 2022
e464965
mohammad-t/add_raw_methods_for_p2p_models (#225)
mohammadt-deriv Nov 25, 2022
60c595f
hamed/fix_add_event_after_closing_channel_issue (#230)
hamed-rezaee Nov 25, 2022
4b540f8
hamed/fix_add_event_after_closing_channel_issue (#231)
hamed-rezaee Nov 25, 2022
70b0b3a
hamed/update_deriv_ez_related_api_calls (#229)
hamed-rezaee Dec 15, 2022
896a988
hamed/add_raw_methods_for_p2p (#232)
hamed-rezaee Dec 21, 2022
dfd9ebb
hamed/add_raw_methods_for_p2p (#233)
hamed-rezaee Dec 21, 2022
7eb0296
hamed/make_some_methods_static (#234)
hamed-rezaee Dec 28, 2022
ca653f1
hamed/refactor_based_on_p2p_requirements (#235)
hamed-rezaee Dec 29, 2022
3b1d086
hamed/refactor_p2p_cancel_order_method (#236)
hamed-rezaee Dec 29, 2022
ba9a416
Update trading_platform_deposit_response_result.dart (#238)
hamed-rezaee Jan 9, 2023
8d7f318
muhsin/upgraded_connectivity_plus_dependency_version (#237)
muhsin-deriv Jan 12, 2023
7329cfb
reza/add_p2p_advertiser_list (#240)
Reza-deriv Jan 19, 2023
ae99f83
updated some classes based on json schemas
ramin-deriv Jan 31, 2023
9a6fce6
Merge pull request #241 from ramin-deriv/ramin/update_package_for_acc…
ramin-deriv Jan 31, 2023
1d53619
add accumulator contract type
rezam-deriv Feb 7, 2023
c2580f8
Merge pull request #242 from rezam-deriv/rezam-deriv/add_accumulator_…
ramin-deriv Feb 9, 2023
0f83dea
hamed/update_response_mapper (#243)
hamed-rezaee Feb 13, 2023
6d12981
naif/add_dart_new_features_to_code_generator (#244)
naif-deriv Feb 21, 2023
76d11c9
hamed/fix_add_to_channel_issue (#245)
hamed-rezaee Mar 2, 2023
1271c42
mohammad-t/improve_exceptions_to_string_function (#246)
mohammadt-deriv Mar 6, 2023
efe8d0a
mohammad-t/update_ping_timeout (#247)
mohammadt-deriv Mar 6, 2023
756411a
hamed/extract_dependency_injection_package (#248)
hamed-rezaee Mar 27, 2023
ba31043
Merge branch 'dev' into flutter-version-3
hamed-rezaee Mar 27, 2023
9d77e36
hamed/update_dependency_injector_package (#249)
hamed-rezaee Mar 27, 2023
8c01473
Merge branch 'dev' into flutter-version-3
hamed-rezaee Mar 27, 2023
bf57f53
hamed/add_debug_mode_to_websocket_connection (#250)
hamed-rezaee Mar 29, 2023
fbf0ffe
Merge branch 'dev' into flutter-version-3
hamed-rezaee Mar 30, 2023
9d6e570
sahani/upgrade_deriv_api_to_flutter_version_3 (#251)
sahani-deriv Apr 19, 2023
9790680
weng/updated_api_for_automation_limit_increase (#252)
weng-deriv Apr 27, 2023
ddb58e3
hamed/update_p2p_advertiser_update_request (#253)
hamed-rezaee May 10, 2023
75f8038
hamed/increase_call_manager_code_coverage (#255)
hamed-rezaee May 22, 2023
101b851
ahrar/resolve_recovery_issue (#258)
ahrar-deriv May 23, 2023
987703e
zohreh/update_auth_schema (#259)
zohreh-deriv May 23, 2023
e1544fd
Merge branch 'dev' into flutter-version-3
hamed-rezaee May 25, 2023
8ba6902
bassam/upgrade_to_flutter_3.10.0 (#254)
bassam-deriv May 25, 2023
f24bf41
Revert "ahrar/resolve_recovery_issue (#258)"
hamed-rezaee May 25, 2023
d0facdf
bassam/migrate_flutter_version_to_3_10 (#261)
bassam-deriv Jun 1, 2023
665e9a7
Merge branch 'dev' into flutter-version-3
hamed-rezaee Jun 1, 2023
3db0b4a
hamed/update_dependencies (#264)
hamed-rezaee Jun 1, 2023
198ac7c
sahani/ upgrade_kotlin_version (#266)
sahani-deriv Jun 12, 2023
11a07ac
hamed/improve_test_coverage (#265)
hamed-rezaee Jun 15, 2023
6deb910
hamed/update_readme_file
hamed-rezaee Jun 16, 2023
ddc27f4
Merge branch 'dev' into flutter-version-3
hamed-rezaee Jun 23, 2023
3eba7ed
aliakbar/added_p2p_ping_api_call (#267)
aliakbar-deriv Jul 5, 2023
213c704
ahrar/fix_reconnect_recovery (#263)
ahrar-deriv Jul 5, 2023
2985260
osama/cancel_old_timer_to_avoid_redundant api_calls_from_old_timers (…
osama-deriv Aug 3, 2023
8cbb46c
Merge branch 'dev' into flutter-version-3
hamed-rezaee Aug 3, 2023
2973132
MOBC-450/fix_connectivity_issue (#275)
sahani-deriv Aug 10, 2023
83b17b7
add auth endpoint to connection_information.dart class
osama-deriv Sep 6, 2023
f0d8352
add auth endpoint to connection_cubit.dart
osama-deriv Sep 6, 2023
b70287a
hamed/remove_http_client (#280)
hamed-rezaee Sep 6, 2023
de4a7dd
fix test
osama-deriv Sep 11, 2023
c3a2a71
ramin/update_package_for_wallet (#281)
ramin-deriv Sep 27, 2023
7e829ef
weng/updated_p2p_order_list_api_request (#282)
weng-deriv Oct 11, 2023
58038b0
Merge pull request #279 from osama-deriv/use-auth-for-redirection
waqas-younas-deriv Oct 25, 2023
13ce004
waqas/add_language_support_to_deriv_api
waqas-younas-deriv Nov 14, 2023
b4db925
chore: fix dependency injector branch (#289)
balakrishna-deriv Nov 23, 2023
2914565
Ramin/update_for_accumulators (#288)
ramin-deriv Dec 6, 2023
3a957ce
Updated p2p api send and receive requests for flexible order time sel…
weng-deriv Dec 6, 2023
10e5608
fix: deriv_dependency_injector versioning (#284)
sahani-deriv Dec 6, 2023
aa273fc
Merge pull request #287 from waqas-younas-deriv/add_language_change_s…
waqas-younas-deriv Dec 8, 2023
8167835
added available_accounts API endpoint
akhil-deriv Dec 8, 2023
a96d28e
updated sample app
akhil-deriv Dec 11, 2023
e2c7c76
Update lib/basic_api/generated/methods/available_accounts_receive_met…
akhil-deriv Dec 11, 2023
686a96b
added available accounts response extended
akhil-deriv Dec 13, 2023
d1b4762
Update lib/api/response/available_accounts_response_extended.dart
akhil-deriv Dec 13, 2023
42d1d21
Update lib/api/response/available_accounts_response_extended.dart
akhil-deriv Dec 13, 2023
df2df68
naif/add_dart_new_features_to_code_generator (#244)
naif-deriv Feb 21, 2023
8ee2f8f
sahani/upgrade_deriv_api_to_flutter_version_3 (#251)
sahani-deriv Apr 19, 2023
2ced824
bassam/upgrade_to_flutter_3.10.0 (#254)
bassam-deriv May 25, 2023
aa703cd
hamed/update_dependencies (#264)
hamed-rezaee Jun 1, 2023
39f2221
sahani/ upgrade_kotlin_version (#266)
sahani-deriv Jun 12, 2023
b755d0b
hamed/improve_test_coverage (#265)
hamed-rezaee Jun 15, 2023
b4d3f63
MOBC-450/fix_connectivity_issue (#275)
sahani-deriv Aug 10, 2023
f0cf95e
hamed/remove_http_client (#280)
hamed-rezaee Sep 6, 2023
15ad3bd
ramin/update_package_for_wallet (#281)
ramin-deriv Sep 27, 2023
6360d7d
weng/updated_p2p_order_list_api_request (#282)
weng-deriv Oct 11, 2023
c7fc160
add auth endpoint to connection_information.dart class
osama-deriv Sep 6, 2023
d755a51
add auth endpoint to connection_cubit.dart
osama-deriv Sep 6, 2023
c01a211
fix test
osama-deriv Sep 11, 2023
17c4d1e
chore: fix dependency injector branch (#289)
balakrishna-deriv Nov 23, 2023
27ed5e1
Ramin/update_for_accumulators (#288)
ramin-deriv Dec 6, 2023
54ac324
Updated p2p api send and receive requests for flexible order time sel…
weng-deriv Dec 6, 2023
356b29d
waqas/add_language_support_to_deriv_api
waqas-younas-deriv Nov 14, 2023
b5a88b6
Updated with latest dev
abedelaziz-deriv Dec 12, 2023
d25811b
ci: implement github actions with flutter test, analyze and build
naif-deriv Feb 21, 2023
0403fa1
added available accounts to response mapper helper
akhil-deriv Dec 18, 2023
fb03e94
Merge remote-tracking branch 'upstream/flutter-version-3' into akhil/…
akhil-deriv Dec 20, 2023
94dfda9
Merge pull request #290 from akhil-deriv/akhil/1340/fetching_the_list…
waqas-younas-deriv Dec 21, 2023
e0fc9e6
Added API call for trading platform reset password.
aliakbar-deriv Dec 28, 2023
41892a3
Added unit test for the API `trading_platform_password_reset`.
aliakbar-deriv Dec 29, 2023
884b460
feat: add subscription method for currency exchange rates
sagar-deriv Jan 4, 2024
5b3e0e8
feat: add unsubscribe method for currency exchange rate
sagar-deriv Jan 4, 2024
a104ee5
docs: add developer documentation for currency exchange functionality
sagar-deriv Jan 4, 2024
c6a70e0
refactor: add example UI for currency exchange
sagar-deriv Jan 5, 2024
693a37f
Add underlyingSymbol
osama-deriv Dec 20, 2023
f86ec5c
Add growth_rate, multiplier, deal_cancellation_duration, contract_type.
osama-deriv Dec 20, 2023
8b6d143
refactor: handle null case for exchange rates response
sagar-deriv Jan 8, 2024
3a7b130
Merge pull request #297 from sagar-deriv/feat/subscribtion_exchange_r…
waqas-younas-deriv Jan 8, 2024
0c76520
deps: update package_info_plus (#298)
sahani-deriv Jan 23, 2024
d2990a1
refactor: updated package
bassam-deriv Jan 25, 2024
ddb695d
refactor: updated `connectivity_plus` package
abedelaziz-deriv Jan 29, 2024
98454be
add new `get_limits` models.
naif-deriv Jan 29, 2024
22a7498
Added P2PSettings models
abedelaziz-deriv Jan 30, 2024
c9d1f69
Added P2PSettings models
abedelaziz-deriv Jan 31, 2024
280b7ef
Merge pull request #300 from naif-deriv/get_limits_update
waqas-younas-deriv Feb 2, 2024
8aa67d3
waqas/apply_latest_deriv_api_playground_changes
waqas-younas-deriv Feb 5, 2024
3c393f4
fix errors on models
waqas-younas-deriv Feb 5, 2024
0244d08
remove unwanted files
waqas-younas-deriv Feb 5, 2024
3729f1f
Merge pull request #302 from waqas-younas-deriv/bring_latest_api_play…
waqas-younas-deriv Feb 13, 2024
f277e80
Ramin/test proxy aware ws connection (#307)
ramin-deriv Feb 29, 2024
f337d60
fix TradingPlatformDepositResponseModel for deriv x top up issue (#305)
emad-deriv Mar 8, 2024
9c4c80f
ramin/make_proxy_aware_connection_configurable (#310)
ramin-deriv Mar 12, 2024
fa03a02
Reza/accept_null_request_json (#314)
Reza-deriv Mar 25, 2024
9bbe742
added p2p country list (#315)
weng-deriv Mar 25, 2024
62c2916
add_crypto_config_api_call (#316)
naif-deriv Mar 26, 2024
8f6dc0b
Feat(deriv_passkeys): [UPM-547] Added passkeys API calls (#308)
bassam-deriv Mar 29, 2024
66a87de
refactor: set userAgent for HttpClient in case of proxyAwareConnectio…
bassam-deriv Apr 3, 2024
29c03f3
Ernest/Addition_of_fatca_property_in_new_account_request_model (#319)
ernest-deriv May 28, 2024
6a4e111
refactor(flutter-deriv-api): Remove android ios modules (#321)
abedelaziz-deriv Jun 28, 2024
ef9a63a
Resolved conflicts
abedelaziz-deriv Jun 28, 2024
bc7c872
Formatting
abedelaziz-deriv Jun 28, 2024
378439f
Removed websocket channel dependency
abedelaziz-deriv Jun 28, 2024
dbe9e79
Merge pull request #323 from abedelaziz-deriv/resolve_conflict
abedelaziz-deriv Jun 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 38 additions & 1 deletion lib/api/response/p2p_order_dispute_response_result.dart
Original file line number Diff line number Diff line change
@@ -142,9 +142,12 @@ abstract class P2pOrderDisputeModel {
required this.advertiserDetails,
required this.advertDetails,
required this.accountCurrency,
this.verificationLockoutUntil,
this.verificationNextRequest,
this.verificationTokenExpiry,
});

/// Indicates that an email has been sent to verify confirmation of the order.
/// Indicates that the seller in the process of confirming the order.
final bool verificationPending;

/// Whether this is a buy or a sell.
@@ -212,6 +215,15 @@ abstract class P2pOrderDisputeModel {

/// The currency of order.
final String accountCurrency;

/// If blocked for too many failed verification attempts, the epoch time that the block will end.
final DateTime? verificationLockoutUntil;

/// If a verification request has already been made, the epoch time that another verification request can be made.
final DateTime? verificationNextRequest;

/// Epoch time that the current verification token will expire.
final DateTime? verificationTokenExpiry;
}

/// P2p order dispute class.
@@ -241,6 +253,9 @@ class P2pOrderDispute extends P2pOrderDisputeModel {
required StatusEnum status,
required TypeEnum type,
required bool verificationPending,
DateTime? verificationLockoutUntil,
DateTime? verificationNextRequest,
DateTime? verificationTokenExpiry,
}) : super(
accountCurrency: accountCurrency,
advertDetails: advertDetails,
@@ -265,6 +280,9 @@ class P2pOrderDispute extends P2pOrderDisputeModel {
status: status,
type: type,
verificationPending: verificationPending,
verificationLockoutUntil: verificationLockoutUntil,
verificationNextRequest: verificationNextRequest,
verificationTokenExpiry: verificationTokenExpiry,
);

/// Creates an instance from JSON.
@@ -294,6 +312,10 @@ class P2pOrderDispute extends P2pOrderDisputeModel {
status: statusEnumMapper[json['status']]!,
type: typeEnumMapper[json['type']]!,
verificationPending: getBool(json['verification_pending'])!,
verificationLockoutUntil:
getDateTime(json['verification_lockout_until']),
verificationNextRequest: getDateTime(json['verification_next_request']),
verificationTokenExpiry: getDateTime(json['verification_token_expiry']),
);

/// Converts an instance to JSON.
@@ -332,6 +354,12 @@ class P2pOrderDispute extends P2pOrderDisputeModel {
.firstWhere((MapEntry<String, TypeEnum> entry) => entry.value == type)
.key;
resultMap['verification_pending'] = verificationPending;
resultMap['verification_lockout_until'] =
getSecondsSinceEpochDateTime(verificationLockoutUntil);
resultMap['verification_next_request'] =
getSecondsSinceEpochDateTime(verificationNextRequest);
resultMap['verification_token_expiry'] =
getSecondsSinceEpochDateTime(verificationTokenExpiry);

return resultMap;
}
@@ -361,6 +389,9 @@ class P2pOrderDispute extends P2pOrderDisputeModel {
StatusEnum? status,
TypeEnum? type,
bool? verificationPending,
DateTime? verificationLockoutUntil,
DateTime? verificationNextRequest,
DateTime? verificationTokenExpiry,
}) =>
P2pOrderDispute(
accountCurrency: accountCurrency ?? this.accountCurrency,
@@ -386,6 +417,12 @@ class P2pOrderDispute extends P2pOrderDisputeModel {
status: status ?? this.status,
type: type ?? this.type,
verificationPending: verificationPending ?? this.verificationPending,
verificationLockoutUntil:
verificationLockoutUntil ?? this.verificationLockoutUntil,
verificationNextRequest:
verificationNextRequest ?? this.verificationNextRequest,
verificationTokenExpiry:
verificationTokenExpiry ?? this.verificationTokenExpiry,
);
}
/// Advert details model class.
39 changes: 38 additions & 1 deletion lib/api/response/p2p_order_info_response_result.dart
Original file line number Diff line number Diff line change
@@ -341,9 +341,12 @@ abstract class P2pOrderInfoModel {
this.paymentMethod,
this.paymentMethodDetails,
this.reviewDetails,
this.verificationLockoutUntil,
this.verificationNextRequest,
this.verificationTokenExpiry,
});

/// Indicates that an email has been sent to verify confirmation of the order.
/// Indicates that the seller in the process of confirming the order.
final bool verificationPending;

/// Whether this is a buy or a sell.
@@ -423,6 +426,15 @@ abstract class P2pOrderInfoModel {

/// Details of the review you gave for this order, if any.
final ReviewDetails? reviewDetails;

/// If blocked for too many failed verification attempts, the epoch time that the block will end.
final DateTime? verificationLockoutUntil;

/// If a verification request has already been made, the epoch time that another verification request can be made.
final DateTime? verificationNextRequest;

/// Epoch time that the current verification token will expire.
final DateTime? verificationTokenExpiry;
}

/// P2p order info class.
@@ -456,6 +468,9 @@ class P2pOrderInfo extends P2pOrderInfoModel {
String? paymentMethod,
Map<String, PaymentMethodDetailsProperty>? paymentMethodDetails,
ReviewDetails? reviewDetails,
DateTime? verificationLockoutUntil,
DateTime? verificationNextRequest,
DateTime? verificationTokenExpiry,
}) : super(
accountCurrency: accountCurrency,
advertDetails: advertDetails,
@@ -484,6 +499,9 @@ class P2pOrderInfo extends P2pOrderInfoModel {
paymentMethod: paymentMethod,
paymentMethodDetails: paymentMethodDetails,
reviewDetails: reviewDetails,
verificationLockoutUntil: verificationLockoutUntil,
verificationNextRequest: verificationNextRequest,
verificationTokenExpiry: verificationTokenExpiry,
);

/// Creates an instance from JSON.
@@ -528,6 +546,10 @@ class P2pOrderInfo extends P2pOrderInfoModel {
reviewDetails: json['review_details'] == null
? null
: ReviewDetails.fromJson(json['review_details']),
verificationLockoutUntil:
getDateTime(json['verification_lockout_until']),
verificationNextRequest: getDateTime(json['verification_next_request']),
verificationTokenExpiry: getDateTime(json['verification_token_expiry']),
);

/// Converts an instance to JSON.
@@ -572,6 +594,12 @@ class P2pOrderInfo extends P2pOrderInfoModel {
if (reviewDetails != null) {
resultMap['review_details'] = reviewDetails!.toJson();
}
resultMap['verification_lockout_until'] =
getSecondsSinceEpochDateTime(verificationLockoutUntil);
resultMap['verification_next_request'] =
getSecondsSinceEpochDateTime(verificationNextRequest);
resultMap['verification_token_expiry'] =
getSecondsSinceEpochDateTime(verificationTokenExpiry);

return resultMap;
}
@@ -605,6 +633,9 @@ class P2pOrderInfo extends P2pOrderInfoModel {
String? paymentMethod,
Map<String, PaymentMethodDetailsProperty>? paymentMethodDetails,
ReviewDetails? reviewDetails,
DateTime? verificationLockoutUntil,
DateTime? verificationNextRequest,
DateTime? verificationTokenExpiry,
}) =>
P2pOrderInfo(
accountCurrency: accountCurrency ?? this.accountCurrency,
@@ -634,6 +665,12 @@ class P2pOrderInfo extends P2pOrderInfoModel {
paymentMethod: paymentMethod ?? this.paymentMethod,
paymentMethodDetails: paymentMethodDetails ?? this.paymentMethodDetails,
reviewDetails: reviewDetails ?? this.reviewDetails,
verificationLockoutUntil:
verificationLockoutUntil ?? this.verificationLockoutUntil,
verificationNextRequest:
verificationNextRequest ?? this.verificationNextRequest,
verificationTokenExpiry:
verificationTokenExpiry ?? this.verificationTokenExpiry,
);
}
/// Advert details model class.
39 changes: 38 additions & 1 deletion lib/api/response/p2p_order_list_response_result.dart
Original file line number Diff line number Diff line change
@@ -296,9 +296,12 @@ abstract class ListItemModel {
this.paymentMethod,
this.paymentMethodNames,
this.reviewDetails,
this.verificationLockoutUntil,
this.verificationNextRequest,
this.verificationTokenExpiry,
});

/// Indicates that an email has been sent to verify confirmation of the order.
/// Indicates that the seller in the process of confirming the order.
final bool verificationPending;

/// Whether this is a buy or a sell.
@@ -378,6 +381,15 @@ abstract class ListItemModel {

/// Details of the review you gave for this order, if any.
final ReviewDetails? reviewDetails;

/// If blocked for too many failed verification attempts, the epoch time that the block will end.
final DateTime? verificationLockoutUntil;

/// If a verification request has already been made, the epoch time that another verification request can be made.
final DateTime? verificationNextRequest;

/// Epoch time that the current verification token will expire.
final DateTime? verificationTokenExpiry;
}

/// List item class.
@@ -411,6 +423,9 @@ class ListItem extends ListItemModel {
String? paymentMethod,
List<String>? paymentMethodNames,
ReviewDetails? reviewDetails,
DateTime? verificationLockoutUntil,
DateTime? verificationNextRequest,
DateTime? verificationTokenExpiry,
}) : super(
accountCurrency: accountCurrency,
advertDetails: advertDetails,
@@ -439,6 +454,9 @@ class ListItem extends ListItemModel {
paymentMethod: paymentMethod,
paymentMethodNames: paymentMethodNames,
reviewDetails: reviewDetails,
verificationLockoutUntil: verificationLockoutUntil,
verificationNextRequest: verificationNextRequest,
verificationTokenExpiry: verificationTokenExpiry,
);

/// Creates an instance from JSON.
@@ -481,6 +499,10 @@ class ListItem extends ListItemModel {
reviewDetails: json['review_details'] == null
? null
: ReviewDetails.fromJson(json['review_details']),
verificationLockoutUntil:
getDateTime(json['verification_lockout_until']),
verificationNextRequest: getDateTime(json['verification_next_request']),
verificationTokenExpiry: getDateTime(json['verification_token_expiry']),
);

/// Converts an instance to JSON.
@@ -532,6 +554,12 @@ class ListItem extends ListItemModel {
if (reviewDetails != null) {
resultMap['review_details'] = reviewDetails!.toJson();
}
resultMap['verification_lockout_until'] =
getSecondsSinceEpochDateTime(verificationLockoutUntil);
resultMap['verification_next_request'] =
getSecondsSinceEpochDateTime(verificationNextRequest);
resultMap['verification_token_expiry'] =
getSecondsSinceEpochDateTime(verificationTokenExpiry);

return resultMap;
}
@@ -565,6 +593,9 @@ class ListItem extends ListItemModel {
String? paymentMethod,
List<String>? paymentMethodNames,
ReviewDetails? reviewDetails,
DateTime? verificationLockoutUntil,
DateTime? verificationNextRequest,
DateTime? verificationTokenExpiry,
}) =>
ListItem(
accountCurrency: accountCurrency ?? this.accountCurrency,
@@ -594,6 +625,12 @@ class ListItem extends ListItemModel {
paymentMethod: paymentMethod ?? this.paymentMethod,
paymentMethodNames: paymentMethodNames ?? this.paymentMethodNames,
reviewDetails: reviewDetails ?? this.reviewDetails,
verificationLockoutUntil:
verificationLockoutUntil ?? this.verificationLockoutUntil,
verificationNextRequest:
verificationNextRequest ?? this.verificationNextRequest,
verificationTokenExpiry:
verificationTokenExpiry ?? this.verificationTokenExpiry,
);
}
/// Advert details model class.
102 changes: 102 additions & 0 deletions lib/api/response/website_status_response_result.dart
Original file line number Diff line number Diff line change
@@ -1199,9 +1199,11 @@ abstract class P2pConfigModel {
required this.orderDailyLimit,
required this.maximumOrderAmount,
required this.maximumAdvertAmount,
required this.localCurrencies,
required this.floatRateOffsetLimit,
required this.floatRateAdverts,
required this.fixedRateAdverts,
required this.featureLevel,
required this.disabled,
required this.cancellationLimit,
required this.cancellationGracePeriod,
@@ -1234,6 +1236,9 @@ abstract class P2pConfigModel {
/// Maximum amount of an advert, in USD.
final double maximumAdvertAmount;

/// Available local currencies for p2p_advert_list request.
final List<LocalCurrenciesItem> localCurrencies;

/// Maximum rate offset for floating rate adverts.
final double floatRateOffsetLimit;

@@ -1243,6 +1248,9 @@ abstract class P2pConfigModel {
/// Availability of fixed rate adverts.
final FixedRateAdvertsEnum fixedRateAdverts;

/// Indicates the availbility of certain backend features.
final int featureLevel;

/// When `true`, the P2P service is unavailable.
final bool disabled;

@@ -1281,9 +1289,11 @@ class P2pConfig extends P2pConfigModel {
required int cancellationGracePeriod,
required int cancellationLimit,
required bool disabled,
required int featureLevel,
required FixedRateAdvertsEnum fixedRateAdverts,
required FloatRateAdvertsEnum floatRateAdverts,
required double floatRateOffsetLimit,
required List<LocalCurrenciesItem> localCurrencies,
required double maximumAdvertAmount,
required double maximumOrderAmount,
required int orderDailyLimit,
@@ -1301,9 +1311,11 @@ class P2pConfig extends P2pConfigModel {
cancellationGracePeriod: cancellationGracePeriod,
cancellationLimit: cancellationLimit,
disabled: disabled,
featureLevel: featureLevel,
fixedRateAdverts: fixedRateAdverts,
floatRateAdverts: floatRateAdverts,
floatRateOffsetLimit: floatRateOffsetLimit,
localCurrencies: localCurrencies,
maximumAdvertAmount: maximumAdvertAmount,
maximumOrderAmount: maximumOrderAmount,
orderDailyLimit: orderDailyLimit,
@@ -1324,11 +1336,17 @@ class P2pConfig extends P2pConfigModel {
cancellationGracePeriod: json['cancellation_grace_period'],
cancellationLimit: json['cancellation_limit'],
disabled: getBool(json['disabled'])!,
featureLevel: json['feature_level'],
fixedRateAdverts:
fixedRateAdvertsEnumMapper[json['fixed_rate_adverts']]!,
floatRateAdverts:
floatRateAdvertsEnumMapper[json['float_rate_adverts']]!,
floatRateOffsetLimit: getDouble(json['float_rate_offset_limit'])!,
localCurrencies: List<LocalCurrenciesItem>.from(
json['local_currencies'].map(
(dynamic item) => LocalCurrenciesItem.fromJson(item),
),
),
maximumAdvertAmount: getDouble(json['maximum_advert_amount'])!,
maximumOrderAmount: getDouble(json['maximum_order_amount'])!,
orderDailyLimit: json['order_daily_limit'],
@@ -1355,6 +1373,7 @@ class P2pConfig extends P2pConfigModel {
resultMap['cancellation_grace_period'] = cancellationGracePeriod;
resultMap['cancellation_limit'] = cancellationLimit;
resultMap['disabled'] = disabled;
resultMap['feature_level'] = featureLevel;
resultMap['fixed_rate_adverts'] = fixedRateAdvertsEnumMapper.entries
.firstWhere((MapEntry<String, FixedRateAdvertsEnum> entry) =>
entry.value == fixedRateAdverts)
@@ -1364,6 +1383,12 @@ class P2pConfig extends P2pConfigModel {
entry.value == floatRateAdverts)
.key;
resultMap['float_rate_offset_limit'] = floatRateOffsetLimit;
resultMap['local_currencies'] = localCurrencies
.map<dynamic>(
(LocalCurrenciesItem item) => item.toJson(),
)
.toList();

resultMap['maximum_advert_amount'] = maximumAdvertAmount;
resultMap['maximum_order_amount'] = maximumOrderAmount;
resultMap['order_daily_limit'] = orderDailyLimit;
@@ -1391,9 +1416,11 @@ class P2pConfig extends P2pConfigModel {
int? cancellationGracePeriod,
int? cancellationLimit,
bool? disabled,
int? featureLevel,
FixedRateAdvertsEnum? fixedRateAdverts,
FloatRateAdvertsEnum? floatRateAdverts,
double? floatRateOffsetLimit,
List<LocalCurrenciesItem>? localCurrencies,
double? maximumAdvertAmount,
double? maximumOrderAmount,
int? orderDailyLimit,
@@ -1415,9 +1442,11 @@ class P2pConfig extends P2pConfigModel {
cancellationGracePeriod ?? this.cancellationGracePeriod,
cancellationLimit: cancellationLimit ?? this.cancellationLimit,
disabled: disabled ?? this.disabled,
featureLevel: featureLevel ?? this.featureLevel,
fixedRateAdverts: fixedRateAdverts ?? this.fixedRateAdverts,
floatRateAdverts: floatRateAdverts ?? this.floatRateAdverts,
floatRateOffsetLimit: floatRateOffsetLimit ?? this.floatRateOffsetLimit,
localCurrencies: localCurrencies ?? this.localCurrencies,
maximumAdvertAmount: maximumAdvertAmount ?? this.maximumAdvertAmount,
maximumOrderAmount: maximumOrderAmount ?? this.maximumOrderAmount,
orderDailyLimit: orderDailyLimit ?? this.orderDailyLimit,
@@ -1432,6 +1461,79 @@ class P2pConfig extends P2pConfigModel {
overrideExchangeRate: overrideExchangeRate ?? this.overrideExchangeRate,
);
}
/// Local currencies item model class.
abstract class LocalCurrenciesItemModel {
/// Initializes Local currencies item model class .
const LocalCurrenciesItemModel({
required this.symbol,
required this.hasAdverts,
required this.displayName,
this.isDefault,
});

/// Local currency symbol
final String symbol;

/// Indicates that there are adverts available for this currency.
final bool hasAdverts;

/// Local currency name
final String displayName;

/// Indicates that this is local currency for the current country.
final int? isDefault;
}

/// Local currencies item class.
class LocalCurrenciesItem extends LocalCurrenciesItemModel {
/// Initializes Local currencies item class.
const LocalCurrenciesItem({
required String displayName,
required bool hasAdverts,
required String symbol,
int? isDefault,
}) : super(
displayName: displayName,
hasAdverts: hasAdverts,
symbol: symbol,
isDefault: isDefault,
);

/// Creates an instance from JSON.
factory LocalCurrenciesItem.fromJson(Map<String, dynamic> json) =>
LocalCurrenciesItem(
displayName: json['display_name'],
hasAdverts: getBool(json['has_adverts'])!,
symbol: json['symbol'],
isDefault: json['is_default'],
);

/// Converts an instance to JSON.
Map<String, dynamic> toJson() {
final Map<String, dynamic> resultMap = <String, dynamic>{};

resultMap['display_name'] = displayName;
resultMap['has_adverts'] = hasAdverts;
resultMap['symbol'] = symbol;
resultMap['is_default'] = isDefault;

return resultMap;
}

/// Creates a copy of instance with given parameters.
LocalCurrenciesItem copyWith({
String? displayName,
bool? hasAdverts,
String? symbol,
int? isDefault,
}) =>
LocalCurrenciesItem(
displayName: displayName ?? this.displayName,
hasAdverts: hasAdverts ?? this.hasAdverts,
symbol: symbol ?? this.symbol,
isDefault: isDefault ?? this.isDefault,
);
}
/// Payment agents model class.
abstract class PaymentAgentsModel {
/// Initializes Payment agents model class .
2 changes: 1 addition & 1 deletion lib/basic_api/generated/p2p_advert_list_send.dart
Original file line number Diff line number Diff line change
@@ -73,7 +73,7 @@ class P2pAdvertListRequest extends Request {
/// [Optional] Used for paging.
final int? limit;

/// [Optional] Currency to conduct payment transaction in, defaults to the main currency for the client's country.
/// [Optional] Currency to conduct payment transaction in. If not provided, only ads from country of residence will be returned.
final String? localCurrency;

/// [Optional] Used for paging.