diff --git a/src/libs/actions/Policy/Policy.ts b/src/libs/actions/Policy/Policy.ts index 19585a5e69c..ce52b771138 100644 --- a/src/libs/actions/Policy/Policy.ts +++ b/src/libs/actions/Policy/Policy.ts @@ -3388,6 +3388,13 @@ function getAdminPoliciesConnectedToNetSuite(): Policy[] { return Object.values(allPolicies ?? {}).filter((policy): policy is Policy => !!policy && policy.role === CONST.POLICY.ROLE.ADMIN && !!policy?.connections?.netsuite); } +function clearAllPolicies() { + if (!allPolicies) { + return; + } + Object.keys(allPolicies).forEach((key) => delete allPolicies[key]); +} + export { leaveWorkspace, addBillingCardAndRequestPolicyOwnerChange, @@ -3464,6 +3471,7 @@ export { getAdminPoliciesConnectedToNetSuite, getAdminPoliciesConnectedToSageIntacct, hasInvoicingDetails, + clearAllPolicies, enablePolicyRules, }; diff --git a/src/libs/actions/SignInRedirect.ts b/src/libs/actions/SignInRedirect.ts index e72a4b01107..4d8b60265f2 100644 --- a/src/libs/actions/SignInRedirect.ts +++ b/src/libs/actions/SignInRedirect.ts @@ -2,6 +2,7 @@ import Onyx from 'react-native-onyx'; import * as ErrorUtils from '@libs/ErrorUtils'; import type {OnyxKey} from '@src/ONYXKEYS'; import ONYXKEYS from '@src/ONYXKEYS'; +import * as Policy from './Policy/Policy'; let currentIsOffline: boolean | undefined; let currentShouldForceOffline: boolean | undefined; @@ -29,6 +30,7 @@ function clearStorageAndRedirect(errorMessage?: string): Promise { } return Onyx.clear(keysToPreserve).then(() => { + Policy.clearAllPolicies(); if (!errorMessage) { return; }