Skip to content

Commit b52ea26

Browse files
authored
Merge pull request Expensify#90745 from DylanDylann/refactor-iou-remaining-setters
[No QA]: refactor: move remaining field setters from IOU/index.ts to MoneyRequest.ts
2 parents e68594a + cb83aa2 commit b52ea26

31 files changed

Lines changed: 173 additions & 142 deletions

src/components/MoneyRequestConfirmationList/DistanceRequestController.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ import {useCurrencyListActions} from '@hooks/useCurrencyList';
44
import useLocalize from '@hooks/useLocalize';
55
import useOnyx from '@hooks/useOnyx';
66
import usePrevious from '@hooks/usePrevious';
7-
import {setMoneyRequestAmount, setMoneyRequestMerchant, setMoneyRequestPendingFields} from '@libs/actions/IOU';
8-
import {setCustomUnitRateID} from '@libs/actions/IOU/MoneyRequest';
7+
import {setCustomUnitRateID, setMoneyRequestAmount, setMoneyRequestMerchant, setMoneyRequestPendingFields} from '@libs/actions/IOU/MoneyRequest';
98
import {setSplitShares} from '@libs/actions/IOU/Split';
109
import DistanceRequestUtils from '@libs/DistanceRequestUtils';
1110
import type {MileageRate} from '@libs/DistanceRequestUtils';

src/components/MoneyRequestConfirmationList/FieldAutoSelector.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import {useEffect} from 'react';
22
import type {OnyxEntry} from 'react-native-onyx';
33
import type {ValueOf} from 'type-fest';
4-
import {setMoneyRequestTag} from '@libs/actions/IOU';
5-
import {setMoneyRequestCategory} from '@libs/actions/IOU/MoneyRequest';
4+
import {setMoneyRequestCategory, setMoneyRequestTag} from '@libs/actions/IOU/MoneyRequest';
65
import {insertTagIntoTransactionTagsString} from '@libs/IOUUtils';
76
import {getTag} from '@libs/TransactionUtils';
87
import type {Policy, PolicyCategories, PolicyTagLists, Transaction} from '@src/types/onyx';

src/components/MoneyRequestConfirmationList/sections/AmountField.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ import useLocalize from '@hooks/useLocalize';
1010
import useOnyx from '@hooks/useOnyx';
1111
import useScreenWrapperTransitionStatus from '@hooks/useScreenWrapperTransitionStatus';
1212
import useThemeStyles from '@hooks/useThemeStyles';
13-
import {clearMoneyRequestAmount, setMoneyRequestAmount} from '@libs/actions/IOU';
14-
import {getMoneyRequestParticipantsFromReport} from '@libs/actions/IOU/MoneyRequest';
13+
import {clearMoneyRequestAmount, getMoneyRequestParticipantsFromReport, setMoneyRequestAmount} from '@libs/actions/IOU/MoneyRequest';
1514
import {convertToBackendAmount, convertToFrontendAmountAsString, getLocalizedCurrencySymbol} from '@libs/CurrencyUtils';
1615
import {calculateAmount} from '@libs/IOUUtils';
1716
import Navigation from '@libs/Navigation/Navigation';

src/components/MoneyRequestConfirmationList/sections/DescriptionField.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import TextInput from '@components/TextInput';
88
import useLocalize from '@hooks/useLocalize';
99
import useOnyx from '@hooks/useOnyx';
1010
import useThemeStyles from '@hooks/useThemeStyles';
11-
import {setMoneyRequestDescription} from '@libs/actions/IOU';
11+
import {setMoneyRequestDescription} from '@libs/actions/IOU/MoneyRequest';
1212
import Navigation from '@libs/Navigation/Navigation';
1313
import Parser from '@libs/Parser';
1414
import {getDescription, hasReceipt} from '@libs/TransactionUtils';

src/components/MoneyRequestConfirmationList/sections/MerchantField.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import TextInput from '@components/TextInput';
66
import useLocalize from '@hooks/useLocalize';
77
import useOnyx from '@hooks/useOnyx';
88
import useThemeStyles from '@hooks/useThemeStyles';
9-
import {clearMoneyRequestMerchant, setMoneyRequestMerchant} from '@libs/actions/IOU';
9+
import {clearMoneyRequestMerchant, setMoneyRequestMerchant} from '@libs/actions/IOU/MoneyRequest';
1010
import Navigation from '@libs/Navigation/Navigation';
1111
import {getMerchant, hasReceipt} from '@libs/TransactionUtils';
1212
import {isInvalidMerchantValue, isValidInputLength} from '@libs/ValidationUtils';

