@@ -22,6 +22,7 @@ import type {
22
22
SendInvoiceParams ,
23
23
SendMoneyParams ,
24
24
SetNameValuePairParams ,
25
+ ShareTrackedExpenseParams ,
25
26
SplitBillParams ,
26
27
StartSplitBillParams ,
27
28
SubmitReportParams ,
@@ -208,7 +209,7 @@ type TrackExpenseInformation = {
208
209
actionableWhisperReportActionIDParam ?: string ;
209
210
onyxData : OnyxData ;
210
211
} ;
211
- type CategorizeTrackedExpenseTransactionParams = {
212
+ type TrackedExpenseTransactionParams = {
212
213
transactionID : string ;
213
214
amount : number ;
214
215
currency : string ;
@@ -222,11 +223,11 @@ type CategorizeTrackedExpenseTransactionParams = {
222
223
billable ?: boolean ;
223
224
receipt ?: Receipt ;
224
225
} ;
225
- type CategorizeTrackedExpensePolicyParams = {
226
+ type TrackedExpensePolicyParams = {
226
227
policyID : string ;
227
- isDraftPolicy : boolean ;
228
+ isDraftPolicy ? : boolean ;
228
229
} ;
229
- type CategorizeTrackedExpenseReportInformation = {
230
+ type TrackedExpenseReportInformation = {
230
231
moneyRequestPreviewReportActionID : string ;
231
232
moneyRequestReportID : string ;
232
233
moneyRequestCreatedReportActionID : string ;
@@ -236,13 +237,14 @@ type CategorizeTrackedExpenseReportInformation = {
236
237
transactionThreadReportID : string ;
237
238
reportPreviewReportActionID : string ;
238
239
} ;
239
- type CategorizeTrackedExpenseParams = {
240
- onyxData : OnyxData | undefined ;
241
- reportInformation : CategorizeTrackedExpenseReportInformation ;
242
- transactionParams : CategorizeTrackedExpenseTransactionParams ;
243
- policyParams : CategorizeTrackedExpensePolicyParams ;
240
+ type TrackedExpenseParams = {
241
+ onyxData ? : OnyxData ;
242
+ reportInformation : TrackedExpenseReportInformation ;
243
+ transactionParams : TrackedExpenseTransactionParams ;
244
+ policyParams : TrackedExpensePolicyParams ;
244
245
createdWorkspaceParams ?: CreateWorkspaceParams ;
245
246
} ;
247
+
246
248
type SendInvoiceInformation = {
247
249
senderWorkspaceID : string ;
248
250
receiver : Partial < OnyxTypes . PersonalDetails > ;
@@ -4118,7 +4120,7 @@ function convertTrackedExpenseToRequest(
4118
4120
API . write ( WRITE_COMMANDS . CONVERT_TRACKED_EXPENSE_TO_REQUEST , parameters , { optimisticData, successData, failureData} ) ;
4119
4121
}
4120
4122
4121
- function categorizeTrackedExpense ( trackedExpenseParams : CategorizeTrackedExpenseParams ) {
4123
+ function categorizeTrackedExpense ( trackedExpenseParams : TrackedExpenseParams ) {
4122
4124
const { onyxData, reportInformation, transactionParams, policyParams, createdWorkspaceParams} = trackedExpenseParams ;
4123
4125
const { optimisticData, successData, failureData} = onyxData ?? { } ;
4124
4126
const { transactionID} = transactionParams ;
@@ -4163,32 +4165,20 @@ function categorizeTrackedExpense(trackedExpenseParams: CategorizeTrackedExpense
4163
4165
}
4164
4166
}
4165
4167
4166
- function shareTrackedExpense (
4167
- policyID : string ,
4168
- transactionID : string ,
4169
- moneyRequestPreviewReportActionID : string ,
4170
- moneyRequestReportID : string ,
4171
- moneyRequestCreatedReportActionID : string ,
4172
- actionableWhisperReportActionID : string ,
4173
- linkedTrackedExpenseReportAction : OnyxTypes . ReportAction ,
4174
- linkedTrackedExpenseReportID : string ,
4175
- transactionThreadReportID : string ,
4176
- reportPreviewReportActionID : string ,
4177
- onyxData : OnyxData | undefined ,
4178
- amount : number ,
4179
- currency : string ,
4180
- comment : string ,
4181
- merchant : string ,
4182
- created : string ,
4183
- category ?: string ,
4184
- tag ?: string ,
4185
- taxCode = '' ,
4186
- taxAmount = 0 ,
4187
- billable ?: boolean ,
4188
- receipt ?: Receipt ,
4189
- createdWorkspaceParams ?: CreateWorkspaceParams ,
4190
- ) {
4168
+ function shareTrackedExpense ( trackedExpenseParams : TrackedExpenseParams ) {
4169
+ const { onyxData, reportInformation, transactionParams, policyParams, createdWorkspaceParams} = trackedExpenseParams ;
4191
4170
const { optimisticData, successData, failureData} = onyxData ?? { } ;
4171
+ const { transactionID} = transactionParams ;
4172
+ const {
4173
+ actionableWhisperReportActionID,
4174
+ moneyRequestPreviewReportActionID,
4175
+ moneyRequestCreatedReportActionID,
4176
+ reportPreviewReportActionID,
4177
+ moneyRequestReportID,
4178
+ linkedTrackedExpenseReportAction,
4179
+ linkedTrackedExpenseReportID,
4180
+ transactionThreadReportID,
4181
+ } = reportInformation ;
4192
4182
4193
4183
const {
4194
4184
optimisticData : moveTransactionOptimisticData ,
@@ -4209,26 +4199,15 @@ function shareTrackedExpense(
4209
4199
successData ?. push ( ...moveTransactionSuccessData ) ;
4210
4200
failureData ?. push ( ...moveTransactionFailureData ) ;
4211
4201
4212
- const parameters = {
4213
- policyID ,
4214
- transactionID ,
4202
+ const parameters : ShareTrackedExpenseParams = {
4203
+ ... transactionParams ,
4204
+ policyID : policyParams ?. policyID ,
4215
4205
moneyRequestPreviewReportActionID,
4216
4206
moneyRequestReportID,
4217
4207
moneyRequestCreatedReportActionID,
4218
4208
actionableWhisperReportActionID,
4219
4209
modifiedExpenseReportActionID,
4220
4210
reportPreviewReportActionID,
4221
- amount,
4222
- currency,
4223
- comment,
4224
- merchant,
4225
- created,
4226
- category,
4227
- tag,
4228
- taxCode,
4229
- taxAmount,
4230
- billable,
4231
- receipt : receipt instanceof Blob ? receipt : undefined ,
4232
4211
policyExpenseChatReportID : createdWorkspaceParams ?. expenseChatReportID ,
4233
4212
policyExpenseCreatedReportActionID : createdWorkspaceParams ?. expenseCreatedReportActionID ,
4234
4213
adminsChatReportID : createdWorkspaceParams ?. adminsChatReportID ,
@@ -4595,7 +4574,7 @@ function trackExpense(
4595
4574
if ( ! linkedTrackedExpenseReportAction || ! actionableWhisperReportActionID || ! linkedTrackedExpenseReportID ) {
4596
4575
return ;
4597
4576
}
4598
- const transactionParams : CategorizeTrackedExpenseTransactionParams = {
4577
+ const transactionParams : TrackedExpenseTransactionParams = {
4599
4578
transactionID : transaction ?. transactionID ?? '-1' ,
4600
4579
amount,
4601
4580
currency,
@@ -4609,11 +4588,11 @@ function trackExpense(
4609
4588
billable,
4610
4589
receipt : trackedReceipt instanceof Blob ? trackedReceipt : undefined ,
4611
4590
} ;
4612
- const policyParams : CategorizeTrackedExpensePolicyParams = {
4591
+ const policyParams : TrackedExpensePolicyParams = {
4613
4592
policyID : chatReport ?. policyID ?? '-1' ,
4614
4593
isDraftPolicy,
4615
4594
} ;
4616
- const reportInformation : CategorizeTrackedExpenseReportInformation = {
4595
+ const reportInformation : TrackedExpenseReportInformation = {
4617
4596
moneyRequestPreviewReportActionID : iouAction ?. reportActionID ?? '-1' ,
4618
4597
moneyRequestReportID : iouReport ?. reportID ?? '-1' ,
4619
4598
moneyRequestCreatedReportActionID : createdIOUReportActionID ?? '-1' ,
@@ -4623,7 +4602,7 @@ function trackExpense(
4623
4602
transactionThreadReportID : transactionThreadReportID ?? '-1' ,
4624
4603
reportPreviewReportActionID : reportPreviewAction ?. reportActionID ?? '-1' ,
4625
4604
} ;
4626
- const trackedExpenseParams : CategorizeTrackedExpenseParams = {
4605
+ const trackedExpenseParams : TrackedExpenseParams = {
4627
4606
onyxData,
4628
4607
reportInformation,
4629
4608
transactionParams,
@@ -4638,31 +4617,41 @@ function trackExpense(
4638
4617
if ( ! linkedTrackedExpenseReportAction || ! actionableWhisperReportActionID || ! linkedTrackedExpenseReportID ) {
4639
4618
return ;
4640
4619
}
4641
- shareTrackedExpense (
4642
- chatReport ?. policyID ?? '-1' ,
4643
- transaction ?. transactionID ?? '-1' ,
4644
- iouAction ?. reportActionID ?? '-1' ,
4645
- iouReport ?. reportID ?? '-1' ,
4646
- createdIOUReportActionID ?? '-1' ,
4647
- actionableWhisperReportActionID ,
4648
- linkedTrackedExpenseReportAction ,
4649
- linkedTrackedExpenseReportID ,
4650
- transactionThreadReportID ?? '-1' ,
4651
- reportPreviewAction ?. reportActionID ?? '-1' ,
4652
- onyxData ,
4620
+ const transactionParams = {
4621
+ transactionID : transaction ?. transactionID ?? '-1' ,
4653
4622
amount,
4654
4623
currency,
4655
4624
comment,
4656
4625
merchant,
4657
4626
created,
4627
+ taxCode : taxCode ?? '' ,
4628
+ taxAmount : taxAmount ?? 0 ,
4658
4629
category,
4659
4630
tag,
4660
- taxCode ,
4661
- taxAmount ,
4662
4631
billable,
4663
- trackedReceipt ,
4632
+ receipt : trackedReceipt instanceof Blob ? trackedReceipt : undefined ,
4633
+ } ;
4634
+ const policyParams = {
4635
+ policyID : chatReport ?. policyID ?? '-1' ,
4636
+ } ;
4637
+ const reportInformation = {
4638
+ moneyRequestPreviewReportActionID : iouAction ?. reportActionID ?? '-1' ,
4639
+ moneyRequestReportID : iouReport ?. reportID ?? '-1' ,
4640
+ moneyRequestCreatedReportActionID : createdIOUReportActionID ?? '-1' ,
4641
+ actionableWhisperReportActionID,
4642
+ linkedTrackedExpenseReportAction,
4643
+ linkedTrackedExpenseReportID,
4644
+ transactionThreadReportID : transactionThreadReportID ?? '-1' ,
4645
+ reportPreviewReportActionID : reportPreviewAction ?. reportActionID ?? '-1' ,
4646
+ } ;
4647
+ const trackedExpenseParams = {
4648
+ onyxData,
4649
+ reportInformation,
4650
+ transactionParams,
4651
+ policyParams,
4664
4652
createdWorkspaceParams,
4665
- ) ;
4653
+ } ;
4654
+ shareTrackedExpense ( trackedExpenseParams ) ;
4666
4655
break ;
4667
4656
}
4668
4657
default : {
0 commit comments