Skip to content

Commit 313ac27

Browse files
authored
Merge pull request Expensify#88800 from dukenv0307/fix/66412-part-9
refactor buildTransactionThread to use currentAccountID from useOnyx
2 parents 589e414 + ec7876f commit 313ac27

19 files changed

Lines changed: 206 additions & 31 deletions

src/libs/ReportUtils.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -743,6 +743,7 @@ type BaseOptimisticMoneyRequestEntities = {
743743
linkedTrackedExpenseReportAction?: ReportAction;
744744
optimisticCreatedReportActionID?: string;
745745
reportActionID?: string;
746+
currentUserAccountID: number;
746747
};
747748

748749
type OptimisticMoneyRequestEntities = BaseOptimisticMoneyRequestEntities & {shouldGenerateTransactionThreadReport?: boolean};
@@ -8761,10 +8762,11 @@ function buildOptimisticExportIntegrationAction(integration: ConnectionName, mar
87618762
function buildTransactionThread(
87628763
reportAction: OnyxEntry<ReportAction | OptimisticIOUReportAction>,
87638764
moneyRequestReport: OnyxEntry<Report>,
8765+
currentUserAccountID: number,
87648766
existingTransactionThreadReportID?: string,
87658767
optimisticTransactionThreadReportID?: string,
87668768
): OptimisticChatReport {
8767-
const participantAccountIDs = [...new Set([deprecatedCurrentUserAccountID, Number(reportAction?.actorAccountID)])].filter(Boolean) as number[];
8769+
const participantAccountIDs = [...new Set([currentUserAccountID, Number(reportAction?.actorAccountID)])].filter(Boolean);
87688770
const existingTransactionThreadReport = getReportOrDraftReport(existingTransactionThreadReportID);
87698771

87708772
if (existingTransactionThreadReportID && existingTransactionThreadReport) {
@@ -8788,6 +8790,7 @@ function buildTransactionThread(
87888790
parentReportID: moneyRequestReport?.reportID,
87898791
optimisticReportID: optimisticTransactionThreadReportID,
87908792
chatReportID: moneyRequestReport?.reportID,
8793+
currentUserAccountID,
87918794
});
87928795
}
87938796

@@ -8825,6 +8828,7 @@ function buildOptimisticMoneyRequestEntities({
88258828
optimisticCreatedReportActionID,
88268829
shouldGenerateTransactionThreadReport = true,
88278830
reportActionID,
8831+
currentUserAccountID,
88288832
}: OptimisticMoneyRequestEntities): [
88298833
OptimisticCreatedReportAction,
88308834
OptimisticCreatedReportAction,
@@ -8857,7 +8861,7 @@ function buildOptimisticMoneyRequestEntities({
88578861
});
88588862

88598863
// Create optimistic transactionThread and the `CREATED` action for it, if existingTransactionThreadReportID is undefined
8860-
const transactionThread = shouldGenerateTransactionThreadReport ? buildTransactionThread(iouAction, iouReport, existingTransactionThreadReportID) : undefined;
8864+
const transactionThread = shouldGenerateTransactionThreadReport ? buildTransactionThread(iouAction, iouReport, currentUserAccountID, existingTransactionThreadReportID) : undefined;
88618865
const createdActionForTransactionThread = !!existingTransactionThreadReportID || !shouldGenerateTransactionThreadReport ? null : buildOptimisticCreatedReportAction(payeeEmail);
88628866

88638867
// The IOU action and the transactionThread are co-dependent as parent-child, so we need to link them together

src/libs/actions/IOU/Duplicate.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ function mergeDuplicates({
343343
if (optimisticTransactionThreadReportID) {
344344
const iouAction = getIOUActionForReportID(params.reportID, params.transactionID);
345345
const optimisticCreatedAction = buildOptimisticCreatedReportAction(currentUserLogin);
346-
const optimisticTransactionThreadReport = buildTransactionThread(iouAction, expenseReport, undefined, optimisticTransactionThreadReportID);
346+
const optimisticTransactionThreadReport = buildTransactionThread(iouAction, expenseReport, currentUserAccountID, undefined, optimisticTransactionThreadReportID);
347347

348348
allParams.transactionThreadReportID = optimisticTransactionThreadReportID;
349349
allParams.createdReportActionIDForThread = optimisticCreatedAction?.reportActionID;

src/libs/actions/IOU/Hold.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ function putOnHold(
7171
transactionThreadReport = allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${initialReportID}`] ?? ({} as OnyxTypes.Report);
7272
} else {
7373
const moneyRequestReport = getReportOrDraftReport(transaction?.reportID);
74-
transactionThreadReport = buildTransactionThread(iouAction, moneyRequestReport, undefined, reportID);
74+
transactionThreadReport = buildTransactionThread(iouAction, moneyRequestReport, currentUserAccountID, undefined, reportID);
7575
}
7676

7777
const optimisticCreatedAction = buildOptimisticCreatedReportAction(currentUserLogin);

src/libs/actions/IOU/PerDiem.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,7 @@ function getPerDiemExpenseInformation(perDiemExpenseInformation: PerDiemExpenseI
451451
payeeEmail,
452452
participants: [participant],
453453
transactionID: optimisticTransaction.transactionID,
454+
currentUserAccountID: currentUserAccountIDParam,
454455
});
455456

456457
let reportPreviewAction = shouldCreateNewMoneyRequestReport ? null : getReportPreviewAction(chatReport.reportID, iouReport.reportID);
@@ -731,6 +732,7 @@ function getPerDiemExpenseInformationForSelfDM(perDiemExpenseInformation: PerDie
731732
participants: [participant],
732733
transactionID: optimisticTransaction.transactionID,
733734
isPersonalTrackingExpense: true,
735+
currentUserAccountID: currentUserAccountIDParam,
734736
});
735737

736738
onyxData.optimisticData?.push(

src/libs/actions/IOU/RejectMoneyRequest.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,7 @@ function prepareRejectMoneyRequestData(
372372
transactionID: transaction.transactionID,
373373
existingTransactionThreadReportID: childReportID,
374374
shouldGenerateTransactionThreadReport: false,
375+
currentUserAccountID: currentUserAccountIDParam,
375376
});
376377
createdIOUReportActionID = iouAction.reportActionID;
377378

@@ -463,6 +464,7 @@ function prepareRejectMoneyRequestData(
463464
transactionID: transaction.transactionID,
464465
existingTransactionThreadReportID: childReportID,
465466
shouldGenerateTransactionThreadReport: false,
467+
currentUserAccountID: currentUserAccountIDParam,
466468
});
467469

468470
reportPreviewAction = buildOptimisticReportPreview(policyExpenseChat, newExpenseReport, undefined, transaction, undefined);

src/libs/actions/IOU/SendInvoice.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -683,6 +683,7 @@ function getSendInvoiceInformation({
683683
payeeEmail: receiver.login ?? '',
684684
participants: [receiver],
685685
transactionID: optimisticTransaction.transactionID,
686+
currentUserAccountID,
686687
});
687688

688689
// STEP 6: Build Onyx Data

src/libs/actions/IOU/SendMoney.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ function getSendMoneyParams({
143143
transactionID: optimisticTransaction.transactionID,
144144
paymentType: paymentMethodType,
145145
isSendMoneyFlow: true,
146+
currentUserAccountID,
146147
});
147148

148149
const reportPreviewAction = buildOptimisticReportPreview(chatReport, optimisticIOUReport);

src/libs/actions/IOU/Split.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -974,6 +974,7 @@ function completeSplitBill(
974974
payeeEmail: currentUserEmailForIOUSplit,
975975
participants: [participant],
976976
transactionID: oneOnOneTransaction.transactionID,
977+
currentUserAccountID: sessionAccountID,
977978
});
978979

979980
let oneOnOneReportPreviewAction = getReportPreviewAction(oneOnOneChatReport?.reportID, oneOnOneIOUReport?.reportID);
@@ -1655,6 +1656,7 @@ function createSplitsAndOnyxData({
16551656
payeeEmail: currentUserEmailForIOUSplit,
16561657
participants: [participant],
16571658
transactionID: oneOnOneTransaction.transactionID,
1659+
currentUserAccountID,
16581660
});
16591661

16601662
// Add optimistic personal details for new participants

src/libs/actions/IOU/TrackExpense.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1103,6 +1103,7 @@ function getTrackExpenseInformation(params: GetTrackExpenseInformationParams): T
11031103
isPersonalTrackingExpense: !shouldUseMoneyReport,
11041104
existingTransactionThreadReportID: linkedTrackedExpenseReportAction?.childReportID,
11051105
linkedTrackedExpenseReportAction,
1106+
currentUserAccountID: currentUserAccountIDParam,
11061107
});
11071108

11081109
let reportPreviewAction: OnyxInputValue<OnyxTypes.ReportAction<typeof CONST.REPORT.ACTIONS.TYPE.REPORT_PREVIEW>> = null;

src/libs/actions/IOU/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2194,6 +2194,7 @@ function getMoneyRequestInformation(moneyRequestInformation: MoneyRequestInforma
21942194
linkedTrackedExpenseReportAction,
21952195
shouldGenerateTransactionThreadReport,
21962196
reportActionID: currentReportActionID,
2197+
currentUserAccountID: currentUserAccountIDParam,
21972198
});
21982199

21992200
let reportPreviewAction = shouldCreateNewMoneyRequestReport ? null : getReportPreviewAction(chatReport.reportID, iouReport.reportID);

0 commit comments

Comments
 (0)