Skip to content

Commit

Permalink
Merge pull request #51717 from mkzie2/mkzie2-issue/50472
Browse files Browse the repository at this point in the history
  • Loading branch information
dangrous authored Jan 21, 2025
2 parents cfc4e49 + 35696e7 commit d91e4b6
Showing 1 changed file with 41 additions and 1 deletion.
42 changes: 41 additions & 1 deletion src/libs/actions/connections/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import type {
} from '@libs/API/parameters';
import {READ_COMMANDS, WRITE_COMMANDS} from '@libs/API/types';
import * as ErrorUtils from '@libs/ErrorUtils';
import * as PolicyUtils from '@libs/PolicyUtils';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
import type * as OnyxCommon from '@src/types/onyx/OnyxCommon';
Expand Down Expand Up @@ -42,11 +43,50 @@ function removePolicyConnection(policyID: string, connectionName: PolicyConnecti
},
];

const successData: OnyxUpdate[] = [];
const failureData: OnyxUpdate[] = [];
const policy = PolicyUtils.getPolicy(policyID);
const supportedConnections: PolicyConnectionName[] = [CONST.POLICY.CONNECTIONS.NAME.QBO, CONST.POLICY.CONNECTIONS.NAME.XERO];

if (PolicyUtils.isCollectPolicy(policy) && supportedConnections.includes(connectionName)) {
optimisticData.push({
onyxMethod: Onyx.METHOD.MERGE,
key: `${ONYXKEYS.COLLECTION.POLICY}${policyID}`,
value: {
areReportFieldsEnabled: false,
pendingFields: {
areReportFieldsEnabled: CONST.RED_BRICK_ROAD_PENDING_ACTION.UPDATE,
},
},
});

successData.push({
onyxMethod: Onyx.METHOD.MERGE,
key: `${ONYXKEYS.COLLECTION.POLICY}${policyID}`,
value: {
pendingFields: {
areReportFieldsEnabled: null,
},
},
});

failureData.push({
onyxMethod: Onyx.METHOD.MERGE,
key: `${ONYXKEYS.COLLECTION.POLICY}${policyID}`,
value: {
areReportFieldsEnabled: policy?.areReportFieldsEnabled,
pendingFields: {
areReportFieldsEnabled: null,
},
},
});
}

const parameters: RemovePolicyConnectionParams = {
policyID,
connectionName,
};
API.write(WRITE_COMMANDS.REMOVE_POLICY_CONNECTION, parameters, {optimisticData});
API.write(WRITE_COMMANDS.REMOVE_POLICY_CONNECTION, parameters, {optimisticData, successData, failureData});
}

function createPendingFields<TConnectionName extends ConnectionNameExceptNetSuite, TSettingName extends keyof Connections[TConnectionName]['config']>(
Expand Down

0 comments on commit d91e4b6

Please sign in to comment.