From ca23a6c7c247d5644158e21ab5d16ef49361ba6d Mon Sep 17 00:00:00 2001 From: Daniel Gale-Rosen Date: Thu, 25 Jul 2024 16:32:24 -0400 Subject: [PATCH 01/12] first draft of new UpdateQuickbooksOnlineEnableNewCategories --- docs/Gemfile.lock | 6 +- .../index.native.tsx | 2 +- .../ConnectToQuickbooksOnlineButton/index.tsx | 2 +- ...dateQuickbooksOnlineEnableNewCategories.ts | 7 ++ src/libs/API/types.ts | 1 + .../actions/connections/QuickBooksOnline.ts | 90 ++++++++++++++++++- .../import/QuickbooksChartOfAccountsPage.tsx | 4 +- 7 files changed, 103 insertions(+), 9 deletions(-) create mode 100644 src/libs/API/parameters/UpdateQuickbooksOnlineEnableNewCategories.ts diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock index de99bbcb48e..d4ce06992e1 100644 --- a/docs/Gemfile.lock +++ b/docs/Gemfile.lock @@ -211,9 +211,9 @@ GEM jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) minitest (5.16.2) - nokogiri (1.15.4-arm64-darwin) + nokogiri (1.13.10-arm64-darwin) racc (~> 1.4) - nokogiri (1.15.4-x86_64-darwin) + nokogiri (1.13.10-x86_64-darwin) racc (~> 1.4) octokit (4.25.1) faraday (>= 1, < 3) @@ -273,4 +273,4 @@ DEPENDENCIES webrick (~> 1.7) BUNDLED WITH - 2.4.19 + 2.3.25 diff --git a/src/components/ConnectToQuickbooksOnlineButton/index.native.tsx b/src/components/ConnectToQuickbooksOnlineButton/index.native.tsx index 2b2c53eaaa1..f6152a96b12 100644 --- a/src/components/ConnectToQuickbooksOnlineButton/index.native.tsx +++ b/src/components/ConnectToQuickbooksOnlineButton/index.native.tsx @@ -12,7 +12,7 @@ import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useThemeStyles from '@hooks/useThemeStyles'; import {removePolicyConnection} from '@libs/actions/connections'; -import getQuickBooksOnlineSetupLink from '@libs/actions/connections/QuickBooksOnline'; +import {getQuickBooksOnlineSetupLink} from '@libs/actions/connections/QuickBooksOnline'; import * as PolicyAction from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; diff --git a/src/components/ConnectToQuickbooksOnlineButton/index.tsx b/src/components/ConnectToQuickbooksOnlineButton/index.tsx index 50ee9165b8a..62e436b15d0 100644 --- a/src/components/ConnectToQuickbooksOnlineButton/index.tsx +++ b/src/components/ConnectToQuickbooksOnlineButton/index.tsx @@ -6,7 +6,7 @@ import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useThemeStyles from '@hooks/useThemeStyles'; import {removePolicyConnection} from '@libs/actions/connections'; -import getQuickBooksOnlineSetupLink from '@libs/actions/connections/QuickBooksOnline'; +import {getQuickBooksOnlineSetupLink} from '@libs/actions/connections/QuickBooksOnline'; import * as Link from '@userActions/Link'; import * as PolicyAction from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; diff --git a/src/libs/API/parameters/UpdateQuickbooksOnlineEnableNewCategories.ts b/src/libs/API/parameters/UpdateQuickbooksOnlineEnableNewCategories.ts new file mode 100644 index 00000000000..122d550923d --- /dev/null +++ b/src/libs/API/parameters/UpdateQuickbooksOnlineEnableNewCategories.ts @@ -0,0 +1,7 @@ +type UpdateQuickbooksOnlineEnableNewCategoriesParams = { + policyID: string; + settingValue: string; + idempotencyKey: string; +}; + +export default UpdateQuickbooksOnlineEnableNewCategoriesParams; diff --git a/src/libs/API/types.ts b/src/libs/API/types.ts index 70a0e91aba1..b5c6fe3fd60 100644 --- a/src/libs/API/types.ts +++ b/src/libs/API/types.ts @@ -204,6 +204,7 @@ const WRITE_COMMANDS = { DECLINE_JOIN_REQUEST: 'DeclineJoinRequest', CREATE_POLICY_TAX: 'CreatePolicyTax', UPDATE_POLICY_CONNECTION_CONFIG: 'UpdatePolicyConnectionConfiguration', + UPDATE_QUICKBOOKS_ONLINE_ENABLE_NEW_CATEGORIES: 'UpdateQuickbooksOnlineEnableNewCategories', UPDATE_MANY_POLICY_CONNECTION_CONFIGS: 'UpdateManyPolicyConnectionConfigurations', REMOVE_POLICY_CONNECTION: 'RemovePolicyConnection', SET_POLICY_TAXES_ENABLED: 'SetPolicyTaxesEnabled', diff --git a/src/libs/actions/connections/QuickBooksOnline.ts b/src/libs/actions/connections/QuickBooksOnline.ts index 2642ad4056a..d1bee09667e 100644 --- a/src/libs/actions/connections/QuickBooksOnline.ts +++ b/src/libs/actions/connections/QuickBooksOnline.ts @@ -1,6 +1,13 @@ import type {ConnectPolicyToAccountingIntegrationParams} from '@libs/API/parameters'; -import {READ_COMMANDS} from '@libs/API/types'; +import type {OnyxUpdate} from 'react-native-onyx'; +import {READ_COMMANDS, WRITE_COMMANDS} from '@libs/API/types'; import {getCommandURL} from '@libs/ApiUtils'; +import type UpdateQuickbooksOnlineEnableNewCategoriesParams from '@libs/API/parameters/UpdateQuickbooksOnlineEnableNewCategories'; +import Onyx from 'react-native-onyx'; +import * as API from '@libs/API'; +import * as ErrorUtils from '@libs/ErrorUtils'; +import CONST from '@src/CONST'; +import ONYXKEYS from '@src/ONYXKEYS'; function getQuickBooksOnlineSetupLink(policyID: string) { const params: ConnectPolicyToAccountingIntegrationParams = {policyID}; @@ -11,4 +18,83 @@ function getQuickBooksOnlineSetupLink(policyID: string) { return commandURL + new URLSearchParams(params).toString(); } -export default getQuickBooksOnlineSetupLink; + +function updateQuickBooksOnlineEnableNewCategories( + policyID: string, + settingValue: boolean, +) { + const optimisticData: OnyxUpdate[] = [ + { + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.POLICY}${policyID}`, + value: { + connections: { + [CONST.POLICY.CONNECTIONS.NAME.QBO]: { + config: { + [CONST.QUICK_BOOKS_CONFIG.ENABLE_NEW_CATEGORIES]: settingValue ?? null, + pendingFields: { + [CONST.QUICK_BOOKS_CONFIG.ENABLE_NEW_CATEGORIES]: CONST.RED_BRICK_ROAD_PENDING_ACTION.UPDATE, + }, + errorFields: { + [CONST.QUICK_BOOKS_CONFIG.ENABLE_NEW_CATEGORIES]: null, + }, + }, + }, + }, + }, + }, + ]; + + const failureData: OnyxUpdate[] = [ + { + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.POLICY}${policyID}`, + value: { + connections: { + [CONST.POLICY.CONNECTIONS.NAME.QBO]: { + config: { + [CONST.QUICK_BOOKS_CONFIG.ENABLE_NEW_CATEGORIES]: settingValue ?? null, + pendingFields: { + [CONST.QUICK_BOOKS_CONFIG.ENABLE_NEW_CATEGORIES]: null, + }, + errorFields: { + [CONST.QUICK_BOOKS_CONFIG.ENABLE_NEW_CATEGORIES]: ErrorUtils.getMicroSecondOnyxErrorWithTranslationKey('common.genericErrorMessage'), + }, + }, + }, + }, + }, + }, + ]; + + const successData: OnyxUpdate[] = [ + { + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.POLICY}${policyID}`, + value: { + connections: { + [CONST.POLICY.CONNECTIONS.NAME.QBO]: { + config: { + [CONST.QUICK_BOOKS_CONFIG.ENABLE_NEW_CATEGORIES]: settingValue ?? null, + pendingFields: { + [CONST.QUICK_BOOKS_CONFIG.ENABLE_NEW_CATEGORIES]: null, + }, + errorFields: { + [CONST.QUICK_BOOKS_CONFIG.ENABLE_NEW_CATEGORIES]: null, + }, + }, + }, + }, + }, + }, + ]; + + const parameters: UpdateQuickbooksOnlineEnableNewCategoriesParams = { + policyID, + settingValue: JSON.stringify(settingValue), + idempotencyKey: String(CONST.QUICK_BOOKS_CONFIG.ENABLE_NEW_CATEGORIES), + }; + API.write(WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_ENABLE_NEW_CATEGORIES, parameters, {optimisticData, failureData, successData}); +} + +export {getQuickBooksOnlineSetupLink, updateQuickBooksOnlineEnableNewCategories}; diff --git a/src/pages/workspace/accounting/qbo/import/QuickbooksChartOfAccountsPage.tsx b/src/pages/workspace/accounting/qbo/import/QuickbooksChartOfAccountsPage.tsx index 2184383370e..4059545f8f7 100644 --- a/src/pages/workspace/accounting/qbo/import/QuickbooksChartOfAccountsPage.tsx +++ b/src/pages/workspace/accounting/qbo/import/QuickbooksChartOfAccountsPage.tsx @@ -7,7 +7,7 @@ import Switch from '@components/Switch'; import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections'; +import * as QuickBooksOnline from '@libs/actions/connections/QuickBooksOnline'; import type {WithPolicyProps} from '@pages/workspace/withPolicy'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; import variables from '@styles/variables'; @@ -60,7 +60,7 @@ function QuickbooksChartOfAccountsPage({policy}: WithPolicyProps) { accessibilityLabel={translate('workspace.accounting.accounts')} isOn={!!enableNewCategories} onToggle={() => - Connections.updatePolicyConnectionConfig(policyID, CONST.POLICY.CONNECTIONS.NAME.QBO, CONST.QUICK_BOOKS_CONFIG.ENABLE_NEW_CATEGORIES, !enableNewCategories) + QuickBooksOnline.updateQuickBooksOnlineEnableNewCategories(policyID, !enableNewCategories) } /> From a808c9ddb517e579c7a5e6b703e0223a96611bf5 Mon Sep 17 00:00:00 2001 From: Daniel Gale-Rosen Date: Thu, 25 Jul 2024 16:36:48 -0400 Subject: [PATCH 02/12] revert changes to gemfile.lock --- docs/Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock index d4ce06992e1..de99bbcb48e 100644 --- a/docs/Gemfile.lock +++ b/docs/Gemfile.lock @@ -211,9 +211,9 @@ GEM jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) minitest (5.16.2) - nokogiri (1.13.10-arm64-darwin) + nokogiri (1.15.4-arm64-darwin) racc (~> 1.4) - nokogiri (1.13.10-x86_64-darwin) + nokogiri (1.15.4-x86_64-darwin) racc (~> 1.4) octokit (4.25.1) faraday (>= 1, < 3) @@ -273,4 +273,4 @@ DEPENDENCIES webrick (~> 1.7) BUNDLED WITH - 2.3.25 + 2.4.19 From fc140790b94138b66f70dbe8ec274987a9f8e48e Mon Sep 17 00:00:00 2001 From: Daniel Gale-Rosen Date: Thu, 25 Jul 2024 16:46:49 -0400 Subject: [PATCH 03/12] typescript fixes --- ...es.ts => UpdateQuickbooksOnlineEnableNewCategoriesParams.ts} | 0 src/libs/API/parameters/index.ts | 1 + src/libs/API/types.ts | 2 +- 3 files changed, 2 insertions(+), 1 deletion(-) rename src/libs/API/parameters/{UpdateQuickbooksOnlineEnableNewCategories.ts => UpdateQuickbooksOnlineEnableNewCategoriesParams.ts} (100%) diff --git a/src/libs/API/parameters/UpdateQuickbooksOnlineEnableNewCategories.ts b/src/libs/API/parameters/UpdateQuickbooksOnlineEnableNewCategoriesParams.ts similarity index 100% rename from src/libs/API/parameters/UpdateQuickbooksOnlineEnableNewCategories.ts rename to src/libs/API/parameters/UpdateQuickbooksOnlineEnableNewCategoriesParams.ts diff --git a/src/libs/API/parameters/index.ts b/src/libs/API/parameters/index.ts index 997eb415a84..151f23dc38d 100644 --- a/src/libs/API/parameters/index.ts +++ b/src/libs/API/parameters/index.ts @@ -219,6 +219,7 @@ export type {default as AddSubscriptionPaymentCardParams} from './AddSubscriptio export type {default as SetPolicyCustomTaxNameParams} from './SetPolicyCustomTaxNameParams'; export type {default as SetPolicyForeignCurrencyDefaultParams} from './SetPolicyForeignCurrencyDefaultParams'; export type {default as SetPolicyCurrencyDefaultParams} from './SetPolicyCurrencyDefaultParams'; +export type {default as UpdateQuickbooksOnlineEnableNewCategoriesParams} from './UpdateQuickbooksOnlineEnableNewCategoriesParams'; export type {default as UpdatePolicyConnectionConfigParams} from './UpdatePolicyConnectionConfigParams'; export type {default as UpdateManyPolicyConnectionConfigurationsParams} from './UpdateManyPolicyConnectionConfigurationsParams'; export type {default as RemovePolicyConnectionParams} from './RemovePolicyConnectionParams'; diff --git a/src/libs/API/types.ts b/src/libs/API/types.ts index b5c6fe3fd60..2e795a27457 100644 --- a/src/libs/API/types.ts +++ b/src/libs/API/types.ts @@ -535,7 +535,7 @@ type WriteCommandParameters = { [WRITE_COMMANDS.REQUEST_EXPENSIFY_CARD_LIMIT_INCREASE]: Parameters.RequestExpensifyCardLimitIncreaseParams; [WRITE_COMMANDS.CLEAR_OUTSTANDING_BALANCE]: null; [WRITE_COMMANDS.CANCEL_BILLING_SUBSCRIPTION]: Parameters.CancelBillingSubscriptionParams; - + [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_ENABLE_NEW_CATEGORIES]: Parameters.UpdateQuickbooksOnlineEnableNewCategoriesParams; [WRITE_COMMANDS.UPDATE_POLICY_CONNECTION_CONFIG]: Parameters.UpdatePolicyConnectionConfigParams; [WRITE_COMMANDS.UPDATE_MANY_POLICY_CONNECTION_CONFIGS]: Parameters.UpdateManyPolicyConnectionConfigurationsParams; [WRITE_COMMANDS.REMOVE_POLICY_CONNECTION]: Parameters.RemovePolicyConnectionParams; From 3d21aad391719a8f66a554069c472f42df8ae910 Mon Sep 17 00:00:00 2001 From: Daniel Gale-Rosen Date: Thu, 25 Jul 2024 16:59:08 -0400 Subject: [PATCH 04/12] standardize spelling in code --- .../index.native.tsx | 4 ++-- .../ConnectToQuickbooksOnlineButton/index.tsx | 6 +++--- .../actions/connections/QuickBooksOnline.ts | 20 ++++++++----------- .../import/QuickbooksChartOfAccountsPage.tsx | 6 ++---- 4 files changed, 15 insertions(+), 21 deletions(-) diff --git a/src/components/ConnectToQuickbooksOnlineButton/index.native.tsx b/src/components/ConnectToQuickbooksOnlineButton/index.native.tsx index f6152a96b12..033a66d9fa5 100644 --- a/src/components/ConnectToQuickbooksOnlineButton/index.native.tsx +++ b/src/components/ConnectToQuickbooksOnlineButton/index.native.tsx @@ -12,7 +12,7 @@ import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useThemeStyles from '@hooks/useThemeStyles'; import {removePolicyConnection} from '@libs/actions/connections'; -import {getQuickBooksOnlineSetupLink} from '@libs/actions/connections/QuickBooksOnline'; +import {getQuickbooksOnlineSetupLink} from '@libs/actions/connections/QuickbooksOnline'; import * as PolicyAction from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -87,7 +87,7 @@ function ConnectToQuickbooksOnlineButton({ - QuickBooksOnline.updateQuickBooksOnlineEnableNewCategories(policyID, !enableNewCategories) - } + onToggle={() => QuickbooksOnline.updateQuickbooksOnlineEnableNewCategories(policyID, !enableNewCategories)} /> From 8dadb844f0da8c706676381beed523f38f7d99a9 Mon Sep 17 00:00:00 2001 From: Daniel Gale-Rosen Date: Thu, 25 Jul 2024 17:28:57 -0400 Subject: [PATCH 05/12] actually change name of file, stupid case insensitive git --- .../connections/{QuickBooksOnline.ts => QuickbooksOnline.ts} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/libs/actions/connections/{QuickBooksOnline.ts => QuickbooksOnline.ts} (100%) diff --git a/src/libs/actions/connections/QuickBooksOnline.ts b/src/libs/actions/connections/QuickbooksOnline.ts similarity index 100% rename from src/libs/actions/connections/QuickBooksOnline.ts rename to src/libs/actions/connections/QuickbooksOnline.ts From f04c8883f3859f930c3c226dca9b5c9cecb1a72d Mon Sep 17 00:00:00 2001 From: Daniel Gale-Rosen Date: Mon, 5 Aug 2024 14:28:43 -0400 Subject: [PATCH 06/12] add updateQuickbooksOnlineAutoCreateVendor --- ...eQuickbooksOnlineAutoCreateVendorParams.ts | 7 ++ src/libs/API/types.ts | 1 + .../actions/connections/QuickbooksOnline.ts | 78 ++++++++++++++++++- .../qbo/advanced/QuickbooksAdvancedPage.tsx | 3 +- 4 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 src/libs/API/parameters/UpdateQuickbooksOnlineAutoCreateVendorParams.ts diff --git a/src/libs/API/parameters/UpdateQuickbooksOnlineAutoCreateVendorParams.ts b/src/libs/API/parameters/UpdateQuickbooksOnlineAutoCreateVendorParams.ts new file mode 100644 index 00000000000..122d550923d --- /dev/null +++ b/src/libs/API/parameters/UpdateQuickbooksOnlineAutoCreateVendorParams.ts @@ -0,0 +1,7 @@ +type UpdateQuickbooksOnlineEnableNewCategoriesParams = { + policyID: string; + settingValue: string; + idempotencyKey: string; +}; + +export default UpdateQuickbooksOnlineEnableNewCategoriesParams; diff --git a/src/libs/API/types.ts b/src/libs/API/types.ts index 2e795a27457..e5463ee706f 100644 --- a/src/libs/API/types.ts +++ b/src/libs/API/types.ts @@ -205,6 +205,7 @@ const WRITE_COMMANDS = { CREATE_POLICY_TAX: 'CreatePolicyTax', UPDATE_POLICY_CONNECTION_CONFIG: 'UpdatePolicyConnectionConfiguration', UPDATE_QUICKBOOKS_ONLINE_ENABLE_NEW_CATEGORIES: 'UpdateQuickbooksOnlineEnableNewCategories', + UPDATE_QUICKBOOKS_ONLINE_AUTO_CREATE_VENDOR: 'UpdateQuickbooksOnlineAutoCreateVendor', UPDATE_MANY_POLICY_CONNECTION_CONFIGS: 'UpdateManyPolicyConnectionConfigurations', REMOVE_POLICY_CONNECTION: 'RemovePolicyConnection', SET_POLICY_TAXES_ENABLED: 'SetPolicyTaxesEnabled', diff --git a/src/libs/actions/connections/QuickbooksOnline.ts b/src/libs/actions/connections/QuickbooksOnline.ts index 5348b1cd76d..7bb54703cf9 100644 --- a/src/libs/actions/connections/QuickbooksOnline.ts +++ b/src/libs/actions/connections/QuickbooksOnline.ts @@ -2,6 +2,7 @@ import type {OnyxUpdate} from 'react-native-onyx'; import Onyx from 'react-native-onyx'; import * as API from '@libs/API'; import type {ConnectPolicyToAccountingIntegrationParams} from '@libs/API/parameters'; +import type UpdateQuickbooksOnlineAutoCreateVendorParams from '@libs/API/parameters/UpdateQuickbooksOnlineAutoCreateVendorParams'; import type UpdateQuickbooksOnlineEnableNewCategoriesParams from '@libs/API/parameters/UpdateQuickbooksOnlineEnableNewCategoriesParams'; import {READ_COMMANDS, WRITE_COMMANDS} from '@libs/API/types'; import {getCommandURL} from '@libs/ApiUtils'; @@ -93,4 +94,79 @@ function updateQuickbooksOnlineEnableNewCategories(policyID: string, settingValu API.write(WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_ENABLE_NEW_CATEGORIES, parameters, {optimisticData, failureData, successData}); } -export {getQuickbooksOnlineSetupLink, updateQuickbooksOnlineEnableNewCategories}; +function updateQuickbooksOnlineAutoCreateVendor(policyID: string, settingValue: boolean) { + const optimisticData: OnyxUpdate[] = [ + { + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.POLICY}${policyID}`, + value: { + connections: { + [CONST.POLICY.CONNECTIONS.NAME.QBO]: { + config: { + [CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR]: settingValue ?? null, + pendingFields: { + [CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR]: CONST.RED_BRICK_ROAD_PENDING_ACTION.UPDATE, + }, + errorFields: { + [CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR]: null, + }, + }, + }, + }, + }, + }, + ]; + + const failureData: OnyxUpdate[] = [ + { + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.POLICY}${policyID}`, + value: { + connections: { + [CONST.POLICY.CONNECTIONS.NAME.QBO]: { + config: { + [CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR]: settingValue ?? null, + pendingFields: { + [CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR]: null, + }, + errorFields: { + [CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR]: ErrorUtils.getMicroSecondOnyxErrorWithTranslationKey('common.genericErrorMessage'), + }, + }, + }, + }, + }, + }, + ]; + + const successData: OnyxUpdate[] = [ + { + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.POLICY}${policyID}`, + value: { + connections: { + [CONST.POLICY.CONNECTIONS.NAME.QBO]: { + config: { + [CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR]: settingValue ?? null, + pendingFields: { + [CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR]: null, + }, + errorFields: { + [CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR]: null, + }, + }, + }, + }, + }, + }, + ]; + + const parameters: UpdateQuickbooksOnlineAutoCreateVendorParams = { + policyID, + settingValue: JSON.stringify(settingValue), + idempotencyKey: String(CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR), + }; + API.write(WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_AUTO_CREATE_VENDOR, parameters, {optimisticData, failureData, successData}); +} + +export {getQuickbooksOnlineSetupLink, updateQuickbooksOnlineEnableNewCategories, updateQuickbooksOnlineAutoCreateVendor}; diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index f8ded59659e..a0b89e4e5ba 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -9,6 +9,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import useWaitForNavigation from '@hooks/useWaitForNavigation'; import * as Connections from '@libs/actions/connections'; +import * as QuickbooksOnline from '@libs/actions/connections/QuickbooksOnline'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -99,7 +100,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { subtitle: translate('workspace.qbo.advancedConfig.createEntitiesDescription'), switchAccessibilityLabel: translate('workspace.qbo.advancedConfig.createEntitiesDescription'), isActive: !!autoCreateVendor, - onToggle: () => Connections.updatePolicyConnectionConfig(policyID, CONST.POLICY.CONNECTIONS.NAME.QBO, CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR, !autoCreateVendor), + onToggle: () => QuickbooksOnline.updateQuickbooksOnlineAutoCreateVendor(policyID, !autoCreateVendor), pendingAction: pendingFields?.autoCreateVendor, errors: ErrorUtils.getLatestErrorField(qboConfig ?? {}, CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR), onCloseError: () => Policy.clearQBOErrorField(policyID, CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR), From 0886e931c1420bf1129c2dc5d35592762c164417 Mon Sep 17 00:00:00 2001 From: Daniel Gale-Rosen Date: Mon, 5 Aug 2024 15:01:04 -0400 Subject: [PATCH 07/12] add updateQuickbooksOnlineReimbursableExpensesAccount --- ...OnlineReimbursableExpensesAccountParams.ts | 7 ++ src/libs/API/types.ts | 1 + .../actions/connections/QuickbooksOnline.ts | 84 ++++++++++++++++++- ...oksOutOfPocketExpenseAccountSelectPage.tsx | 3 +- 4 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 src/libs/API/parameters/UpdateQuickbooksOnlineReimbursableExpensesAccountParams.ts diff --git a/src/libs/API/parameters/UpdateQuickbooksOnlineReimbursableExpensesAccountParams.ts b/src/libs/API/parameters/UpdateQuickbooksOnlineReimbursableExpensesAccountParams.ts new file mode 100644 index 00000000000..83da3f3aa21 --- /dev/null +++ b/src/libs/API/parameters/UpdateQuickbooksOnlineReimbursableExpensesAccountParams.ts @@ -0,0 +1,7 @@ +type UpdateQuickbooksOnlineReimbursableExpensesAccountParams = { + policyID: string; + settingValue: string; + idempotencyKey: string; +}; + +export default UpdateQuickbooksOnlineReimbursableExpensesAccountParams; diff --git a/src/libs/API/types.ts b/src/libs/API/types.ts index e5463ee706f..bd0309b4433 100644 --- a/src/libs/API/types.ts +++ b/src/libs/API/types.ts @@ -206,6 +206,7 @@ const WRITE_COMMANDS = { UPDATE_POLICY_CONNECTION_CONFIG: 'UpdatePolicyConnectionConfiguration', UPDATE_QUICKBOOKS_ONLINE_ENABLE_NEW_CATEGORIES: 'UpdateQuickbooksOnlineEnableNewCategories', UPDATE_QUICKBOOKS_ONLINE_AUTO_CREATE_VENDOR: 'UpdateQuickbooksOnlineAutoCreateVendor', + UPDATE_QUICKBOOKS_ONLINE_REIMBURSABLE_EXPENSES_ACCOUNT: 'UpdateQuickbooksOnlineReimbursableExpensesAccount', UPDATE_MANY_POLICY_CONNECTION_CONFIGS: 'UpdateManyPolicyConnectionConfigurations', REMOVE_POLICY_CONNECTION: 'RemovePolicyConnection', SET_POLICY_TAXES_ENABLED: 'SetPolicyTaxesEnabled', diff --git a/src/libs/actions/connections/QuickbooksOnline.ts b/src/libs/actions/connections/QuickbooksOnline.ts index 7bb54703cf9..a80c2b708dd 100644 --- a/src/libs/actions/connections/QuickbooksOnline.ts +++ b/src/libs/actions/connections/QuickbooksOnline.ts @@ -4,11 +4,15 @@ import * as API from '@libs/API'; import type {ConnectPolicyToAccountingIntegrationParams} from '@libs/API/parameters'; import type UpdateQuickbooksOnlineAutoCreateVendorParams from '@libs/API/parameters/UpdateQuickbooksOnlineAutoCreateVendorParams'; import type UpdateQuickbooksOnlineEnableNewCategoriesParams from '@libs/API/parameters/UpdateQuickbooksOnlineEnableNewCategoriesParams'; +import type UpdateQuickbooksOnlineReimbursableExpensesAccountParams from '@libs/API/parameters/UpdateQuickbooksOnlineReimbursableExpensesAccountParams'; import {READ_COMMANDS, WRITE_COMMANDS} from '@libs/API/types'; import {getCommandURL} from '@libs/ApiUtils'; import * as ErrorUtils from '@libs/ErrorUtils'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; +import type {ConnectionName, Connections} from '@src/types/onyx/Policy'; + +type ConnectionNameExceptNetSuite = Exclude; function getQuickbooksOnlineSetupLink(policyID: string) { const params: ConnectPolicyToAccountingIntegrationParams = {policyID}; @@ -169,4 +173,82 @@ function updateQuickbooksOnlineAutoCreateVendor(policyID: string, settingValue: API.write(WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_AUTO_CREATE_VENDOR, parameters, {optimisticData, failureData, successData}); } -export {getQuickbooksOnlineSetupLink, updateQuickbooksOnlineEnableNewCategories, updateQuickbooksOnlineAutoCreateVendor}; +function updateQuickbooksOnlineReimbursableExpensesAccount( + policyID: string, + settingValue: Partial, +) { + const optimisticData: OnyxUpdate[] = [ + { + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.POLICY}${policyID}`, + value: { + connections: { + [CONST.POLICY.CONNECTIONS.NAME.QBO]: { + config: { + [CONST.QUICK_BOOKS_CONFIG.REIMBURSABLE_EXPENSES_ACCOUNT]: settingValue ?? null, + pendingFields: { + [CONST.QUICK_BOOKS_CONFIG.REIMBURSABLE_EXPENSES_ACCOUNT]: CONST.RED_BRICK_ROAD_PENDING_ACTION.UPDATE, + }, + errorFields: { + [CONST.QUICK_BOOKS_CONFIG.REIMBURSABLE_EXPENSES_ACCOUNT]: null, + }, + }, + }, + }, + }, + }, + ]; + + const failureData: OnyxUpdate[] = [ + { + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.POLICY}${policyID}`, + value: { + connections: { + [CONST.POLICY.CONNECTIONS.NAME.QBO]: { + config: { + [CONST.QUICK_BOOKS_CONFIG.REIMBURSABLE_EXPENSES_ACCOUNT]: settingValue ?? null, + pendingFields: { + [CONST.QUICK_BOOKS_CONFIG.REIMBURSABLE_EXPENSES_ACCOUNT]: null, + }, + errorFields: { + [CONST.QUICK_BOOKS_CONFIG.REIMBURSABLE_EXPENSES_ACCOUNT]: ErrorUtils.getMicroSecondOnyxErrorWithTranslationKey('common.genericErrorMessage'), + }, + }, + }, + }, + }, + }, + ]; + + const successData: OnyxUpdate[] = [ + { + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.POLICY}${policyID}`, + value: { + connections: { + [CONST.POLICY.CONNECTIONS.NAME.QBO]: { + config: { + [CONST.QUICK_BOOKS_CONFIG.REIMBURSABLE_EXPENSES_ACCOUNT]: settingValue ?? null, + pendingFields: { + [CONST.QUICK_BOOKS_CONFIG.REIMBURSABLE_EXPENSES_ACCOUNT]: null, + }, + errorFields: { + [CONST.QUICK_BOOKS_CONFIG.REIMBURSABLE_EXPENSES_ACCOUNT]: null, + }, + }, + }, + }, + }, + }, + ]; + + const parameters: UpdateQuickbooksOnlineReimbursableExpensesAccountParams = { + policyID, + settingValue: JSON.stringify(settingValue), + idempotencyKey: String(CONST.QUICK_BOOKS_CONFIG.REIMBURSABLE_EXPENSES_ACCOUNT), + }; + API.write(WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_REIMBURSABLE_EXPENSES_ACCOUNT, parameters, {optimisticData, failureData, successData}); +} + +export {getQuickbooksOnlineSetupLink, updateQuickbooksOnlineEnableNewCategories, updateQuickbooksOnlineAutoCreateVendor, updateQuickbooksOnlineReimbursableExpensesAccount}; diff --git a/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseAccountSelectPage.tsx b/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseAccountSelectPage.tsx index 50b44640642..0bbb3f810ae 100644 --- a/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseAccountSelectPage.tsx @@ -10,6 +10,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Connections from '@libs/actions/connections'; +import * as QuickbooksOnline from '@libs/actions/connections/QuickbooksOnline'; import Navigation from '@navigation/Navigation'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; @@ -82,7 +83,7 @@ function QuickbooksOutOfPocketExpenseAccountSelectPage({policy}: WithPolicyConne const selectExportAccount = useCallback( (row: CardListItem) => { if (row.value.id !== reimbursableExpensesAccount?.id) { - Connections.updatePolicyConnectionConfig(policyID, CONST.POLICY.CONNECTIONS.NAME.QBO, CONST.QUICK_BOOKS_CONFIG.REIMBURSABLE_EXPENSES_ACCOUNT, row.value); + QuickbooksOnline.updateQuickbooksOnlineReimbursableExpensesAccount(policyID, row.value); } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES.getRoute(policyID)); }, From 58c4030d9457c9b9699e9cb15e11817527670bc3 Mon Sep 17 00:00:00 2001 From: Daniel Gale-Rosen Date: Mon, 5 Aug 2024 15:01:45 -0400 Subject: [PATCH 08/12] rename the params type correctly --- .../UpdateQuickbooksOnlineAutoCreateVendorParams.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libs/API/parameters/UpdateQuickbooksOnlineAutoCreateVendorParams.ts b/src/libs/API/parameters/UpdateQuickbooksOnlineAutoCreateVendorParams.ts index 122d550923d..7d96361304d 100644 --- a/src/libs/API/parameters/UpdateQuickbooksOnlineAutoCreateVendorParams.ts +++ b/src/libs/API/parameters/UpdateQuickbooksOnlineAutoCreateVendorParams.ts @@ -1,7 +1,7 @@ -type UpdateQuickbooksOnlineEnableNewCategoriesParams = { +type UpdateQuickbooksOnlineAutoCreateVendorParams = { policyID: string; settingValue: string; idempotencyKey: string; }; -export default UpdateQuickbooksOnlineEnableNewCategoriesParams; +export default UpdateQuickbooksOnlineAutoCreateVendorParams; From 6e93f8d4cd359502af01a9b305d127c757c126ba Mon Sep 17 00:00:00 2001 From: Daniel Gale-Rosen Date: Mon, 5 Aug 2024 15:15:13 -0400 Subject: [PATCH 09/12] fix types --- src/libs/API/types.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libs/API/types.ts b/src/libs/API/types.ts index bd0309b4433..17959f8f721 100644 --- a/src/libs/API/types.ts +++ b/src/libs/API/types.ts @@ -538,6 +538,8 @@ type WriteCommandParameters = { [WRITE_COMMANDS.CLEAR_OUTSTANDING_BALANCE]: null; [WRITE_COMMANDS.CANCEL_BILLING_SUBSCRIPTION]: Parameters.CancelBillingSubscriptionParams; [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_ENABLE_NEW_CATEGORIES]: Parameters.UpdateQuickbooksOnlineEnableNewCategoriesParams; + [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_AUTO_CREATE_VENDOR]: Parameters.UpdateQuickbooksOnlineEnableNewCategoriesParams; + [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_REIMBURSABLE_EXPENSES_ACCOUNT]: Parameters.UpdateQuickbooksOnlineEnableNewCategoriesParams; [WRITE_COMMANDS.UPDATE_POLICY_CONNECTION_CONFIG]: Parameters.UpdatePolicyConnectionConfigParams; [WRITE_COMMANDS.UPDATE_MANY_POLICY_CONNECTION_CONFIGS]: Parameters.UpdateManyPolicyConnectionConfigurationsParams; [WRITE_COMMANDS.REMOVE_POLICY_CONNECTION]: Parameters.RemovePolicyConnectionParams; From 98eceb02ef4305cff9e17195c72bbf10fcd08f91 Mon Sep 17 00:00:00 2001 From: Daniel Gale-Rosen Date: Mon, 5 Aug 2024 15:26:25 -0400 Subject: [PATCH 10/12] add new types in list --- src/libs/API/parameters/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libs/API/parameters/index.ts b/src/libs/API/parameters/index.ts index 151f23dc38d..7c2268ce469 100644 --- a/src/libs/API/parameters/index.ts +++ b/src/libs/API/parameters/index.ts @@ -220,6 +220,8 @@ export type {default as SetPolicyCustomTaxNameParams} from './SetPolicyCustomTax export type {default as SetPolicyForeignCurrencyDefaultParams} from './SetPolicyForeignCurrencyDefaultParams'; export type {default as SetPolicyCurrencyDefaultParams} from './SetPolicyCurrencyDefaultParams'; export type {default as UpdateQuickbooksOnlineEnableNewCategoriesParams} from './UpdateQuickbooksOnlineEnableNewCategoriesParams'; +export type {default as UpdateQuickbooksOnlineAutoCreateVendorParams} from './UpdateQuickbooksOnlineAutoCreateVendorParams'; +export type {default as UpdateQuickbooksOnlineReimbursableExpensesAccountParams} from './UpdateQuickbooksOnlineReimbursableExpensesAccountParams'; export type {default as UpdatePolicyConnectionConfigParams} from './UpdatePolicyConnectionConfigParams'; export type {default as UpdateManyPolicyConnectionConfigurationsParams} from './UpdateManyPolicyConnectionConfigurationsParams'; export type {default as RemovePolicyConnectionParams} from './RemovePolicyConnectionParams'; From 81e6b694533c9932c0eafadc3be928e8f97b9977 Mon Sep 17 00:00:00 2001 From: Daniel Gale-Rosen Date: Mon, 5 Aug 2024 15:30:47 -0400 Subject: [PATCH 11/12] only use one type for all commands --- .../UpdateQuickbooksOnlineAutoCreateVendorParams.ts | 7 ------- .../UpdateQuickbooksOnlineEnableNewCategoriesParams.ts | 7 ------- .../UpdateQuickbooksOnlineGenericTypeParams.ts | 7 +++++++ ...uickbooksOnlineReimbursableExpensesAccountParams.ts | 7 ------- src/libs/API/parameters/index.ts | 4 +--- src/libs/API/types.ts | 6 +++--- src/libs/actions/connections/QuickbooksOnline.ts | 10 ++++------ 7 files changed, 15 insertions(+), 33 deletions(-) delete mode 100644 src/libs/API/parameters/UpdateQuickbooksOnlineAutoCreateVendorParams.ts delete mode 100644 src/libs/API/parameters/UpdateQuickbooksOnlineEnableNewCategoriesParams.ts create mode 100644 src/libs/API/parameters/UpdateQuickbooksOnlineGenericTypeParams.ts delete mode 100644 src/libs/API/parameters/UpdateQuickbooksOnlineReimbursableExpensesAccountParams.ts diff --git a/src/libs/API/parameters/UpdateQuickbooksOnlineAutoCreateVendorParams.ts b/src/libs/API/parameters/UpdateQuickbooksOnlineAutoCreateVendorParams.ts deleted file mode 100644 index 7d96361304d..00000000000 --- a/src/libs/API/parameters/UpdateQuickbooksOnlineAutoCreateVendorParams.ts +++ /dev/null @@ -1,7 +0,0 @@ -type UpdateQuickbooksOnlineAutoCreateVendorParams = { - policyID: string; - settingValue: string; - idempotencyKey: string; -}; - -export default UpdateQuickbooksOnlineAutoCreateVendorParams; diff --git a/src/libs/API/parameters/UpdateQuickbooksOnlineEnableNewCategoriesParams.ts b/src/libs/API/parameters/UpdateQuickbooksOnlineEnableNewCategoriesParams.ts deleted file mode 100644 index 122d550923d..00000000000 --- a/src/libs/API/parameters/UpdateQuickbooksOnlineEnableNewCategoriesParams.ts +++ /dev/null @@ -1,7 +0,0 @@ -type UpdateQuickbooksOnlineEnableNewCategoriesParams = { - policyID: string; - settingValue: string; - idempotencyKey: string; -}; - -export default UpdateQuickbooksOnlineEnableNewCategoriesParams; diff --git a/src/libs/API/parameters/UpdateQuickbooksOnlineGenericTypeParams.ts b/src/libs/API/parameters/UpdateQuickbooksOnlineGenericTypeParams.ts new file mode 100644 index 00000000000..a4caeb9fbe0 --- /dev/null +++ b/src/libs/API/parameters/UpdateQuickbooksOnlineGenericTypeParams.ts @@ -0,0 +1,7 @@ +type UpdateQuickbooksOnlineGenericTypeParams = { + policyID: string; + settingValue: string; + idempotencyKey: string; +}; + +export default UpdateQuickbooksOnlineGenericTypeParams; diff --git a/src/libs/API/parameters/UpdateQuickbooksOnlineReimbursableExpensesAccountParams.ts b/src/libs/API/parameters/UpdateQuickbooksOnlineReimbursableExpensesAccountParams.ts deleted file mode 100644 index 83da3f3aa21..00000000000 --- a/src/libs/API/parameters/UpdateQuickbooksOnlineReimbursableExpensesAccountParams.ts +++ /dev/null @@ -1,7 +0,0 @@ -type UpdateQuickbooksOnlineReimbursableExpensesAccountParams = { - policyID: string; - settingValue: string; - idempotencyKey: string; -}; - -export default UpdateQuickbooksOnlineReimbursableExpensesAccountParams; diff --git a/src/libs/API/parameters/index.ts b/src/libs/API/parameters/index.ts index 7c2268ce469..c26c8eeaab0 100644 --- a/src/libs/API/parameters/index.ts +++ b/src/libs/API/parameters/index.ts @@ -219,9 +219,7 @@ export type {default as AddSubscriptionPaymentCardParams} from './AddSubscriptio export type {default as SetPolicyCustomTaxNameParams} from './SetPolicyCustomTaxNameParams'; export type {default as SetPolicyForeignCurrencyDefaultParams} from './SetPolicyForeignCurrencyDefaultParams'; export type {default as SetPolicyCurrencyDefaultParams} from './SetPolicyCurrencyDefaultParams'; -export type {default as UpdateQuickbooksOnlineEnableNewCategoriesParams} from './UpdateQuickbooksOnlineEnableNewCategoriesParams'; -export type {default as UpdateQuickbooksOnlineAutoCreateVendorParams} from './UpdateQuickbooksOnlineAutoCreateVendorParams'; -export type {default as UpdateQuickbooksOnlineReimbursableExpensesAccountParams} from './UpdateQuickbooksOnlineReimbursableExpensesAccountParams'; +export type {default as UpdateQuickbooksOnlineGenericTypeParams} from './UpdateQuickbooksOnlineGenericTypeParams'; export type {default as UpdatePolicyConnectionConfigParams} from './UpdatePolicyConnectionConfigParams'; export type {default as UpdateManyPolicyConnectionConfigurationsParams} from './UpdateManyPolicyConnectionConfigurationsParams'; export type {default as RemovePolicyConnectionParams} from './RemovePolicyConnectionParams'; diff --git a/src/libs/API/types.ts b/src/libs/API/types.ts index 17959f8f721..d7c74a5b9fe 100644 --- a/src/libs/API/types.ts +++ b/src/libs/API/types.ts @@ -537,9 +537,9 @@ type WriteCommandParameters = { [WRITE_COMMANDS.REQUEST_EXPENSIFY_CARD_LIMIT_INCREASE]: Parameters.RequestExpensifyCardLimitIncreaseParams; [WRITE_COMMANDS.CLEAR_OUTSTANDING_BALANCE]: null; [WRITE_COMMANDS.CANCEL_BILLING_SUBSCRIPTION]: Parameters.CancelBillingSubscriptionParams; - [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_ENABLE_NEW_CATEGORIES]: Parameters.UpdateQuickbooksOnlineEnableNewCategoriesParams; - [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_AUTO_CREATE_VENDOR]: Parameters.UpdateQuickbooksOnlineEnableNewCategoriesParams; - [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_REIMBURSABLE_EXPENSES_ACCOUNT]: Parameters.UpdateQuickbooksOnlineEnableNewCategoriesParams; + [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_ENABLE_NEW_CATEGORIES]: Parameters.UpdateQuickbooksOnlineGenericTypeParams; + [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_AUTO_CREATE_VENDOR]: Parameters.UpdateQuickbooksOnlineGenericTypeParams; + [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_REIMBURSABLE_EXPENSES_ACCOUNT]: Parameters.UpdateQuickbooksOnlineGenericTypeParams; [WRITE_COMMANDS.UPDATE_POLICY_CONNECTION_CONFIG]: Parameters.UpdatePolicyConnectionConfigParams; [WRITE_COMMANDS.UPDATE_MANY_POLICY_CONNECTION_CONFIGS]: Parameters.UpdateManyPolicyConnectionConfigurationsParams; [WRITE_COMMANDS.REMOVE_POLICY_CONNECTION]: Parameters.RemovePolicyConnectionParams; diff --git a/src/libs/actions/connections/QuickbooksOnline.ts b/src/libs/actions/connections/QuickbooksOnline.ts index a80c2b708dd..a3216378add 100644 --- a/src/libs/actions/connections/QuickbooksOnline.ts +++ b/src/libs/actions/connections/QuickbooksOnline.ts @@ -2,9 +2,7 @@ import type {OnyxUpdate} from 'react-native-onyx'; import Onyx from 'react-native-onyx'; import * as API from '@libs/API'; import type {ConnectPolicyToAccountingIntegrationParams} from '@libs/API/parameters'; -import type UpdateQuickbooksOnlineAutoCreateVendorParams from '@libs/API/parameters/UpdateQuickbooksOnlineAutoCreateVendorParams'; -import type UpdateQuickbooksOnlineEnableNewCategoriesParams from '@libs/API/parameters/UpdateQuickbooksOnlineEnableNewCategoriesParams'; -import type UpdateQuickbooksOnlineReimbursableExpensesAccountParams from '@libs/API/parameters/UpdateQuickbooksOnlineReimbursableExpensesAccountParams'; +import type UpdateQuickbooksOnlineGenericTypeParams from '@libs/API/parameters/UpdateQuickbooksOnlineGenericTypeParams'; import {READ_COMMANDS, WRITE_COMMANDS} from '@libs/API/types'; import {getCommandURL} from '@libs/ApiUtils'; import * as ErrorUtils from '@libs/ErrorUtils'; @@ -90,7 +88,7 @@ function updateQuickbooksOnlineEnableNewCategories(policyID: string, settingValu }, ]; - const parameters: UpdateQuickbooksOnlineEnableNewCategoriesParams = { + const parameters: UpdateQuickbooksOnlineGenericTypeParams = { policyID, settingValue: JSON.stringify(settingValue), idempotencyKey: String(CONST.QUICK_BOOKS_CONFIG.ENABLE_NEW_CATEGORIES), @@ -165,7 +163,7 @@ function updateQuickbooksOnlineAutoCreateVendor(policyID: string, settingValue: }, ]; - const parameters: UpdateQuickbooksOnlineAutoCreateVendorParams = { + const parameters: UpdateQuickbooksOnlineGenericTypeParams = { policyID, settingValue: JSON.stringify(settingValue), idempotencyKey: String(CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR), @@ -243,7 +241,7 @@ function updateQuickbooksOnlineReimbursableExpensesAccount Date: Mon, 5 Aug 2024 15:47:23 -0400 Subject: [PATCH 12/12] remove unused import --- .../qbo/export/QuickbooksOutOfPocketExpenseAccountSelectPage.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseAccountSelectPage.tsx b/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseAccountSelectPage.tsx index 0bbb3f810ae..9d2a27107ef 100644 --- a/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseAccountSelectPage.tsx @@ -9,7 +9,6 @@ import type {ListItem} from '@components/SelectionList/types'; import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections'; import * as QuickbooksOnline from '@libs/actions/connections/QuickbooksOnline'; import Navigation from '@navigation/Navigation'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';