src/components/TestDrive/Modal/EmployeeTestDriveModal.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,14 @@ import useLocalize from '@hooks/useLocalize';
1212
import useOnboardingMessages from '@hooks/useOnboardingMessages';
1313
import useOnyx from '@hooks/useOnyx';
1414
import usePersonalPolicy from '@hooks/usePersonalPolicy';
15-
import {setMoneyRequestAmount, setMoneyRequestCreated, setMoneyRequestDescription, setMoneyRequestMerchant} from '@libs/actions/IOU';
16-
import {initMoneyRequest, setMoneyRequestParticipants} from '@libs/actions/IOU/MoneyRequest';
15+
import {
16+
initMoneyRequest,
17+
setMoneyRequestAmount,
18+
setMoneyRequestCreated,
19+
setMoneyRequestDescription,
20+
setMoneyRequestMerchant,
21+
setMoneyRequestParticipants,
22+
} from '@libs/actions/IOU/MoneyRequest';
1723
import {setMoneyRequestReceipt} from '@libs/actions/IOU/Receipt';
1824
import {verifyTestDriveRecipient} from '@libs/actions/Onboarding';
1925
import setTestReceipt from '@libs/actions/setTestReceipt';

src/hooks/useParticipantSubmission.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ import {isPaidGroupPolicy} from '@libs/PolicyUtils';
99
import {findSelfDMReportID, generateReportID, isInvoiceRoomWithID} from '@libs/ReportUtils';
1010
import {shouldRestrictUserBillableActions} from '@libs/SubscriptionUtils';
1111
import {isDistanceRequest} from '@libs/TransactionUtils';
12-
import {setMoneyRequestTag} from '@userActions/IOU';
1312
import {
1413
resetDraftTransactionsCustomUnit,
1514
setCustomUnitRateID,
1615
setMoneyRequestCategory,
1716
setMoneyRequestParticipants,
1817
setMoneyRequestParticipantsFromReport,
18+
setMoneyRequestTag,
1919
} from '@userActions/IOU/MoneyRequest';
2020
import {setSplitShares} from '@userActions/IOU/Split';
2121
import {createDraftWorkspace, generateDefaultWorkspaceName} from '@userActions/Policy/Policy';

src/libs/ReportUtils.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,17 @@ import type {FileObject} from '@src/types/utils/Attachment';
8686
import {isEmptyObject, isEmptyValueObject} from '@src/types/utils/EmptyObject';
8787
import type IconAsset from '@src/types/utils/IconAsset';
8888
import {getBankAccountFromID} from './actions/BankAccounts';
89-
import {getUserAccountID, setMoneyRequestReportID} from './actions/IOU';
89+
import {getUserAccountID} from './actions/IOU';
9090
import type {IOURequestType} from './actions/IOU';
9191
import {unholdRequest} from './actions/IOU/Hold';
92-
import {createDraftTransaction, setMoneyRequestParticipants, setMoneyRequestParticipantsFromReport, startDistanceRequest, startMoneyRequest} from './actions/IOU/MoneyRequest';
92+
import {
93+
createDraftTransaction,
94+
setMoneyRequestParticipants,
95+
setMoneyRequestParticipantsFromReport,
96+
setMoneyRequestReportID,
97+
startDistanceRequest,
98+
startMoneyRequest,
99+
} from './actions/IOU/MoneyRequest';
93100
import {canApproveIOU, canIOUBePaid, canSubmitReport, getBadgeFromIOUReport, getIOUReportActionWithBadge} from './actions/IOU/ReportWorkflow';
94101
import {createDraftWorkspace} from './actions/Policy/Policy';
95102
import hasCreditBankAccount from './actions/ReimbursementAccount/hasCreditBankAccount';

src/libs/actions/IOU/MoneyRequest.ts

