From 0e8668de62a2b2cbbd6c1bf483ef370c7730eb44 Mon Sep 17 00:00:00 2001 From: Shubham Agrawal Date: Tue, 27 Aug 2024 17:37:53 +0530 Subject: [PATCH 1/5] Made some QBO operations 1:1 --- .../actions/connections/QuickbooksOnline.ts | 247 +++++++++++++++++- .../advanced/QuickbooksAccountSelectPage.tsx | 8 +- .../qbo/advanced/QuickbooksAdvancedPage.tsx | 5 +- ...ooksPreferredExporterConfigurationPage.tsx | 4 +- 4 files changed, 254 insertions(+), 10 deletions(-) diff --git a/src/libs/actions/connections/QuickbooksOnline.ts b/src/libs/actions/connections/QuickbooksOnline.ts index a3216378add3..3045e26fe551 100644 --- a/src/libs/actions/connections/QuickbooksOnline.ts +++ b/src/libs/actions/connections/QuickbooksOnline.ts @@ -96,6 +96,87 @@ function updateQuickbooksOnlineEnableNewCategories(policyID: string, settingValu API.write(WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_ENABLE_NEW_CATEGORIES, parameters, {optimisticData, failureData, successData}); } +function updateQuickbooksOnlineAutoSync(policyID: string, settingValue: boolean) { + const optimisticData: OnyxUpdate[] = [ + { + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.POLICY}${policyID}`, + value: { + connections: { + [CONST.POLICY.CONNECTIONS.NAME.QBO]: { + config: { + autoSync: { + enabled: settingValue ?? null, + }, + pendingFields: { + [CONST.QUICK_BOOKS_CONFIG.AUTO_SYNC]: CONST.RED_BRICK_ROAD_PENDING_ACTION.UPDATE, + }, + errorFields: { + [CONST.QUICK_BOOKS_CONFIG.AUTO_SYNC]: null, + }, + }, + }, + }, + }, + }, + ]; + + const failureData: OnyxUpdate[] = [ + { + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.POLICY}${policyID}`, + value: { + connections: { + [CONST.POLICY.CONNECTIONS.NAME.QBO]: { + config: { + autoSync: { + enabled: !settingValue ?? null, + }, + pendingFields: { + [CONST.QUICK_BOOKS_CONFIG.AUTO_SYNC]: null, + }, + errorFields: { + [CONST.QUICK_BOOKS_CONFIG.AUTO_SYNC]: ErrorUtils.getMicroSecondOnyxErrorWithTranslationKey('common.genericErrorMessage'), + }, + }, + }, + }, + }, + }, + ]; + + const successData: OnyxUpdate[] = [ + { + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.POLICY}${policyID}`, + value: { + connections: { + [CONST.POLICY.CONNECTIONS.NAME.QBO]: { + config: { + autoSync: { + enabled: settingValue ?? null, + }, + pendingFields: { + [CONST.QUICK_BOOKS_CONFIG.AUTO_SYNC]: null, + }, + errorFields: { + [CONST.QUICK_BOOKS_CONFIG.AUTO_SYNC]: null, + }, + }, + }, + }, + }, + }, + ]; + + const parameters: UpdateQuickbooksOnlineGenericTypeParams = { + policyID, + settingValue: JSON.stringify(settingValue), + idempotencyKey: String(CONST.QUICK_BOOKS_CONFIG.AUTO_SYNC), + }; + API.write(WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_AUTO_SYNC, parameters, {optimisticData, failureData, successData}); +} + function updateQuickbooksOnlineAutoCreateVendor(policyID: string, settingValue: boolean) { const optimisticData: OnyxUpdate[] = [ { @@ -249,4 +330,168 @@ function updateQuickbooksOnlineReimbursableExpensesAccount { - Connections.updatePolicyConnectionConfig(policyID, CONST.POLICY.CONNECTIONS.NAME.QBO, CONST.QUICK_BOOKS_CONFIG.REIMBURSEMENT_ACCOUNT_ID, value); + if (value !== reimbursementAccountID) { + QuickbooksOnline.updateQuickbooksOnlineReimbursementAccountID(policyID, reimbursementAccountID, value); + } Navigation.goBack(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_ADVANCED.getRoute(policyID)); }, - [policyID], + [policyID, reimbursementAccountID], ); const listEmptyContent = useMemo( diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index a0b89e4e5baf..861a304a4597 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -75,10 +75,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { subtitle: translate('workspace.qbo.advancedConfig.autoSyncDescription'), switchAccessibilityLabel: translate('workspace.qbo.advancedConfig.autoSyncDescription'), isActive: !!autoSync?.enabled, - onToggle: () => - Connections.updatePolicyConnectionConfig(policyID, CONST.POLICY.CONNECTIONS.NAME.QBO, CONST.QUICK_BOOKS_CONFIG.AUTO_SYNC, { - enabled: !autoSync?.enabled, - }), + onToggle: () => QuickbooksOnline.updateQuickbooksOnlineAutoSync(policyID, !autoSync?.enabled), pendingAction: pendingFields?.autoSync, errors: ErrorUtils.getLatestErrorField(qboConfig ?? {}, CONST.QUICK_BOOKS_CONFIG.AUTO_SYNC), onCloseError: () => Policy.clearQBOErrorField(policyID, CONST.QUICK_BOOKS_CONFIG.AUTO_SYNC), diff --git a/src/pages/workspace/accounting/qbo/export/QuickbooksPreferredExporterConfigurationPage.tsx b/src/pages/workspace/accounting/qbo/export/QuickbooksPreferredExporterConfigurationPage.tsx index 55d262ebb21e..a93d48dbff51 100644 --- a/src/pages/workspace/accounting/qbo/export/QuickbooksPreferredExporterConfigurationPage.tsx +++ b/src/pages/workspace/accounting/qbo/export/QuickbooksPreferredExporterConfigurationPage.tsx @@ -8,7 +8,7 @@ import Text from '@components/Text'; import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails'; 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 * as PolicyUtils from '@libs/PolicyUtils'; import {getAdminEmployees} from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; @@ -55,7 +55,7 @@ function QuickbooksPreferredExporterConfigurationPage({policy}: WithPolicyConnec const selectExporter = useCallback( (row: CardListItem) => { if (row.value !== exportConfiguration?.exporter) { - Connections.updatePolicyConnectionConfig(policyID, CONST.POLICY.CONNECTIONS.NAME.QBO, CONST.QUICK_BOOKS_CONFIG.EXPORT, {exporter: row.value}); + QuickbooksOnline.updateQuickbooksOnlinePreferredExporter(policyID, exportConfiguration?.exporter, row.value); } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_PREFERRED_EXPORTER.getRoute(policyID)); }, From 7979c753fe06a4da84872e12dc6038fe28ebde81 Mon Sep 17 00:00:00 2001 From: Shubham Agrawal Date: Tue, 27 Aug 2024 18:14:19 +0530 Subject: [PATCH 2/5] Fix ts --- src/libs/API/types.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libs/API/types.ts b/src/libs/API/types.ts index 4e55de0640b3..9e57f5ed848e 100644 --- a/src/libs/API/types.ts +++ b/src/libs/API/types.ts @@ -218,6 +218,9 @@ const WRITE_COMMANDS = { UPDATE_QUICKBOOKS_ONLINE_ENABLE_NEW_CATEGORIES: 'UpdateQuickbooksOnlineEnableNewCategories', UPDATE_QUICKBOOKS_ONLINE_AUTO_CREATE_VENDOR: 'UpdateQuickbooksOnlineAutoCreateVendor', UPDATE_QUICKBOOKS_ONLINE_REIMBURSABLE_EXPENSES_ACCOUNT: 'UpdateQuickbooksOnlineReimbursableExpensesAccount', + UPDATE_QUICKBOOKS_ONLINE_AUTO_SYNC: 'UpdateQuickbooksOnlineAutoSync', + UPDATE_QUICKBOOKS_ONLINE_REIMBURSEMENT_ACCOUNT_ID: 'UpdateQuickbooksOnlineReimbursementAccountID', + UPDATE_QUICKBOOKS_ONLINE_EXPORT: 'UpdateQuickbooksOnlineExport', UPDATE_MANY_POLICY_CONNECTION_CONFIGS: 'UpdateManyPolicyConnectionConfigurations', REMOVE_POLICY_CONNECTION: 'RemovePolicyConnection', SET_POLICY_TAXES_ENABLED: 'SetPolicyTaxesEnabled', @@ -575,6 +578,9 @@ type WriteCommandParameters = { [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_QUICKBOOKS_ONLINE_AUTO_SYNC]: Parameters.UpdateQuickbooksOnlineGenericTypeParams; + [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_REIMBURSEMENT_ACCOUNT_ID]: Parameters.UpdateQuickbooksOnlineGenericTypeParams; + [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_EXPORT]: 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; From bbaf5d52c9cef3b40a299e9b2b7cb9997693ccca Mon Sep 17 00:00:00 2001 From: Shubham Agrawal Date: Fri, 30 Aug 2024 11:12:27 +0530 Subject: [PATCH 3/5] Added syncPeople command --- src/libs/API/types.ts | 2 + .../actions/connections/QuickbooksOnline.ts | 76 +++++++++++++++++++ .../qbo/advanced/QuickbooksAdvancedPage.tsx | 2 +- 3 files changed, 79 insertions(+), 1 deletion(-) diff --git a/src/libs/API/types.ts b/src/libs/API/types.ts index 9e57f5ed848e..dda6ed0a46ee 100644 --- a/src/libs/API/types.ts +++ b/src/libs/API/types.ts @@ -219,6 +219,7 @@ const WRITE_COMMANDS = { UPDATE_QUICKBOOKS_ONLINE_AUTO_CREATE_VENDOR: 'UpdateQuickbooksOnlineAutoCreateVendor', UPDATE_QUICKBOOKS_ONLINE_REIMBURSABLE_EXPENSES_ACCOUNT: 'UpdateQuickbooksOnlineReimbursableExpensesAccount', UPDATE_QUICKBOOKS_ONLINE_AUTO_SYNC: 'UpdateQuickbooksOnlineAutoSync', + UPDATE_QUICKBOOKS_ONLINE_SYNC_PEOPLE: 'UpdateQuickbooksOnlineSyncPeople', UPDATE_QUICKBOOKS_ONLINE_REIMBURSEMENT_ACCOUNT_ID: 'UpdateQuickbooksOnlineReimbursementAccountID', UPDATE_QUICKBOOKS_ONLINE_EXPORT: 'UpdateQuickbooksOnlineExport', UPDATE_MANY_POLICY_CONNECTION_CONFIGS: 'UpdateManyPolicyConnectionConfigurations', @@ -579,6 +580,7 @@ type WriteCommandParameters = { [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_AUTO_CREATE_VENDOR]: Parameters.UpdateQuickbooksOnlineGenericTypeParams; [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_REIMBURSABLE_EXPENSES_ACCOUNT]: Parameters.UpdateQuickbooksOnlineGenericTypeParams; [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_AUTO_SYNC]: Parameters.UpdateQuickbooksOnlineGenericTypeParams; + [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_SYNC_PEOPLE]: Parameters.UpdateQuickbooksOnlineGenericTypeParams; [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_REIMBURSEMENT_ACCOUNT_ID]: Parameters.UpdateQuickbooksOnlineGenericTypeParams; [WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_EXPORT]: Parameters.UpdateQuickbooksOnlineGenericTypeParams; [WRITE_COMMANDS.UPDATE_POLICY_CONNECTION_CONFIG]: Parameters.UpdatePolicyConnectionConfigParams; diff --git a/src/libs/actions/connections/QuickbooksOnline.ts b/src/libs/actions/connections/QuickbooksOnline.ts index 3045e26fe551..edd4761a3c0d 100644 --- a/src/libs/actions/connections/QuickbooksOnline.ts +++ b/src/libs/actions/connections/QuickbooksOnline.ts @@ -252,6 +252,81 @@ function updateQuickbooksOnlineAutoCreateVendor(policyID: string, settingValue: API.write(WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_AUTO_CREATE_VENDOR, parameters, {optimisticData, failureData, successData}); } +function updateQuickbooksOnlineSyncPeople(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.SYNC_PEOPLE]: settingValue ?? null, + pendingFields: { + [CONST.QUICK_BOOKS_CONFIG.SYNC_PEOPLE]: CONST.RED_BRICK_ROAD_PENDING_ACTION.UPDATE, + }, + errorFields: { + [CONST.QUICK_BOOKS_CONFIG.SYNC_PEOPLE]: 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.SYNC_PEOPLE]: settingValue ?? null, + pendingFields: { + [CONST.QUICK_BOOKS_CONFIG.SYNC_PEOPLE]: null, + }, + errorFields: { + [CONST.QUICK_BOOKS_CONFIG.SYNC_PEOPLE]: 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.SYNC_PEOPLE]: settingValue ?? null, + pendingFields: { + [CONST.QUICK_BOOKS_CONFIG.SYNC_PEOPLE]: null, + }, + errorFields: { + [CONST.QUICK_BOOKS_CONFIG.SYNC_PEOPLE]: null, + }, + }, + }, + }, + }, + }, + ]; + + const parameters: UpdateQuickbooksOnlineGenericTypeParams = { + policyID, + settingValue: JSON.stringify(settingValue), + idempotencyKey: String(CONST.QUICK_BOOKS_CONFIG.SYNC_PEOPLE), + }; + API.write(WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_SYNC_PEOPLE, parameters, {optimisticData, failureData, successData}); +} + function updateQuickbooksOnlineReimbursableExpensesAccount( policyID: string, settingValue: Partial, @@ -492,6 +567,7 @@ export { updateQuickbooksOnlineAutoCreateVendor, updateQuickbooksOnlineReimbursableExpensesAccount, updateQuickbooksOnlineAutoSync, + updateQuickbooksOnlineSyncPeople, updateQuickbooksOnlineReimbursementAccountID, updateQuickbooksOnlinePreferredExporter, }; diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index 861a304a4597..a14f548648aa 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -86,7 +86,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { subtitle: translate('workspace.qbo.advancedConfig.inviteEmployeesDescription'), switchAccessibilityLabel: translate('workspace.qbo.advancedConfig.inviteEmployeesDescription'), isActive: !!syncPeople, - onToggle: () => Connections.updatePolicyConnectionConfig(policyID, CONST.POLICY.CONNECTIONS.NAME.QBO, CONST.QUICK_BOOKS_CONFIG.SYNC_PEOPLE, !syncPeople), + onToggle: () => QuickbooksOnline.updateQuickbooksOnlineSyncPeople(policyID, !syncPeople), pendingAction: pendingFields?.syncPeople, errors: ErrorUtils.getLatestErrorField(qboConfig ?? {}, CONST.QUICK_BOOKS_CONFIG.SYNC_PEOPLE), onCloseError: () => Policy.clearQBOErrorField(policyID, CONST.QUICK_BOOKS_CONFIG.SYNC_PEOPLE), From f128219c58f5e5bb7c47cd7835568272b647378d Mon Sep 17 00:00:00 2001 From: Shubham Agrawal Date: Mon, 16 Sep 2024 09:52:46 +0530 Subject: [PATCH 4/5] Fix offline indicators --- .../accounting/qbo/advanced/QuickbooksAdvancedPage.tsx | 6 +++--- .../qbo/export/QuickbooksExportConfigurationPage.tsx | 2 +- .../export/QuickbooksPreferredExporterConfigurationPage.tsx | 6 +++--- src/pages/workspace/accounting/utils.tsx | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index b01b04a76cc8..8f7a7f134815 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -89,9 +89,9 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { switchAccessibilityLabel: translate('workspace.qbo.advancedConfig.autoSyncDescription'), isActive: !!qboConfig?.autoSync?.enabled, onToggle: () => QuickbooksOnline.updateQuickbooksOnlineAutoSync(policyID, !qboConfig?.autoSync?.enabled), - subscribedSetting: CONST.QUICKBOOKS_CONFIG.ENABLED, - errors: ErrorUtils.getLatestErrorField(qboConfig, CONST.QUICKBOOKS_CONFIG.ENABLED), - pendingAction: settingsPendingAction([CONST.QUICKBOOKS_CONFIG.ENABLED], qboConfig?.pendingFields), + subscribedSetting: CONST.QUICKBOOKS_CONFIG.AUTO_SYNC, + errors: ErrorUtils.getLatestErrorField(qboConfig, CONST.QUICKBOOKS_CONFIG.AUTO_SYNC), + pendingAction: settingsPendingAction([CONST.QUICKBOOKS_CONFIG.AUTO_SYNC], qboConfig?.pendingFields), }, { title: translate('workspace.qbo.advancedConfig.inviteEmployees'), diff --git a/src/pages/workspace/accounting/qbo/export/QuickbooksExportConfigurationPage.tsx b/src/pages/workspace/accounting/qbo/export/QuickbooksExportConfigurationPage.tsx index 318582519604..67208b2ce8b0 100644 --- a/src/pages/workspace/accounting/qbo/export/QuickbooksExportConfigurationPage.tsx +++ b/src/pages/workspace/accounting/qbo/export/QuickbooksExportConfigurationPage.tsx @@ -31,7 +31,7 @@ function QuickbooksExportConfigurationPage({policy}: WithPolicyConnectionsProps) description: translate('workspace.accounting.preferredExporter'), onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_PREFERRED_EXPORTER.getRoute(policyID)), title: qboConfig?.export?.exporter ?? policyOwner, - subscribedSettings: [CONST.QUICKBOOKS_CONFIG.EXPORTER], + subscribedSettings: [CONST.QUICKBOOKS_CONFIG.EXPORT], }, { description: translate('workspace.qbo.date'), diff --git a/src/pages/workspace/accounting/qbo/export/QuickbooksPreferredExporterConfigurationPage.tsx b/src/pages/workspace/accounting/qbo/export/QuickbooksPreferredExporterConfigurationPage.tsx index 75b556ca4b2e..7f864db524e9 100644 --- a/src/pages/workspace/accounting/qbo/export/QuickbooksPreferredExporterConfigurationPage.tsx +++ b/src/pages/workspace/accounting/qbo/export/QuickbooksPreferredExporterConfigurationPage.tsx @@ -86,10 +86,10 @@ function QuickbooksPreferredExporterConfigurationPage({policy}: WithPolicyConnec initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList} title="workspace.accounting.preferredExporter" connectionName={CONST.POLICY.CONNECTIONS.NAME.QBO} - pendingAction={PolicyUtils.settingsPendingAction([CONST.QUICKBOOKS_CONFIG.EXPORTER], qboConfig?.pendingFields)} - errors={ErrorUtils.getLatestErrorField(qboConfig, CONST.QUICKBOOKS_CONFIG.EXPORTER)} + pendingAction={PolicyUtils.settingsPendingAction([CONST.QUICKBOOKS_CONFIG.EXPORT], qboConfig?.pendingFields)} + errors={ErrorUtils.getLatestErrorField(qboConfig, CONST.QUICKBOOKS_CONFIG.EXPORT)} errorRowStyles={[styles.ph5, styles.pv3]} - onClose={() => clearQBOErrorField(policyID, CONST.QUICKBOOKS_CONFIG.EXPORTER)} + onClose={() => clearQBOErrorField(policyID, CONST.QUICKBOOKS_CONFIG.EXPORT)} /> ); } diff --git a/src/pages/workspace/accounting/utils.tsx b/src/pages/workspace/accounting/utils.tsx index b7b63502c842..ac53383d1b75 100644 --- a/src/pages/workspace/accounting/utils.tsx +++ b/src/pages/workspace/accounting/utils.tsx @@ -72,7 +72,7 @@ function getAccountingIntegrationData( ], onExportPagePress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_EXPORT.getRoute(policyID)), subscribedExportSettings: [ - CONST.QUICKBOOKS_CONFIG.EXPORTER, + CONST.QUICKBOOKS_CONFIG.EXPORT, CONST.QUICKBOOKS_CONFIG.EXPORT_DATE, CONST.QUICKBOOKS_CONFIG.REIMBURSABLE_EXPENSES_EXPORT_DESTINATION, CONST.QUICKBOOKS_CONFIG.REIMBURSABLE_EXPENSES_ACCOUNT, From 43c93603c90a97b04db8530749e57d794a23088a Mon Sep 17 00:00:00 2001 From: Shubham Agrawal Date: Thu, 19 Sep 2024 11:41:30 +0530 Subject: [PATCH 5/5] Changes on suggestion --- .../actions/connections/QuickbooksOnline.ts | 92 +++---------------- .../qbo/advanced/QuickbooksAdvancedPage.tsx | 1 - 2 files changed, 11 insertions(+), 82 deletions(-) diff --git a/src/libs/actions/connections/QuickbooksOnline.ts b/src/libs/actions/connections/QuickbooksOnline.ts index 3eba98257c8e..c62c97aa88ca 100644 --- a/src/libs/actions/connections/QuickbooksOnline.ts +++ b/src/libs/actions/connections/QuickbooksOnline.ts @@ -86,87 +86,6 @@ function buildOnyxDataForMultipleQuickbooksConfigurations( policyID: string, settingName: TSettingName, @@ -245,6 +164,17 @@ function buildOnyxDataForQuickbooksConfiguration(policyID: string, settingValue: TSettingValue) { + const onyxData = buildOnyxDataForQuickbooksConfiguration(policyID, CONST.QUICKBOOKS_CONFIG.AUTO_SYNC, {enabled: settingValue}, {enabled: !settingValue}); + + const parameters: UpdateQuickbooksOnlineGenericTypeParams = { + policyID, + settingValue: JSON.stringify(settingValue), + idempotencyKey: String(CONST.QUICKBOOKS_CONFIG.AUTO_SYNC), + }; + API.write(WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_AUTO_SYNC, parameters, onyxData); +} + function updateQuickbooksOnlineEnableNewCategories(policyID: string, settingValue: TSettingValue) { const onyxData = buildOnyxDataForQuickbooksConfiguration(policyID, CONST.QUICKBOOKS_CONFIG.ENABLE_NEW_CATEGORIES, settingValue, !settingValue); diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index 7aa3a3258fb4..7cab09d34741 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -6,7 +6,6 @@ import OfflineWithFeedback from '@components/OfflineWithFeedback'; 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';