From 8458e092b3df5e50446ed53595061be857249be0 Mon Sep 17 00:00:00 2001 From: Jack Nam Date: Wed, 10 Aug 2022 12:34:20 -0700 Subject: [PATCH 1/3] remove old bank account API --- src/languages/en.js | 1 - src/languages/es.js | 1 - src/libs/deprecatedAPI.js | 13 ------------- 3 files changed, 15 deletions(-) diff --git a/src/languages/en.js b/src/languages/en.js index cbafe0744149..73c723d9f3db 100755 --- a/src/languages/en.js +++ b/src/languages/en.js @@ -392,7 +392,6 @@ export default { setDefaultSuccess: 'Default payment method set!', deleteAccount: 'Delete Account', deleteConfirmation: 'Are you sure that you want to delete this account?', - deleteBankAccountSuccess: 'Bank account successfully deleted', deleteDebitCardSuccess: 'Debit Card successfully deleted', deletePayPalSuccess: 'PayPal.me successfully deleted', error: { diff --git a/src/languages/es.js b/src/languages/es.js index fdcb6778c643..ef58c4da7e19 100644 --- a/src/languages/es.js +++ b/src/languages/es.js @@ -392,7 +392,6 @@ export default { setDefaultSuccess: 'Método de pago configurado', deleteAccount: 'Eliminar cuenta', deleteConfirmation: '¿Estás seguro de que quieres eliminar esta cuenta?', - deleteBankAccountSuccess: 'Cuenta bancaria eliminada correctamente', deleteDebitCardSuccess: 'Tarjeta de débito eliminada correctamente', deletePayPalSuccess: 'PayPal.me eliminada correctamente', error: { diff --git a/src/libs/deprecatedAPI.js b/src/libs/deprecatedAPI.js index 4ec69b3c60a6..e516d09e76dd 100644 --- a/src/libs/deprecatedAPI.js +++ b/src/libs/deprecatedAPI.js @@ -503,18 +503,6 @@ function BankAccount_SetupWithdrawal(parameters) { ); } -/** - * @param {Object} parameters - * @param {Number} parameters.bankAccountID - * @param {String} parameters.ownerEmail - * @returns {Promise} - */ -function DeleteBankAccount(parameters) { - const commandName = 'DeleteBankAccount'; - requireParameters(['bankAccountID'], parameters, commandName); - return Network.post(commandName, parameters); -} - /** * @param {Object} parameters * @param {Number} [parameters.latitude] @@ -692,7 +680,6 @@ export { RenameReport, DeleteFund, DeleteLogin, - DeleteBankAccount, Get, GetStatementPDF, GetIOUReport, From c991298c4d3d113b310b28454f5f4d901982039f Mon Sep 17 00:00:00 2001 From: Jack Nam Date: Wed, 10 Aug 2022 12:34:36 -0700 Subject: [PATCH 2/3] add new functionality for deleting payment bank account --- src/libs/actions/BankAccounts.js | 40 +++++-------------- .../Payments/PaymentsPage/BasePaymentsPage.js | 2 +- 2 files changed, 12 insertions(+), 30 deletions(-) diff --git a/src/libs/actions/BankAccounts.js b/src/libs/actions/BankAccounts.js index 8fb86b3c25dd..26966eb7f730 100644 --- a/src/libs/actions/BankAccounts.js +++ b/src/libs/actions/BankAccounts.js @@ -1,13 +1,8 @@ -import lodashGet from 'lodash/get'; import Onyx from 'react-native-onyx'; import CONST from '../../CONST'; -import * as DeprecatedAPI from '../deprecatedAPI'; import * as API from '../API'; -import * as ReimbursementAccount from './ReimbursementAccount'; import ONYXKEYS from '../../ONYXKEYS'; -import Growl from '../Growl'; import * as Localize from '../Localize'; -import * as store from './ReimbursementAccount/store'; export { setupWithdrawalAccount, @@ -104,36 +99,23 @@ function addPersonalBankAccount(account, password) { API.write(commandName, parameters, onyxData); } -/** - * Deletes a bank account - * - * @param {Number} bankAccountID - */ -function deleteBankAccount(bankAccountID) { - const reimbursementBankAccountId = lodashGet(store.getReimbursementAccountInSetup(), 'bankAccountID'); - - // Early return as DeleteBankAccount API is called inside `resetFreePlanBankAccount` - if (reimbursementBankAccountId === bankAccountID) { - ReimbursementAccount.resetFreePlanBankAccount(); - return; - } - DeprecatedAPI.DeleteBankAccount({ +function deletePaymentBankAccount(bankAccountID) { + API.write('DeletePaymentBankAccount', { bankAccountID, - }).then((response) => { - if (response.jsonCode === 200) { - ReimbursementAccount.deleteFromBankAccountList(bankAccountID); - Growl.show(Localize.translateLocal('paymentsPage.deleteBankAccountSuccess'), CONST.GROWL.SUCCESS, 3000); - } else { - Growl.show(Localize.translateLocal('common.genericErrorMessage'), CONST.GROWL.ERROR, 3000); - } - }).catch(() => { - Growl.show(Localize.translateLocal('common.genericErrorMessage'), CONST.GROWL.ERROR, 3000); + }, { + optimisticData: [ + { + onyxMethod: CONST.ONYX.METHOD.MERGE, + key: `${ONYXKEYS.BANK_ACCOUNT_LIST}`, + value: {[bankAccountID]: {pendingAction: CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE}}, + }, + ], }); } export { addPersonalBankAccount, - deleteBankAccount, + deletePaymentBankAccount, clearPersonalBankAccount, clearPlaid, }; diff --git a/src/pages/settings/Payments/PaymentsPage/BasePaymentsPage.js b/src/pages/settings/Payments/PaymentsPage/BasePaymentsPage.js index b7b13dde63c0..3b4e4dcd30d1 100644 --- a/src/pages/settings/Payments/PaymentsPage/BasePaymentsPage.js +++ b/src/pages/settings/Payments/PaymentsPage/BasePaymentsPage.js @@ -246,7 +246,7 @@ class BasePaymentsPage extends React.Component { if (this.state.selectedPaymentMethodType === CONST.PAYMENT_METHODS.PAYPAL) { PaymentMethods.deletePayPalMe(); } else if (this.state.selectedPaymentMethodType === CONST.PAYMENT_METHODS.BANK_ACCOUNT) { - BankAccounts.deleteBankAccount(this.state.selectedPaymentMethod.bankAccountID); + BankAccounts.deletePaymentBankAccount(this.state.selectedPaymentMethod.bankAccountID); } else if (this.state.selectedPaymentMethodType === CONST.PAYMENT_METHODS.DEBIT_CARD) { PaymentMethods.deleteDebitCard(this.state.selectedPaymentMethod.fundID); } From 1f40a55742fe98b9cbfbc37e33458cd801d524f5 Mon Sep 17 00:00:00 2001 From: Jack Nam Date: Thu, 11 Aug 2022 10:07:14 -0700 Subject: [PATCH 3/3] remove bad merge --- src/languages/en.js | 1 - src/languages/es.js | 1 - 2 files changed, 2 deletions(-) diff --git a/src/languages/en.js b/src/languages/en.js index 73c723d9f3db..01ac64feee79 100755 --- a/src/languages/en.js +++ b/src/languages/en.js @@ -392,7 +392,6 @@ export default { setDefaultSuccess: 'Default payment method set!', deleteAccount: 'Delete Account', deleteConfirmation: 'Are you sure that you want to delete this account?', - deleteDebitCardSuccess: 'Debit Card successfully deleted', deletePayPalSuccess: 'PayPal.me successfully deleted', error: { notOwnerOfBankAccount: 'There was an error setting this bank account as your default payment method.', diff --git a/src/languages/es.js b/src/languages/es.js index ef58c4da7e19..64a045854051 100644 --- a/src/languages/es.js +++ b/src/languages/es.js @@ -392,7 +392,6 @@ export default { setDefaultSuccess: 'Método de pago configurado', deleteAccount: 'Eliminar cuenta', deleteConfirmation: '¿Estás seguro de que quieres eliminar esta cuenta?', - deleteDebitCardSuccess: 'Tarjeta de débito eliminada correctamente', deletePayPalSuccess: 'PayPal.me eliminada correctamente', error: { notOwnerOfBankAccount: 'Ha ocurrido un error al establecer esta cuenta bancaria como tu método de pago predeterminado.',