Skip to content

Commit d56cd14

Browse files
authored
Merge pull request Expensify#71210 from shubham1206agra/refactor-onyx-54
Removed getReportActionFromExpensifyCard
2 parents 9cf9a59 + 1294073 commit d56cd14

4 files changed

Lines changed: 4 additions & 64 deletions

File tree

src/libs/ReportActionsUtils.ts

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3043,16 +3043,6 @@ function wasMessageReceivedWhileOffline(
30433043
return !wasByCurrentUser && wasCreatedOffline && !(action.pendingAction === CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD || action.isOptimisticAction);
30443044
}
30453045

3046-
function getReportActionFromExpensifyCard(cardID: number) {
3047-
return Object.values(allReportActions ?? {})
3048-
.map((reportActions) => Object.values(reportActions ?? {}))
3049-
.flat()
3050-
.find((reportAction) => {
3051-
const cardIssuedActionOriginalMessage = isActionOfType(reportAction, CONST.REPORT.ACTIONS.TYPE.CARD_ISSUED_VIRTUAL) ? getOriginalMessage(reportAction) : undefined;
3052-
return cardIssuedActionOriginalMessage?.cardID === cardID;
3053-
});
3054-
}
3055-
30563046
function getIntegrationSyncFailedMessage(action: OnyxEntry<ReportAction>, policyID?: string, shouldShowOldDotLink = false): string {
30573047
const {label, errorMessage} = getOriginalMessage(action as ReportAction<typeof CONST.REPORT.ACTIONS.TYPE.INTEGRATION_SYNC_FAILED>) ?? {label: '', errorMessage: ''};
30583048

@@ -3254,7 +3244,6 @@ export {
32543244
getReopenedMessage,
32553245
getLeaveRoomMessage,
32563246
getRetractedMessage,
3257-
getReportActionFromExpensifyCard,
32583247
isReopenedAction,
32593248
isRetractedAction,
32603249
getIntegrationSyncFailedMessage,

src/libs/ReportUtils.ts

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11541,18 +11541,6 @@ function getReportPersonalDetailsParticipants(report: Report, personalDetailsPar
1154111541
};
1154211542
}
1154311543

11544-
function findReportIDForAction(action?: ReportAction): string | undefined {
11545-
if (!allReportActions || !action?.reportActionID) {
11546-
return undefined;
11547-
}
11548-
11549-
return Object.keys(allReportActions)
11550-
.find((reportActionsKey) => {
11551-
const reportActions = allReportActions?.[reportActionsKey];
11552-
return !!reportActions && !isEmptyObject(reportActions[action.reportActionID]);
11553-
})
11554-
?.replace(`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}`, '');
11555-
}
1155611544
function canRejectReportAction(report: Report, policy?: Policy): boolean {
1155711545
if (!Permissions.isBetaEnabled(CONST.BETAS.NEWDOT_REJECT, allBetas)) {
1155811546
return false;
@@ -12170,7 +12158,6 @@ export {
1217012158
generateReportAttributes,
1217112159
getReportPersonalDetailsParticipants,
1217212160
isAllowedToSubmitDraftExpenseReport,
12173-
findReportIDForAction,
1217412161
isWorkspaceEligibleForReportChange,
1217512162
pushTransactionViolationsOnyxData,
1217612163
navigateOnDeleteExpense,

src/libs/actions/Card.ts

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ import {READ_COMMANDS, SIDE_EFFECT_REQUEST_COMMANDS, WRITE_COMMANDS} from '@libs
1818
import * as ErrorUtils from '@libs/ErrorUtils';
1919
import * as NetworkStore from '@libs/Network/NetworkStore';
2020
import * as PolicyUtils from '@libs/PolicyUtils';
21-
import {getReportActionFromExpensifyCard} from '@libs/ReportActionsUtils';
22-
import {findReportIDForAction} from '@libs/ReportUtils';
2321
import CONST from '@src/CONST';
2422
import ONYXKEYS from '@src/ONYXKEYS';
2523
import type {Card, CompanyCardFeed} from '@src/types/onyx';
@@ -634,8 +632,6 @@ function updateExpensifyCardLimitType(workspaceAccountID: number, cardID: number
634632
function deactivateCard(workspaceAccountID: number, card?: Card) {
635633
const authToken = NetworkStore.getAuthToken();
636634
const cardID = card?.cardID ?? CONST.DEFAULT_NUMBER_ID;
637-
const reportAction = getReportActionFromExpensifyCard(cardID);
638-
const reportID = findReportIDForAction(reportAction) ?? reportAction?.reportID;
639635

640636
if (!authToken) {
641637
return;
@@ -681,28 +677,6 @@ function deactivateCard(workspaceAccountID: number, card?: Card) {
681677
},
682678
];
683679

684-
if (reportAction?.reportActionID && reportID) {
685-
optimisticData.push({
686-
onyxMethod: Onyx.METHOD.MERGE,
687-
key: `${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${reportID}`,
688-
value: {
689-
[reportAction.reportActionID]: {
690-
...reportAction,
691-
originalMessage: {
692-
cardID: null,
693-
},
694-
},
695-
},
696-
});
697-
failureData.push({
698-
onyxMethod: Onyx.METHOD.MERGE,
699-
key: `${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${reportAction.reportID}`,
700-
value: {
701-
[reportAction.reportActionID]: reportAction,
702-
},
703-
});
704-
}
705-
706680
const parameters: CardDeactivateParams = {
707681
authToken,
708682
cardID,

src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React, {useCallback, useEffect, useState} from 'react';
2-
import {View} from 'react-native';
2+
import {InteractionManager, View} from 'react-native';
33
import ExpensifyCardImage from '@assets/images/expensify-card.svg';
44
import Badge from '@components/Badge';
55
import ConfirmModal from '@components/ConfirmModal';
@@ -55,7 +55,6 @@ function WorkspaceExpensifyCardDetailsPage({route}: WorkspaceExpensifyCardDetail
5555
// eslint-disable-next-line rulesdir/prefer-shouldUseNarrowLayout-instead-of-isSmallScreenWidth
5656
const {isSmallScreenWidth} = useResponsiveLayout();
5757
const styles = useThemeStyles();
58-
const [isDeleted, setIsDeleted] = useState(false);
5958

6059
const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST, {canBeMissing: false});
6160
const [cardFeeds] = useCardFeeds(policyID);
@@ -77,24 +76,15 @@ function WorkspaceExpensifyCardDetailsPage({route}: WorkspaceExpensifyCardDetail
7776
openCardDetailsPage(Number(cardID));
7877
}, [cardID]);
7978

80-
useEffect(() => {
81-
if (!isDeleted) {
82-
return;
83-
}
84-
return () => {
85-
deactivateCardAction(defaultFundID, card);
86-
};
87-
}, [isDeleted, defaultFundID, card]);
88-
8979
const {isOffline} = useNetwork({onReconnect: fetchCardDetails});
9080

9181
useEffect(() => fetchCardDetails(), [fetchCardDetails]);
9282

9383
const deactivateCard = () => {
94-
setIsDeleted(true);
9584
setIsDeactivateModalVisible(false);
96-
requestAnimationFrame(() => {
97-
Navigation.goBack();
85+
Navigation.goBack();
86+
InteractionManager.runAfterInteractions(() => {
87+
deactivateCardAction(defaultFundID, card);
9888
});
9989
};
10090

0 commit comments

Comments
 (0)