Lines changed: 99 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,13 @@ import type {
6161
TransactionViolation,
6262
} from '@src/types/onyx';
6363
import type {ReportAttributes, ReportAttributesDerivedValue} from '@src/types/onyx/DerivedValues';
64-
import type {Participant} from '@src/types/onyx/IOU';
64+
import type {Accountant, Attendee, Participant} from '@src/types/onyx/IOU';
6565
import type {CurrentUserPersonalDetails} from '@src/types/onyx/PersonalDetails';
6666
import type {Unit} from '@src/types/onyx/Policy';
6767
import type {Comment, Receipt, WaypointCollection} from '@src/types/onyx/Transaction';
6868
import {isEmptyObject} from '@src/types/utils/EmptyObject';
6969
import type {GpsPoint, IOURequestType} from './index';
70-
import {getAllTransactionDrafts, setMoneyRequestMerchant, setMoneyRequestPendingFields} from './index';
70+
import {getAllTransactionDrafts} from './index';
7171
import {createDistanceRequest, resetSplitShares, startSplitBill} from './Split';
7272
import {submitWithDismissFirst} from './submitWithDismissFirst';
7373
import type {WriteOverrides} from './submitWithDismissFirst';
@@ -1337,6 +1337,87 @@ function setMoneyRequestDistanceRate(currentTransaction: OnyxEntry<Transaction>,
13371337
});
13381338
}
13391339

