Skip to content

Commit 42ac193

Browse files
committed
refactor buildTransactionThread to use currentAccountID from useOnyx
1 parent c07f8e4 commit 42ac193

18 files changed

Lines changed: 198 additions & 29 deletions

src/libs/ReportUtils.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -735,6 +735,7 @@ type BaseOptimisticMoneyRequestEntities = {
735735
linkedTrackedExpenseReportAction?: ReportAction;
736736
optimisticCreatedReportActionID?: string;
737737
reportActionID?: string;
738+
currentUserAccountID: number;
738739
};
739740

740741
type OptimisticMoneyRequestEntities = BaseOptimisticMoneyRequestEntities & {shouldGenerateTransactionThreadReport?: boolean};
@@ -8723,10 +8724,11 @@ function buildOptimisticExportIntegrationAction(integration: ConnectionName, mar
87238724
function buildTransactionThread(
87248725
reportAction: OnyxEntry<ReportAction | OptimisticIOUReportAction>,
87258726
moneyRequestReport: OnyxEntry<Report>,
8727+
currentUserAccountID: number,
87268728
existingTransactionThreadReportID?: string,
87278729
optimisticTransactionThreadReportID?: string,
87288730
): OptimisticChatReport {
8729-
const participantAccountIDs = [...new Set([deprecatedCurrentUserAccountID, Number(reportAction?.actorAccountID)])].filter(Boolean) as number[];
8731+
const participantAccountIDs = [...new Set([currentUserAccountID, Number(reportAction?.actorAccountID)])].filter(Boolean) as number[];
87308732
const existingTransactionThreadReport = getReportOrDraftReport(existingTransactionThreadReportID);
87318733

87328734
if (existingTransactionThreadReportID && existingTransactionThreadReport) {
@@ -8750,6 +8752,7 @@ function buildTransactionThread(
87508752
parentReportID: moneyRequestReport?.reportID,
87518753
optimisticReportID: optimisticTransactionThreadReportID,
87528754
chatReportID: moneyRequestReport?.reportID,
8755+
currentUserAccountID,
87538756
});
87548757
}
87558758

@@ -8787,6 +8790,7 @@ function buildOptimisticMoneyRequestEntities({
87878790
optimisticCreatedReportActionID,
87888791
shouldGenerateTransactionThreadReport = true,
87898792
reportActionID,
8793+
currentUserAccountID,
87908794
}: OptimisticMoneyRequestEntities): [
87918795
OptimisticCreatedReportAction,
87928796
OptimisticCreatedReportAction,
@@ -8819,7 +8823,7 @@ function buildOptimisticMoneyRequestEntities({
88198823
});
88208824

88218825
// Create optimistic transactionThread and the `CREATED` action for it, if existingTransactionThreadReportID is undefined
8822-
const transactionThread = shouldGenerateTransactionThreadReport ? buildTransactionThread(iouAction, iouReport, existingTransactionThreadReportID) : undefined;
8826+
const transactionThread = shouldGenerateTransactionThreadReport ? buildTransactionThread(iouAction, iouReport, currentUserAccountID, existingTransactionThreadReportID) : undefined;
88238827
const createdActionForTransactionThread = !!existingTransactionThreadReportID || !shouldGenerateTransactionThreadReport ? null : buildOptimisticCreatedReportAction(payeeEmail);
88248828

88258829
// 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
@@ -283,7 +283,7 @@ function mergeDuplicates({transactionThreadReportID: optimisticTransactionThread
283283
if (optimisticTransactionThreadReportID) {
284284
const iouAction = getIOUActionForReportID(params.reportID, params.transactionID);
285285
const optimisticCreatedAction = buildOptimisticCreatedReportAction(currentUserLogin);
286-
const optimisticTransactionThreadReport = buildTransactionThread(iouAction, expenseReport, undefined, optimisticTransactionThreadReportID);
286+
const optimisticTransactionThreadReport = buildTransactionThread(iouAction, expenseReport, currentUserAccountID, undefined, optimisticTransactionThreadReportID);
287287

288288
allParams.transactionThreadReportID = optimisticTransactionThreadReportID;
289289
allParams.createdReportActionIDForThread = optimisticCreatedAction?.reportActionID;

src/libs/actions/IOU/Hold.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ function putOnHold(transactionID: string, comment: string, initialReportID: stri
6666
transactionThreadReport = allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${initialReportID}`] ?? ({} as OnyxTypes.Report);
6767
} else {
6868
const moneyRequestReport = getReportOrDraftReport(transaction?.reportID);
69-
transactionThreadReport = buildTransactionThread(iouAction, moneyRequestReport, undefined, reportID);
69+
transactionThreadReport = buildTransactionThread(iouAction, moneyRequestReport, userAccountID, undefined, reportID);
7070
}
7171

7272
const optimisticCreatedAction = buildOptimisticCreatedReportAction(currentUserEmail);

src/libs/actions/IOU/PerDiem.ts

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

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

735737
onyxData.optimisticData?.push(

src/libs/actions/IOU/RejectMoneyRequest.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,7 @@ function prepareRejectMoneyRequestData(
370370
transactionID: transaction.transactionID,
371371
existingTransactionThreadReportID: childReportID,
372372
shouldGenerateTransactionThreadReport: false,
373+
currentUserAccountID: currentUserAccountIDParam,
373374
});
374375
createdIOUReportActionID = iouAction.reportActionID;
375376

@@ -461,6 +462,7 @@ function prepareRejectMoneyRequestData(
461462
transactionID: transaction.transactionID,
462463
existingTransactionThreadReportID: childReportID,
463464
shouldGenerateTransactionThreadReport: false,
465+
currentUserAccountID: currentUserAccountIDParam,
464466
});
465467

466468
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
@@ -682,6 +682,7 @@ function getSendInvoiceInformation({
682682
payeeEmail: receiver.login ?? '',
683683
participants: [receiver],
684684
transactionID: optimisticTransaction.transactionID,
685+
currentUserAccountID,
685686
});
686687

687688
// 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: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -956,6 +956,7 @@ function completeSplitBill(
956956
payeeEmail: currentUserEmailForIOUSplit,
957957
participants: [participant],
958958
transactionID: oneOnOneTransaction.transactionID,
959+
currentUserAccountID: sessionAccountID,
959960
});
960961

961962
let oneOnOneReportPreviewAction = getReportPreviewAction(oneOnOneChatReport?.reportID, oneOnOneIOUReport?.reportID);

src/libs/actions/IOU/TrackExpense.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1100,6 +1100,7 @@ function getTrackExpenseInformation(params: GetTrackExpenseInformationParams): T
11001100
isPersonalTrackingExpense: !shouldUseMoneyReport,
11011101
existingTransactionThreadReportID: linkedTrackedExpenseReportAction?.childReportID,
11021102
linkedTrackedExpenseReportAction,
1103+
currentUserAccountID: currentUserAccountIDParam,
11031104
});
11041105

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

src/libs/actions/IOU/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2278,6 +2278,7 @@ function getMoneyRequestInformation(moneyRequestInformation: MoneyRequestInforma
22782278
linkedTrackedExpenseReportAction,
22792279
shouldGenerateTransactionThreadReport,
22802280
reportActionID: currentReportActionID,
2281+
currentUserAccountID: currentUserAccountIDParam,
22812282
});
22822283

22832284
let reportPreviewAction = shouldCreateNewMoneyRequestReport ? null : getReportPreviewAction(chatReport.reportID, iouReport.reportID);
@@ -2945,6 +2946,7 @@ function createSplitsAndOnyxData({
29452946
payeeEmail: currentUserEmailForIOUSplit,
29462947
participants: [participant],
29472948
transactionID: oneOnOneTransaction.transactionID,
2949+
currentUserAccountID,
29482950
});
29492951

29502952
// Add optimistic personal details for new participants

0 commit comments

Comments
 (0)