Skip to content

Commit

Permalink
error codes cleanup (binary-com#6550)
Browse files Browse the repository at this point in the history
  • Loading branch information
carolsachdeva authored and adrienne-deriv committed Oct 25, 2022
1 parent be58ce5 commit cac3712
Show file tree
Hide file tree
Showing 7 changed files with 28 additions and 17 deletions.
2 changes: 1 addition & 1 deletion packages/p2p/src/components/buy-sell/buy-sell-modal.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ const BuySellModal = ({ table_type, selected_ad, should_show_popup, setShouldSho
icon='IcAlertDanger'
message={
<Text as='p' size='xxxs' color='prominent' line_height='s'>
{buy_sell_store.form_error_code === api_error_codes.INSUFFICIENT_BALANCE ? (
{buy_sell_store.form_error_code === api_error_codes.ORDER_CREATE_FAIL_CLIENT_BALANCE ? (
<Localize i18n_default_text="Your Deriv P2P balance isn't enough. Please increase your balance before trying again." />
) : (
error_message
Expand Down
10 changes: 8 additions & 2 deletions packages/p2p/src/constants/api-error-codes.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
export const api_error_codes = Object.freeze({
ADVERT_SAME_LIMITS: 'AdvertSameLimits',
ADVERTISER_NOT_FOUND: 'AdvertiserNotFound',
DUPLICATE_ADVERT: 'DuplicateAdvert',
MARKET_RATE_CHANGE: 'OrderCreateFailRateChanged',
INSUFFICIENT_BALANCE: 'OrderCreateFailClientBalance',
EXCESSIVE_VERIFICATION_FAILURES: 'ExcessiveVerificationFailures',
EXCESSIVE_VERIFICATION_REQUESTS: 'ExcessiveVerificationRequests',
INVALID_VERIFICATION_TOKEN: 'InvalidVerificationToken',
ORDER_EMAIL_VERIFICATION_REQUIRED: 'OrderEmailVerificationRequired',
ORDER_CREATE_FAIL_CLIENT_BALANCE: 'OrderCreateFailClientBalance',
PERMISSION_DENIED: 'PermissionDenied',
RESTRICTED_COUNTRY: 'RestrictedCountry',
});
3 changes: 2 additions & 1 deletion packages/p2p/src/stores/buy-sell-store.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { textValidator, lengthValidator } from 'Utils/validations';
import { countDecimalPlaces } from 'Utils/string';
import { removeTrailingZeros } from 'Utils/format-value';
import BaseStore from 'Stores/base_store';
import { api_error_codes } from '../constants/api-error-codes';

export default class BuySellStore extends BaseStore {
@observable api_error_message = '';
Expand Down Expand Up @@ -286,7 +287,7 @@ export default class BuySellStore extends BaseStore {
}
}
// Added a check to prevent console errors
} else if (response && response.error.code === 'PermissionDenied') {
} else if (response && response.error.code === api_error_codes.PERMISSION_DENIED) {
this.root_store.general_store.setIsBlocked(true);
} else {
this.setApiErrorMessage(response?.error.message);
Expand Down
7 changes: 4 additions & 3 deletions packages/p2p/src/stores/general-store.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { init as WebsocketInit, requestWS, subscribeWS } from 'Utils/websocket';
import { order_list } from 'Constants/order-list';
import { buy_sell } from 'Constants/buy-sell';
import { ad_type } from 'Constants/floating-rate';
import { api_error_codes } from 'Constants/api-error-codes';

export default class GeneralStore extends BaseStore {
@observable active_index = 0;
Expand Down Expand Up @@ -677,11 +678,11 @@ export default class GeneralStore extends BaseStore {
this.setUserBlockedCount(blocked_by_count);
} else {
this.ws_subscriptions.advertiser_subscription.unsubscribe();
if (response.error.code === 'RestrictedCountry') {
if (response.error.code === api_error_codes.RESTRICTED_COUNTRY) {
this.setIsRestricted(true);
} else if (response.error.code === 'AdvertiserNotFound') {
} else if (response.error.code === api_error_codes.ADVERTISER_NOT_FOUND) {
this.setIsAdvertiser(false);
} else if (response.error.code === 'PermissionDenied') {
} else if (response.error.code === api_error_codes.PERMISSION_DENIED) {
this.setIsBlocked(true);
this.setIsLoading(false);
return;
Expand Down
3 changes: 2 additions & 1 deletion packages/p2p/src/stores/my-ads-store.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import BaseStore from 'Stores/base_store';
import { countDecimalPlaces } from 'Utils/string';
import { decimalValidator, lengthValidator, rangeValidator, textValidator } from 'Utils/validations';
import { requestWS } from 'Utils/websocket';
import { api_error_codes } from '../constants/api-error-codes';

export default class MyAdsStore extends BaseStore {
@observable activate_deactivate_error_message = '';
Expand Down Expand Up @@ -379,7 +380,7 @@ export default class MyAdsStore extends BaseStore {
floating_rate_store.setChangeAdAlert(should_update_ads);
}
}
} else if (response.error.code === 'PermissionDenied') {
} else if (response.error.code === api_error_codes.PERMISSION_DENIED) {
general_store.setIsBlocked(true);
} else {
this.setApiErrorMessage(response.error.message);
Expand Down
3 changes: 2 additions & 1 deletion packages/p2p/src/stores/my-profile-store.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { localize } from 'Components/i18next';
import { textValidator } from 'Utils/validations';
import BaseStore from 'Stores/base_store';
import { my_profile_tabs } from 'Constants/my-profile-tabs';
import { api_error_codes } from '../constants/api-error-codes';

export default class MyProfileStore extends BaseStore {
@observable active_tab = my_profile_tabs.MY_STATS;
Expand Down Expand Up @@ -209,7 +210,7 @@ export default class MyProfileStore extends BaseStore {
this.setContactInfo(p2p_advertiser_info.contact_info);
this.setDefaultAdvertDescription(p2p_advertiser_info.default_advert_description);
this.root_store.general_store.setShouldShowRealName(!!p2p_advertiser_info.show_name);
} else if (response.error.code === 'PermissionDenied') {
} else if (response.error.code === api_error_codes.PERMISSION_DENIED) {
this.root_store.general_store.setIsBlocked(true);
} else {
this.setErrorMessage(response.error.message);
Expand Down
17 changes: 9 additions & 8 deletions packages/p2p/src/stores/order-store.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { action, computed, observable, reaction } from 'mobx';
import { createExtendedOrderDetails } from 'Utils/orders';
import { requestWS, subscribeWS } from 'Utils/websocket';
import { order_list } from 'Constants/order-list';
import { api_error_codes } from '../constants/api-error-codes';

export default class OrderStore {
constructor(root_store) {
Expand Down Expand Up @@ -72,12 +73,12 @@ export default class OrderStore {
}).then(response => {
if (response) {
if (response.error) {
if (response.error.code === 'OrderEmailVerificationRequired') {
if (response.error.code === api_error_codes.ORDER_EMAIL_VERIFICATION_REQUIRED) {
clearTimeout(wait);
const wait = setTimeout(() => this.setIsEmailVerificationModalOpen(true), 250);
} else if (
response?.error.code === 'InvalidVerificationToken' ||
response?.error.code === 'ExcessiveVerificationRequests'
response?.error.code === api_error_codes.INVALID_VERIFICATION_TOKEN ||
response?.error.code === api_error_codes.EXCESSIVE_VERIFICATION_REQUESTS
) {
clearTimeout(wait);
if (this.is_email_verification_modal_open) {
Expand All @@ -88,7 +89,7 @@ export default class OrderStore {
}
this.setVerificationLinkErrorMessage(response.error.message);
const wait = setTimeout(() => this.setIsInvalidVerificationLinkModalOpen(true), 230);
} else if (response?.error.code === 'ExcessiveVerificationFailures') {
} else if (response?.error.code === api_error_codes.EXCESSIVE_VERIFICATION_FAILURES) {
if (this.is_invalid_verification_link_modal_open) {
this.setIsInvalidVerificationLinkModalOpen(false);
}
Expand Down Expand Up @@ -227,7 +228,7 @@ export default class OrderStore {

this.setOrders([...old_list, ...new_list]);
}
} else if (response.error.code === 'PermissionDenied') {
} else if (response.error.code === api_error_codes.PERMISSION_DENIED) {
this.root_store.general_store.setIsBlocked(true);
} else {
this.setApiErrorMessage(response.error.message);
Expand Down Expand Up @@ -438,13 +439,13 @@ export default class OrderStore {
clearTimeout(wait);
const wait = setTimeout(() => this.setIsEmailLinkVerifiedModalOpen(true), 650);
} else if (
response.error.code === 'InvalidVerificationToken' ||
response.error.code === 'ExcessiveVerificationRequests'
response.error.code === api_error_codes.INVALID_VERIFICATION_TOKEN ||
response.error.code === api_error_codes.EXCESSIVE_VERIFICATION_REQUESTS
) {
clearTimeout(wait);
this.setVerificationLinkErrorMessage(response.error.message);
const wait = setTimeout(() => this.setIsInvalidVerificationLinkModalOpen(true), 750);
} else if (response.error.code === 'ExcessiveVerificationFailures') {
} else if (response.error.code === api_error_codes.EXCESSIVE_VERIFICATION_FAILURES) {
if (this.is_invalid_verification_link_modal_open) {
this.setIsInvalidVerificationLinkModalOpen(false);
}
Expand Down

0 comments on commit cac3712

Please sign in to comment.