1340+
function setMoneyRequestReceiptState(transactionID: string, isDraft: boolean, shouldStopSmartscan = false) {
1341+
if (!isDraft || !shouldStopSmartscan) {
1342+
return;
1343+
}
1344+
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {receipt: {state: CONST.IOU.RECEIPT_STATE.OPEN}});
1345+
}
1346+
1347+
function setMoneyRequestAmount(transactionID: string, amount: number, currency: string, shouldShowOriginalAmount = false, shouldStopSmartscan = false) {
1348+
// Mark that the user has explicitly set the amount. This is used by the new manual expense flow to distinguish
1349+
// a default amount of 0 (field empty) from a user-entered 0 (valid $0 expense).
1350+
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {amount, currency, shouldShowOriginalAmount, isAmountSet: true});
1351+
setMoneyRequestReceiptState(transactionID, true, shouldStopSmartscan);
1352+
}
1353+
1354+
/**
1355+
* Clears the amount field back to an empty/unset state in the new manual expense flow.
1356+
* Called when the user deletes all characters from the amount input so that the field
1357+
* shows as empty and submission is blocked until a value is entered again.
1358+
*/
1359+
function clearMoneyRequestAmount(transactionID: string) {
1360+
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {amount: 0, isAmountSet: false});
1361+
}
1362+
1363+
function clearMoneyRequestMerchant(transactionID: string, isDraft = true) {
1364+
Onyx.merge(`${isDraft ? ONYXKEYS.COLLECTION.TRANSACTION_DRAFT : ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`, {merchant: '', isMerchantSet: false});
1365+
}
1366+
1367+
function setMoneyRequestCreated(transactionID: string, created: string, isDraft: boolean, shouldStopSmartscan = false) {
1368+
Onyx.merge(`${isDraft ? ONYXKEYS.COLLECTION.TRANSACTION_DRAFT : ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`, {created});
1369+
setMoneyRequestReceiptState(transactionID, isDraft, shouldStopSmartscan);
1370+
}
1371+
1372+
function setMoneyRequestDateAttribute(transactionID: string, start: string, end: string) {
1373+
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {comment: {customUnit: {attributes: {dates: {start, end}}}}});
1374+
}
1375+
1376+
function setMoneyRequestCurrency(transactionID: string, currency: string, isEditing = false) {
1377+
const fieldToUpdate = isEditing ? 'modifiedCurrency' : 'currency';
1378+
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {[fieldToUpdate]: currency});
1379+
}
1380+
1381+
function setMoneyRequestDescription(transactionID: string, comment: string, isDraft: boolean, shouldStopSmartscan = false) {
1382+
// Trim only when persisting to the real transaction (not a draft) to avoid
1383+
// stripping trailing spaces/newlines while the user is still typing.
1384+
Onyx.merge(`${isDraft ? ONYXKEYS.COLLECTION.TRANSACTION_DRAFT : ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`, {comment: {comment: isDraft ? comment : comment.trim()}});
1385+
setMoneyRequestReceiptState(transactionID, isDraft, shouldStopSmartscan);
1386+
}
1387+
1388+
function setMoneyRequestMerchant(transactionID: string, merchant: string, isDraft: boolean, shouldStopSmartscan = false) {
1389+
Onyx.merge(`${isDraft ? ONYXKEYS.COLLECTION.TRANSACTION_DRAFT : ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`, {merchant, isMerchantSet: true});
1390+
setMoneyRequestReceiptState(transactionID, isDraft, shouldStopSmartscan);
1391+
}
1392+
1393+
function setMoneyRequestAttendees(transactionID: string, attendees: Attendee[], isDraft: boolean) {
1394+
Onyx.merge(`${isDraft ? ONYXKEYS.COLLECTION.TRANSACTION_DRAFT : ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`, {comment: {attendees}});
1395+
}
1396+
1397+
function setMoneyRequestAccountant(transactionID: string, accountant: Accountant, isDraft: boolean) {
1398+
Onyx.merge(`${isDraft ? ONYXKEYS.COLLECTION.TRANSACTION_DRAFT : ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`, {accountant});
1399+
}
1400+
1401+
function setMoneyRequestPendingFields(transactionID: string, pendingFields: Transaction['pendingFields']) {
1402+
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {pendingFields});
1403+
}
1404+
1405+
function setMoneyRequestTag(transactionID: string, tag: string) {
1406+
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {tag});
1407+
}
1408+
1409+
function setMoneyRequestBillable(transactionID: string, billable: boolean) {
1410+
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {billable});
1411+
}
1412+
1413+
function setMoneyRequestReimbursable(transactionID: string, reimbursable: boolean) {
1414+
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {reimbursable});
1415+
}
1416+
1417+
function setMoneyRequestReportID(transactionID: string, reportID: string) {
1418+
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {reportID});
1419+
}
1420+
13401421
export {
13411422
createTransaction,
13421423
handleMoneyRequestStepScanParticipants,
@@ -1366,5 +1447,21 @@ export {
13661447
setCustomUnitID,
13671448
setMoneyRequestDistance,
13681449
setMoneyRequestDistanceRate,
1450+
setMoneyRequestReceiptState,
1451+
setMoneyRequestAmount,
1452+
clearMoneyRequestAmount,
1453+
clearMoneyRequestMerchant,
1454+
setMoneyRequestCreated,
1455+
setMoneyRequestDateAttribute,
1456+
setMoneyRequestCurrency,
1457+
setMoneyRequestDescription,
1458+
setMoneyRequestMerchant,
1459+
setMoneyRequestAttendees,
1460+
setMoneyRequestAccountant,
1461+
setMoneyRequestPendingFields,
1462+
setMoneyRequestTag,
1463+
setMoneyRequestBillable,
1464+
setMoneyRequestReimbursable,
1465+
setMoneyRequestReportID,
13691466
};
13701467
export type {MoneyRequestStepScanParticipantsFlowParams};

src/libs/actions/IOU/index.ts

Lines changed: 1 addition & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import type {UpdateMoneyRequestParams} from '@libs/API/parameters';
55
import CONST from '@src/CONST';
66
import ONYXKEYS from '@src/ONYXKEYS';
77
import type * as OnyxTypes from '@src/types/onyx';
8-
import type {Accountant, Attendee, Participant} from '@src/types/onyx/IOU';
8+
import type {Attendee, Participant} from '@src/types/onyx/IOU';
99
import type RecentlyUsedTags from '@src/types/onyx/RecentlyUsedTags';
1010
import type {OnyxData} from '@src/types/onyx/Request';
1111
import type {Receipt} from '@src/types/onyx/Transaction';
@@ -266,102 +266,7 @@ function getMoneyRequestPolicyTags({
266266
return getPolicyTagsData(iouReportPolicyID) ?? {};
267267
}
268268

269-
function setMoneyRequestReceiptState(transactionID: string, isDraft: boolean, shouldStopSmartscan = false) {
270-
if (!isDraft || !shouldStopSmartscan) {
271-
return;
272-
}
273-
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {receipt: {state: CONST.IOU.RECEIPT_STATE.OPEN}});
274-
}
275-
276-
function setMoneyRequestAmount(transactionID: string, amount: number, currency: string, shouldShowOriginalAmount = false, shouldStopSmartscan = false) {
277-
// Mark that the user has explicitly set the amount. This is used by the new manual expense flow to distinguish
278-
// a default amount of 0 (field empty) from a user-entered 0 (valid $0 expense).
279-
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {amount, currency, shouldShowOriginalAmount, isAmountSet: true});
280-
setMoneyRequestReceiptState(transactionID, true, shouldStopSmartscan);
281-
}
282-
283-
/**
284-
* Clears the amount field back to an empty/unset state in the new manual expense flow.
285-
* Called when the user deletes all characters from the amount input so that the field
286-
* shows as empty and submission is blocked until a value is entered again.
287-
*/
288-
function clearMoneyRequestAmount(transactionID: string) {
289-
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {amount: 0, isAmountSet: false});
290-
}
291-
292-
function clearMoneyRequestMerchant(transactionID: string, isDraft = true) {
293-
Onyx.merge(`${isDraft ? ONYXKEYS.COLLECTION.TRANSACTION_DRAFT : ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`, {merchant: '', isMerchantSet: false});
294-
}
295-
296-
function setMoneyRequestCreated(transactionID: string, created: string, isDraft: boolean, shouldStopSmartscan = false) {
297-
Onyx.merge(`${isDraft ? ONYXKEYS.COLLECTION.TRANSACTION_DRAFT : ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`, {created});
298-
setMoneyRequestReceiptState(transactionID, isDraft, shouldStopSmartscan);
299-
}
300-
301-
function setMoneyRequestDateAttribute(transactionID: string, start: string, end: string) {
302-
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {comment: {customUnit: {attributes: {dates: {start, end}}}}});
303-
}
304-
305-
function setMoneyRequestCurrency(transactionID: string, currency: string, isEditing = false) {
306-
const fieldToUpdate = isEditing ? 'modifiedCurrency' : 'currency';
307-
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {[fieldToUpdate]: currency});
308-
}
309-
310-
function setMoneyRequestDescription(transactionID: string, comment: string, isDraft: boolean, shouldStopSmartscan = false) {
311-
// Trim only when persisting to the real transaction (not a draft) to avoid
312-
// stripping trailing spaces/newlines while the user is still typing.
313-
Onyx.merge(`${isDraft ? ONYXKEYS.COLLECTION.TRANSACTION_DRAFT : ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`, {comment: {comment: isDraft ? comment : comment.trim()}});
314-
setMoneyRequestReceiptState(transactionID, isDraft, shouldStopSmartscan);
315-
}
316-
317-
function setMoneyRequestMerchant(transactionID: string, merchant: string, isDraft: boolean, shouldStopSmartscan = false) {
318-
Onyx.merge(`${isDraft ? ONYXKEYS.COLLECTION.TRANSACTION_DRAFT : ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`, {merchant, isMerchantSet: true});
319-
setMoneyRequestReceiptState(transactionID, isDraft, shouldStopSmartscan);
320-
}
321-
function setMoneyRequestAttendees(transactionID: string, attendees: Attendee[], isDraft: boolean) {
322-
Onyx.merge(`${isDraft ? ONYXKEYS.COLLECTION.TRANSACTION_DRAFT : ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`, {comment: {attendees}});
323-
}
324-
325-
function setMoneyRequestAccountant(transactionID: string, accountant: Accountant, isDraft: boolean) {
326-
Onyx.merge(`${isDraft ? ONYXKEYS.COLLECTION.TRANSACTION_DRAFT : ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`, {accountant});
327-
}
328-
329-
function setMoneyRequestPendingFields(transactionID: string, pendingFields: OnyxTypes.Transaction['pendingFields']) {
330-
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {pendingFields});
331-
}
332-
333-
function setMoneyRequestTag(transactionID: string, tag: string) {
334-
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {tag});
335-
}
336-
337-
function setMoneyRequestBillable(transactionID: string, billable: boolean) {
338-
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {billable});
339-
}
340-
341-
function setMoneyRequestReimbursable(transactionID: string, reimbursable: boolean) {
342-
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {reimbursable});
343-
}
344-
345-
function setMoneyRequestReportID(transactionID: string, reportID: string) {
346-
Onyx.merge(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {reportID});
347-
}
348-
349269
export {
350-
setMoneyRequestAmount,
351-
clearMoneyRequestAmount,
352-
clearMoneyRequestMerchant,
353-
setMoneyRequestAttendees,
354-
setMoneyRequestAccountant,
355-
setMoneyRequestBillable,
356-
setMoneyRequestCreated,
357-
setMoneyRequestDateAttribute,
358-
setMoneyRequestCurrency,
359-
setMoneyRequestDescription,
360-
setMoneyRequestMerchant,
361-
setMoneyRequestReportID,
362-
setMoneyRequestPendingFields,
363-
setMoneyRequestTag,
364-
setMoneyRequestReimbursable,
365270
getAllPersonalDetails,
366271
getAllTransactions,
367272
getAllTransactionViolations,

0 commit comments

Comments
 (0)