@zeniai/client-epic-state 5.0.95-betaAK1 → 5.0.95-betaML1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonStateTypes/amount.d.ts +0 -1
- package/lib/commonStateTypes/amount.js +1 -9
- package/lib/commonStateTypes/workingDayHelper.d.ts +0 -9
- package/lib/commonStateTypes/workingDayHelper.js +1 -28
- package/lib/entity/tenant/clearAllEpic.d.ts +1 -3
- package/lib/entity/tenant/clearAllEpic.js +0 -4
- package/lib/epic.d.ts +1 -7
- package/lib/epic.js +1 -7
- package/lib/esm/commonStateTypes/amount.js +0 -7
- package/lib/esm/commonStateTypes/workingDayHelper.js +0 -26
- package/lib/esm/entity/tenant/clearAllEpic.js +0 -4
- package/lib/esm/epic.js +1 -7
- package/lib/esm/index.js +4 -9
- package/lib/esm/reducer.js +0 -6
- package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/initializeTransactionCategorizationLocalDataEpic.js +15 -0
- package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +63 -5
- package/lib/esm/view/recommendation/fetchEntityRecommendationsForLineUpdateEpic.js +12 -3
- package/lib/esm/view/recommendation/recommendationReducer.js +18 -1
- package/lib/esm/view/recommendation/recommendationStaleResponseHelper.js +26 -0
- package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +2 -22
- package/lib/esm/view/transactionDetail/epics/initializeTransactionDetailLocalDataEpic.js +7 -0
- package/lib/esm/view/transactionDetail/transactionDetailReducer.js +44 -3
- package/lib/index.d.ts +5 -14
- package/lib/index.js +4 -23
- package/lib/reducer.d.ts +0 -6
- package/lib/reducer.js +0 -6
- package/lib/view/expenseAutomationView/epics/transactionCategorization/initializeTransactionCategorizationLocalDataEpic.d.ts +2 -1
- package/lib/view/expenseAutomationView/epics/transactionCategorization/initializeTransactionCategorizationLocalDataEpic.js +15 -0
- package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +63 -5
- package/lib/view/recommendation/fetchEntityRecommendationsForLineUpdateEpic.d.ts +2 -2
- package/lib/view/recommendation/fetchEntityRecommendationsForLineUpdateEpic.js +10 -1
- package/lib/view/recommendation/recommendationReducer.d.ts +3 -1
- package/lib/view/recommendation/recommendationReducer.js +19 -2
- package/lib/view/recommendation/recommendationStaleResponseHelper.d.ts +7 -0
- package/lib/view/recommendation/recommendationStaleResponseHelper.js +30 -0
- package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.d.ts +1 -8
- package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +1 -21
- package/lib/view/spendManagement/autotransferRules/autoTransferRulesState.d.ts +0 -22
- package/lib/view/transactionDetail/epics/initializeTransactionDetailLocalDataEpic.d.ts +2 -1
- package/lib/view/transactionDetail/epics/initializeTransactionDetailLocalDataEpic.js +7 -0
- package/lib/view/transactionDetail/transactionDetailReducer.js +44 -3
- package/lib/zeniAPI.d.ts +0 -1
- package/package.json +1 -1
- package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.js +0 -29
- package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.js +0 -78
- package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.js +0 -47
- package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.js +0 -47
- package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.js +0 -34
- package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.js +0 -32
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.js +0 -54
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.js +0 -92
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.js +0 -225
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.js +0 -10
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.js +0 -23
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.js +0 -36
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.js +0 -27
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.js +0 -28
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.d.ts +0 -47
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.js +0 -34
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.d.ts +0 -23
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.js +0 -82
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.d.ts +0 -40
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.js +0 -51
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.d.ts +0 -37
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.js +0 -53
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.d.ts +0 -14
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.js +0 -38
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.d.ts +0 -7
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.js +0 -36
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.d.ts +0 -56
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.js +0 -60
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.d.ts +0 -22
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.js +0 -96
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.d.ts +0 -59
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.js +0 -230
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.d.ts +0 -122
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.js +0 -13
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.d.ts +0 -7
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.js +0 -27
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.d.ts +0 -9
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.js +0 -40
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.d.ts +0 -7
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.js +0 -31
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.d.ts +0 -15
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.js +0 -32
package/lib/index.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ import { TimeframeTick, TimeframeTickWithMetaData, mapTimePeriodtoTimeframeTick,
|
|
|
38
38
|
import { AgingDateSelectionType, AgingDetailReportInvoice, AgingDetailReportUIState, AgingReportId, AgingReportInvoice, AgingReportSortKey, AgingReportUIState } from './commonStateTypes/viewAndReport/agingReportStateTypes';
|
|
39
39
|
import { isAgingReport, isCashFlowOrBalanceSheetReport, isDashboardClassesViewReport, isDashboardReport, isFluxAnalysisOpExReport, isOpExByVendorReport, isPAndLClassesViewReport, isPAndLProjectViewReport, isPAndLReport } from './commonStateTypes/viewAndReport/reportIDHelper';
|
|
40
40
|
import { PageToken, Report, ReportFormat, ReportID, ReportIDPlusForecastID, SelectorReport, SelectorView, View, toReportFormatStrict, toReportID } from './commonStateTypes/viewAndReport/viewAndReport';
|
|
41
|
-
import { PAYMENT_BUSINESS_DAYS, filterDays, getNextNthWorkingDay,
|
|
41
|
+
import { PAYMENT_BUSINESS_DAYS, filterDays, getNextNthWorkingDay, getPreviousNthWorkingDay, getYearsList, holidaysFormatted, isHoliday, isHolidayToday } from './commonStateTypes/workingDayHelper';
|
|
42
42
|
import { AccountFilterOption, AccountReport, AccountWithBalanceReport, getAllAccounts, getTransactionFilterAccountOptions } from './entity/account/accountSelector';
|
|
43
43
|
import { Account, AccountBase, AccountType, RecommendedAccountBase, ReconciliationAccountSourceType, StatementCloseDay, toAccountType, toReconciliationAccountSource } from './entity/account/accountState';
|
|
44
44
|
import { NestedAccountReport } from './entity/account/subAccountSelector';
|
|
@@ -374,7 +374,7 @@ import { ProfitAndLossProjectViewReport } from './view/profitAndLossProjectView/
|
|
|
374
374
|
import { ProfitAndLossProjectViewUIState } from './view/profitAndLossProjectView/profitAndLossProjectViewState';
|
|
375
375
|
import { fetchProjectList } from './view/projectList/projectListReducer';
|
|
376
376
|
import { ProjectListSelectorView, getProjectList } from './view/projectList/projectListSelector';
|
|
377
|
-
import { fetchEntityRecommendationsByTransactionId, fetchEntityRecommendationsForLineUpdate, fetchRecommendationByEntityId, fetchRecommendationByEntityName } from './view/recommendation/recommendationReducer';
|
|
377
|
+
import { cancelEntityRecommendationsForLineUpdate, fetchEntityRecommendationsByTransactionId, fetchEntityRecommendationsForLineUpdate, fetchRecommendationByEntityId, fetchRecommendationByEntityName } from './view/recommendation/recommendationReducer';
|
|
378
378
|
import { clearReferrals, fetchReferrals, fetchRewardsPlan, resendReferralInvite, saveReferralFormDataInLocalStore, sendReferralInvite, updateReferViewed, updateReferralListSortUiState } from './view/referralView/referralReducer';
|
|
379
379
|
import { ReferralListSelectorView, RewardsPlanCardReport, getInviteFormView, getReferralListView, getRewardsPlanCard } from './view/referralView/referralSelector';
|
|
380
380
|
import { AmountStatusTypes, InviteCompanyLocalData, ReferralAmountStatus, ReferralInvitation, ReferralListViewSortKey, ReferralStatus, ReferralViewState, ReferralViewUIState, RewardsPlanData, StatusTypes, toReferralListViewSortKeyType } from './view/referralView/referralState';
|
|
@@ -830,7 +830,7 @@ export { Merchant };
|
|
|
830
830
|
export { fetchEditRemiDetailPage, fetchRecommendationsAndUpdateMerchantRecommendations, fetchRemiAndInitializeLocalStore, initializeRemiToLocalStore, saveRemiUpdatesToLocalStore, fetchCurrencyConversionValue, discardRemiUpdatesInLocalStore, removeFileFromRemiUpdatesInLocalStore, saveRemiDetail, saveRemiSuccessOrFailure, parseReceiptsToRemi, clearEditRemiViewDetail, updateAddRemiAutoFields, updateUploadFetchState, updateTentativeMerchantNames, clearTentativeMerchantName, updateReimbursementType, updateHomeCurrencyConversion, clearAddRemiAutoFields, };
|
|
831
831
|
export { AnimationFileName };
|
|
832
832
|
export { reduceFetchState, reduceFetchStateParallelTimeframes, reduceAnyFetchState, reduceAllFetchState, reduceAnyCompletedFetchState, isAnyFetchInProgress, isAllFetchCompleted, SortOrder, ALL_FILE_TYPES, FileType, toFileTypeStrict, };
|
|
833
|
-
export { getNextNthWorkingDay,
|
|
833
|
+
export { getNextNthWorkingDay, getPreviousNthWorkingDay, isHolidayToday, filterDays, getYearsList, isHoliday, holidaysFormatted, PAYMENT_BUSINESS_DAYS, };
|
|
834
834
|
export { CustomerRatingCodeType, TeamRatingCodeType };
|
|
835
835
|
export { CustomerSatisfactionInfo };
|
|
836
836
|
export { fetchCompanyOnboardingView, fetchQBOConnectionPool, updateQBOConnectionPoolExternalConnection, fetchOnboardingCompletedCompanies, saveOnboardingCustomerCompletedStatus, ProductType, ProductGroupType, toProductType, toProductTypeStrict, ProductInfo, getOnboardingCockpitView, getNewOnboardingCustomerView, getOnboardingEmailGroup, initializeOnboardingCustomerViewUpdateData, clearOnboardingCustomerViewUpdateData, saveOnboardingCustomerViewUpdateData, updateOnboardingCustomerListUIState, updateCustomerCreationStatus, updateStatusAfterOnboardingCompleted, saveOnboardingCustomerViewUpdates, saveOnboardingCustomerNotes, saveOnboardingCustomerDataInLocalStore, updateOnboardingCustomerDataInLocalStore, NewOnboardingCustomer, OnboardingCustomer, OnboardingCockpitView, NewOnboardingCustomerView, NewOnboardingCustomerLocalData, OnboardingCustomerCompletedStatus, OnboardingCustomerListUIState, QBOConnectionPool, CustomerCreationStatus, OnboardingCompanyDetails, resetNewOnboardedCustomerId, sendOnboardingCustomerViewInvite, retryBankAccountConnectionForOnboarding, };
|
|
@@ -848,7 +848,7 @@ export { Filing1099TinType };
|
|
|
848
848
|
export { BillPayCardReport };
|
|
849
849
|
export { ReimbursementCardReport };
|
|
850
850
|
export { VendorListViewSortKey, VendorViewUIState, VendorListSelectorView, VendorListQuery, getVendorList, VendorListView, updateSortUiState, updatePageToken, updateYTDSelectionUIState, VendorListViewYTDSpendSortKey, isColumnYTDSpend, isVendorsTabVisible, VendorViewType, VendorReportIDType, toVendorReportIDType, VendorFiling1099ListSelectorView, getVendorFiling1099List, VendorFiling1099ListViewSortKey, VendorFiling1099ViewUIState, VendorFiling1099DownloadData, fetchVendorsFiling1099Download, Type1099Download, VendorFiling1099DownloadDataForType, };
|
|
851
|
-
export { fetchEntityRecommendationsByTransactionId, fetchEntityRecommendationsForLineUpdate, fetchRecommendationByEntityId, fetchRecommendationByEntityName, };
|
|
851
|
+
export { cancelEntityRecommendationsForLineUpdate, fetchEntityRecommendationsByTransactionId, fetchEntityRecommendationsForLineUpdate, fetchRecommendationByEntityId, fetchRecommendationByEntityName, };
|
|
852
852
|
export type { FetchEntityRecommendationsForLineUpdatePayload, RecommendationLineUpdateFlowType, } from './view/recommendation/recommendationReducer';
|
|
853
853
|
export { fetchOwnerList };
|
|
854
854
|
export { ZeniAccountsConfigSelectorView, getZeniAccountsConfigDetail, ZeniAccountListSelectorView, getZeniAccountList, fetchZeniAccountList, fetchAccountList, DepositAccount, createCheckingAccount, fetchPaymentAccountList, unlinkPaymentAccount, getDepositAccountDetail, DepositAccountDetailSelectorView, DepositAccountListSelectorView, getAllDepositAccounts, getDepositAccountDetailForPDF, DepositAccountDetailForPDF, fetchDepositAccount, fetchZeniAccountsConfig, AccountHistoryWithBalances, TransferDetailLocalData, ReviewTransferDetail, updateTransferMoneyLocalData, updateTransferToLocalData, updateDepositToLocalData, transferMoney, getTransferDetail, TransferDetailSelectorView, clearTransferDetail, clearReviewTransferDetail, fetchReviewTransferDetail, fetchDepositAccountDetail, DepositAccountTransaction, DepositAccountWithAutoTransferRules, DepositTransactionStatusCode, DepositTransactionStatus, CheckDepositLocalData, depositCheck, updateCheckDepositLocalData, clearCheckDeposit, CheckDepositSelectorView, getCheckDepositDetail, updateDepositAccount, fetchDepositAccountHistorySuccess, fetchDepositAccountHistoryFailure, DepositAccountUpdateType, ZeniAccountSummaryWithBalance, fetchZeniAccStatementPage, getZeniAccStatements, ZeniAccStatementsSelectorView, ZeniAccountPaymentMethod, };
|
|
@@ -965,7 +965,7 @@ export { TreasuryTaxLettersSelectorView, getTreasuryTaxLetters, } from './view/s
|
|
|
965
965
|
export { TreasuryTransactionStatus } from './view/spendManagement/treasury/treasuryList/treasuryDetailPayload';
|
|
966
966
|
export { fetchAutoTransferRules, createAutoTransferRule, updateAutoTransferRule, deleteAutoTransferRule, fetchAutoTransferRuleHistory, fetchAutoTransferReviewDetail, updateRuleLocalData, clearRuleUpdateLocalData, } from './view/spendManagement/autotransferRules/autoTransferRulesReducer';
|
|
967
967
|
export { AutoTransferRulesSelectorView, getAutoTransferRules, getAutoTransferRuleById, getAutoTransferRuleHistory, } from './view/spendManagement/autotransferRules/autoTransferRulesSelector';
|
|
968
|
-
export { AutoTransferRule
|
|
968
|
+
export { AutoTransferRule } from './view/spendManagement/autotransferRules/autoTransferRulesState';
|
|
969
969
|
export { AutoTransferRuleType, AutoTransferRuleFrequency, AutoTransferRuleLocalData, } from './view/spendManagement/autotransferRules/autoTransferRulesPayload';
|
|
970
970
|
export type { TransactionActivityLog } from './entity/transactionActivityLog/transactionActivityLogState';
|
|
971
971
|
export { BULK_UPLOAD_AUTOMATCHING_TIMEOUT_MS, BULK_UPLOAD_BAR_COMPLETE_HOLD_MS, } from './view/expenseAutomationView/helpers/bulkUploadTiming';
|
|
@@ -975,12 +975,3 @@ export { UserGroup } from './entity/userGroups/userGroupsState';
|
|
|
975
975
|
export { SessionManager } from './entity/tenant/SessionManager';
|
|
976
976
|
export type { SessionCallbacks, SessionConfig, } from './entity/tenant/sessionTypes';
|
|
977
977
|
export { DEFAULT_SESSION_CONFIG } from './entity/tenant/sessionTypes';
|
|
978
|
-
export { fetchCashManagementBanner, fetchCashManagementOverviewPage, } from './view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer';
|
|
979
|
-
export { clearAutoSweepFlow, saveAutoSweepSettings, updateAutoSweepDraft, updateAutoSweepRisk, updateAutoSweepSettingsFetchStatus, updateCashManagementSettings, updateCashManagementSettingsFetchStatus, } from './view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer';
|
|
980
|
-
export { getAutoSweepFlow } from './view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector';
|
|
981
|
-
export type { AutoSweepFlowFormData, AutoSweepFlowSelectorView, } from './view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector';
|
|
982
|
-
export { RISK_BUFFER_AMOUNT, bufferAmountToRisk, } from './view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState';
|
|
983
|
-
export type { AutoSweepFlowState, AutoSweepFrequency, RiskLevel, } from './view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState';
|
|
984
|
-
export { getCashManagementOverview, getCashManagementOverviewBanner, } from './view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector';
|
|
985
|
-
export type { CashManagementOverviewBannerSelectorView, CashManagementOverviewSelectorView, CashProjectionPoint, } from './view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector';
|
|
986
|
-
export type { CashManagementScenario, CashManagementTransfer, CashManagementTransferStatus, UpcomingPaymentEvent, UpcomingPaymentEventAccountType, } from './view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState';
|
package/lib/index.js
CHANGED
|
@@ -58,8 +58,8 @@ exports.deleteBill = exports.updateApprovalStatusOnSuccess = exports.approveOrRe
|
|
|
58
58
|
exports.updatePaymentAccount = exports.updateBusinessVerificationDetails = exports.updateSetupViewLocalStoreData = exports.updateSelectedCompanyOfficer = exports.getPlaidLinkToken = exports.getPaymentAccounts = exports.enableSetup = exports.fetchZeniAccountSetupView = exports.fetchBillPaySetupView = exports.applyTransactionFilters = exports.TRANSACTION_FILTER_CATEGORIES = exports.hideCreatedByFilter = exports.updateShouldReplaceBillData = exports.replaceBillFileInLocalStore = exports.removeBillFileFromLocalStore = exports.updateWithdrawFromAccountId = exports.markBillForRetry = exports.fetchVendorAndUpdateBillLocalData = exports.convertAmountToHomeCurrency = exports.toPaymentToOption = exports.updateVendorContact = exports.verifyUser = exports.fetchUserDetails = exports.updateBillListSearchResult = exports.updateBillUploadFetchState = exports.updateContactsInVendorTabDetailLocalData = exports.updateVendorTabDetailUIState = exports.updateContactsInVendorDetailLocalData = exports.resetVendorSaveStatus = exports.resetVendorDetailLocalData = exports.updateVendorDetailLocalData = exports.BILL_PAY_FILTER_CATEGORIES = exports.updateBillListUIState = exports.saveVendorSuccessOrFailure = exports.updateShowAutofill = exports.fetchBillAndInitializeLocalStore = exports.getReviewPageBillDetail = exports.getEditBillDetail = exports.clearBillPayReview = exports.fetchDuplicateBill = exports.fetchAndUpdateVendorRecommendations = exports.fetchEditBillDetailPage = exports.fetchBillDetail = exports.getBillTransactionDetailKey = exports.checkApproveRejectBtnShowForBill = exports.getBillDetailView = exports.getBillDownloadList = exports.getBillList = exports.retryOrRefundBill = exports.cancelAndDeleteBill = void 0;
|
|
59
59
|
exports.toRoleTypeStrict = exports.toAttributeOrRoleTypeStrict = exports.toAttributeTypeStrict = exports.isAccessDeniedError = exports.isInvalidSessionError = exports.isSuccessResponse = exports.VERIFIED_PAYMENT_ACCOUNT_PROVIDER_VERIFICATION_STATUS = exports.getRemiBusinessVerificationDetails = exports.getRemiSetupViewDetails = exports.clearRemiSetupView = exports.acceptEmployeeRemiTerms = exports.acceptRemiTerms = exports.saveRemiSetupViewDataInLocalStore = exports.updateMileageDetails = exports.fetchRemiSetupView = exports.getUserFinancialAccount = exports.fetchUserFinancialAccount = exports.getIntegrationsView = exports.getBankConnectionsSetupViewDetails = exports.getApprovalRuleViewDetails = exports.getTwoFactorAuthenticationViewForChargeCardHolder = exports.getTwoFactorAuthenticationViewForCardUserOnboarding = exports.getTwoFactorAuthenticationView = exports.getCommonSetupViewDetails = exports.getTreasuryBusinessVerificationDetails = exports.getZeniAccountBusinessVerificationDetails = exports.getBillPayBusinessVerificationDetails = exports.getBusinessVerificationDetails = exports.getZeniAccountSetupViewDetails = exports.getPlaidAccountDetails = exports.getBillPaySetupViewDetails = exports.verifyOtp = exports.resendOtp = exports.sendOtp = exports.clearZeniAccountSetupView = exports.clearBillPaySetupView = exports.clearSetupViewDataInLocalStore = exports.saveIndustryAndIncDateInLocalStore = exports.saveTreasuryAdditionalDocumentsInLocalStore = exports.saveCompnayOfficerAdditionalDocumentsInLocalStore = exports.saveCompnayOfficerPhoneInLocalStore = exports.saveSetupViewDataInLocalStore = exports.acceptBillPayUpdatedTerms = exports.acceptZeniAccountTerms = exports.acceptBillPayTerms = exports.updatePrimaryFundingAccount = exports.updateMappedCashAccount = exports.establishPlaidConnection = exports.updatePaymentAccountStatus = exports.updatePaymentAccountLoginStatus = void 0;
|
|
60
60
|
exports.updateAddRemiAutoFields = exports.clearEditRemiViewDetail = exports.parseReceiptsToRemi = exports.saveRemiSuccessOrFailure = exports.saveRemiDetail = exports.removeFileFromRemiUpdatesInLocalStore = exports.discardRemiUpdatesInLocalStore = exports.fetchCurrencyConversionValue = exports.saveRemiUpdatesToLocalStore = exports.initializeRemiToLocalStore = exports.fetchRemiAndInitializeLocalStore = exports.fetchRecommendationsAndUpdateMerchantRecommendations = exports.fetchEditRemiDetailPage = exports.getEditRemiDetail = exports.removeDuplicateReimbursementByLineId = exports.clearDuplicateReimbursementDetail = exports.fetchDuplicateReimbursement = exports.clearRemiDetailView = exports.approveOrRejectRemi = exports.cancelAndDeleteRemi = exports.fetchRemiDetail = exports.deleteRemi = exports.updateIsEditModeRealTimeApprovals = exports.saveRealTimeApproval = exports.checkApproveRejectBtnShowForRemi = exports.getRemiDetailView = exports.clearRemiSetupApproverView = exports.clearRemiSetupApproverViewUpdateData = exports.setRemiSetupApproverViewListeningToPusherEvent = exports.initializeRemiSetupApproverViewUpdateData = exports.saveRemiSetupApproverViewUpdates = exports.saveRemiSetupApproverViewUpdateData = exports.deleteRemiApprovalRule = exports.fetchRemiApproversDetails = exports.fetchRemiApproversList = exports.fetchRemiSetupApproverView = exports.getRemiSetupApproverUpdateDataView = exports.getRemiSetupApproverView = exports.clearBillPaySetupApproverView = exports.clearBillPaySetupApproverViewUpdateData = exports.initializeBillPaySetupApproverViewUpdateData = exports.setBillsSetupApproverViewListeningToPusherEvent = exports.saveBillPaySetupApproverViewUpdates = exports.saveBillPaySetupApproverViewUpdateData = exports.deleteBillPayApprovalRule = exports.fetchBillPayApproversList = exports.fetchBillPayApproversDetails = exports.fetchBillPaySetupApproverView = exports.getBillPaySetupApproverUpdateDataView = exports.getBillPaySetupApproverView = void 0;
|
|
61
|
-
exports.getChangedLineItemCountFromLocalData = exports.getTransactionListUIStateByCategoryType = exports.getTransactionsListByCategoryType = exports.retryBankAccountConnectionForOnboarding = exports.sendOnboardingCustomerViewInvite = exports.resetNewOnboardedCustomerId = exports.updateOnboardingCustomerDataInLocalStore = exports.saveOnboardingCustomerDataInLocalStore = exports.saveOnboardingCustomerNotes = exports.saveOnboardingCustomerViewUpdates = exports.updateStatusAfterOnboardingCompleted = exports.updateCustomerCreationStatus = exports.updateOnboardingCustomerListUIState = exports.saveOnboardingCustomerViewUpdateData = exports.clearOnboardingCustomerViewUpdateData = exports.initializeOnboardingCustomerViewUpdateData = exports.getOnboardingEmailGroup = exports.getNewOnboardingCustomerView = exports.getOnboardingCockpitView = exports.toProductTypeStrict = exports.toProductType = exports.saveOnboardingCustomerCompletedStatus = exports.fetchOnboardingCompletedCompanies = exports.updateQBOConnectionPoolExternalConnection = exports.fetchQBOConnectionPool = exports.fetchCompanyOnboardingView = exports.PAYMENT_BUSINESS_DAYS = exports.holidaysFormatted = exports.isHoliday = exports.getYearsList = exports.filterDays = exports.isHolidayToday = exports.getPreviousNthWorkingDay = exports.
|
|
62
|
-
exports.getZeniAccountList = exports.getZeniAccountsConfigDetail = exports.fetchOwnerList = exports.fetchRecommendationByEntityName = exports.fetchRecommendationByEntityId = exports.fetchEntityRecommendationsForLineUpdate = exports.fetchEntityRecommendationsByTransactionId = exports.fetchVendorsFiling1099Download = exports.getVendorFiling1099List = exports.toVendorReportIDType = exports.isVendorsTabVisible = exports.isColumnYTDSpend = exports.updateYTDSelectionUIState = exports.updatePageToken = exports.updateSortUiState = exports.getVendorList = exports.LOCAL_CURRENCY_INTERNATIONAL_METHOD_SUBTEXT = exports.SWIFT_OUR_INTERNATIONAL_METHOD_SUBTEXT = exports.NEW_INTERNATIONAL_METHOD_SUBTEXT = exports.BILL_NEW_PAYMENT_METHODS = exports.getInternationalSubConfigCodeKey = exports.shouldEnableCalendarPickerForLastReportSent = exports.canSendMonthEndEmailReport = exports.checkIfLowBalance = exports.isAwaitingMarkAsPaid = exports.isPaymentMethodOutsideZeni = exports.toSameDayAchDisablementConfig = exports.toAccountsPromoConfig = exports.getBulkOperationSuffix = exports.getRemiListUniqueType = exports.getBillListUniqueType = exports.isBulkProcessing = exports.isVerifiedPaymentAccountProviderStatusCode = exports.isVerifiedStatusCode = exports.getActualPaymentDate = exports.showReimbursementPromoPage = exports.showBillPayPromoPage = exports.getSelectedCompanyOfficer = exports.getSpendManagementEffectiveListPeriod = exports.getSnackbar = exports.closeSnackbar = exports.openSnackbar = exports.toJournalEntrySortKey = exports.sumJournalEntryAmounts = exports.sortJournalEntryLines = exports.journalEntryTotalsByPostingSide = exports.journalEntryDefaultSortConfig = exports.filterJournalEntryLinesExcludingLinked = exports.JOURNAL_ENTRY_SORT_KEYS =
|
|
61
|
+
exports.isAccountUncategorized = exports.getChangedLineItemCountFromLocalData = exports.getTransactionListUIStateByCategoryType = exports.getTransactionsListByCategoryType = exports.retryBankAccountConnectionForOnboarding = exports.sendOnboardingCustomerViewInvite = exports.resetNewOnboardedCustomerId = exports.updateOnboardingCustomerDataInLocalStore = exports.saveOnboardingCustomerDataInLocalStore = exports.saveOnboardingCustomerNotes = exports.saveOnboardingCustomerViewUpdates = exports.updateStatusAfterOnboardingCompleted = exports.updateCustomerCreationStatus = exports.updateOnboardingCustomerListUIState = exports.saveOnboardingCustomerViewUpdateData = exports.clearOnboardingCustomerViewUpdateData = exports.initializeOnboardingCustomerViewUpdateData = exports.getOnboardingEmailGroup = exports.getNewOnboardingCustomerView = exports.getOnboardingCockpitView = exports.toProductTypeStrict = exports.toProductType = exports.saveOnboardingCustomerCompletedStatus = exports.fetchOnboardingCompletedCompanies = exports.updateQBOConnectionPoolExternalConnection = exports.fetchQBOConnectionPool = exports.fetchCompanyOnboardingView = exports.PAYMENT_BUSINESS_DAYS = exports.holidaysFormatted = exports.isHoliday = exports.getYearsList = exports.filterDays = exports.isHolidayToday = exports.getPreviousNthWorkingDay = exports.getNextNthWorkingDay = exports.toFileTypeStrict = exports.ALL_FILE_TYPES = exports.isAllFetchCompleted = exports.isAnyFetchInProgress = exports.reduceAnyCompletedFetchState = exports.reduceAllFetchState = exports.reduceAnyFetchState = exports.reduceFetchStateParallelTimeframes = exports.reduceFetchState = exports.clearAddRemiAutoFields = exports.updateHomeCurrencyConversion = exports.updateReimbursementType = exports.clearTentativeMerchantName = exports.updateTentativeMerchantNames = exports.updateUploadFetchState = void 0;
|
|
62
|
+
exports.getZeniAccountList = exports.getZeniAccountsConfigDetail = exports.fetchOwnerList = exports.fetchRecommendationByEntityName = exports.fetchRecommendationByEntityId = exports.fetchEntityRecommendationsForLineUpdate = exports.fetchEntityRecommendationsByTransactionId = exports.cancelEntityRecommendationsForLineUpdate = exports.fetchVendorsFiling1099Download = exports.getVendorFiling1099List = exports.toVendorReportIDType = exports.isVendorsTabVisible = exports.isColumnYTDSpend = exports.updateYTDSelectionUIState = exports.updatePageToken = exports.updateSortUiState = exports.getVendorList = exports.LOCAL_CURRENCY_INTERNATIONAL_METHOD_SUBTEXT = exports.SWIFT_OUR_INTERNATIONAL_METHOD_SUBTEXT = exports.NEW_INTERNATIONAL_METHOD_SUBTEXT = exports.BILL_NEW_PAYMENT_METHODS = exports.getInternationalSubConfigCodeKey = exports.shouldEnableCalendarPickerForLastReportSent = exports.canSendMonthEndEmailReport = exports.checkIfLowBalance = exports.isAwaitingMarkAsPaid = exports.isPaymentMethodOutsideZeni = exports.toSameDayAchDisablementConfig = exports.toAccountsPromoConfig = exports.getBulkOperationSuffix = exports.getRemiListUniqueType = exports.getBillListUniqueType = exports.isBulkProcessing = exports.isVerifiedPaymentAccountProviderStatusCode = exports.isVerifiedStatusCode = exports.getActualPaymentDate = exports.showReimbursementPromoPage = exports.showBillPayPromoPage = exports.getSelectedCompanyOfficer = exports.getSpendManagementEffectiveListPeriod = exports.getSnackbar = exports.closeSnackbar = exports.openSnackbar = exports.toJournalEntrySortKey = exports.sumJournalEntryAmounts = exports.sortJournalEntryLines = exports.journalEntryTotalsByPostingSide = exports.journalEntryDefaultSortConfig = exports.filterJournalEntryLinesExcludingLinked = exports.JOURNAL_ENTRY_SORT_KEYS = void 0;
|
|
63
63
|
exports.updateOnboardingPaymentAccountStatus = exports.updateOnboardingPaymentAccountLoginStatus = exports.updateOnboardingCustomerViewDashboardLoaded = exports.updateOnboardingCustomerViewCompleteStatus = exports.updateOnboardingCustomerViewAccountDetails = exports.establishOnboardingPlaidConnection = exports.getOnboardingPlaidLinkToken = exports.fetchOnboardingCustomerSetupView = exports.fetchOnboardingCustomerView = exports.isZeniClearingAccount = exports.ZENI_CLEARING_ACCOUNT = exports.isZeniClearingAccountReport = exports.getCompanyConfig = exports.fetchCompanyConfig = exports.clearTransactionVendorSaveStatus = exports.resetTransactionVendorLocalData = exports.updateTransactionVendorLocalData = exports.saveTransactionVendorSuccessOrFailure = exports.saveTransactionVendor = exports.getTransactionVendorView = exports.getDepositAccountTransactionList = exports.fetchDepositAccountTransactionList = exports.getZeniAccStatements = exports.fetchZeniAccStatementPage = exports.fetchDepositAccountHistoryFailure = exports.fetchDepositAccountHistorySuccess = exports.updateDepositAccount = exports.getCheckDepositDetail = exports.clearCheckDeposit = exports.updateCheckDepositLocalData = exports.depositCheck = exports.fetchDepositAccountDetail = exports.fetchReviewTransferDetail = exports.clearReviewTransferDetail = exports.clearTransferDetail = exports.getTransferDetail = exports.transferMoney = exports.updateDepositToLocalData = exports.updateTransferToLocalData = exports.updateTransferMoneyLocalData = exports.fetchZeniAccountsConfig = exports.fetchDepositAccount = exports.getDepositAccountDetailForPDF = exports.getAllDepositAccounts = exports.getDepositAccountDetail = exports.unlinkPaymentAccount = exports.fetchPaymentAccountList = exports.createCheckingAccount = exports.fetchAccountList = exports.fetchZeniAccountList = void 0;
|
|
64
64
|
exports.updateCompanyHealthMetricViewErrorStatus = exports.updateCompanyHealthMetricLocalStore = exports.saveCompanyHealthMetricById = exports.removeSelectedCompanyId = exports.initializeCompanyHealthMetricViewLocalData = exports.fetchCompanyHealthMetricView = exports.clearCompanyHealthMetricView = exports.updateCompanyHealth = exports.updateCompaniesHealth = exports.fetchCompanyHealthMetricConfig = exports.getCompanyHealthMetricConfig = exports.getUserRoleConfig = exports.fetchUserRoleConfig = exports.clearInternationalWire = exports.deletePaymentInstrument = exports.createPaymentInstrumentUpdateStatus = exports.createPaymentInstrument = exports.fetchInternationalWireDynamicForm = exports.initializeDynamicForm = exports.updateInternationalWireLocalStoreData = exports.initializeInternationalWireLocalData = exports.getInternationalWireView = exports.fetchWiseRedirectStatus = exports.getWiseRedirect = exports.saveMagicLinkAddressInLocalStore = exports.fetchMagicLinkBankNameBySwift = exports.fetchMagicLinkBankNameByRouting = exports.updateMagicLinkInternationalBankAccountLocalStoreData = exports.updateMagicLinkBankAccountLocalStoreData = exports.saveBankAccount = exports.fetchBillAttachment = exports.fetchMagicLinkTenant = exports.getMagicLinkCurrentAddressState = exports.getMagicLinkBankAccountView = exports.getMagicLinkView = exports.initializeAccountMappingView = exports.getAccountMappingView = exports.clearAccountMappingLocalData = exports.saveAccountMappingLocalData = exports.saveAccountMapping = exports.getProductSettingsString = exports.getOnboardingCustomerView = exports.clearOnboardingCustomerViewDataInLocalStore = exports.clearOnboardingCustomerView = exports.saveOnboardingCustomerViewDataInLocalStore = exports.saveOnboardingCompnayOfficerPhoneInLocalStore = exports.updateOnboardingCustomerViewUIState = exports.updateCurrentStep = exports.updateOnboardingCustomerViewLocalStoreData = exports.updateOnboardingCustomerView = void 0;
|
|
65
65
|
exports.getChargeCardControlDetailView = exports.getChargeCardDetailView = exports.fetchDepositAccountLimit = exports.fetchChargeCardTransactionStatistics = exports.fetchChargeCardDetail = exports.fetchChargeCardDetailPage = exports.getCreditAccountDetails = exports.PAYMENT_HISTORY_FILTER_CATEGORIES = exports.getPaymentStatusDisplayText = exports.getPaymentHistorySourceAccountName = exports.getChargeCardPaymentHistoryView = exports.getChargeCardPaymentHistoryDownloadReport = exports.updatePaymentHistoryUIState = exports.updatePaymentHistorySearchText = exports.updatePaymentHistoryFilters = exports.updatePaymentHistoryDownloadUIState = exports.fetchChargeCardPaymentHistory = exports.fetchChargeCardPaymentPage = exports.getChargeCardRepaymentDetail = exports.updateChargeCardRepaymentLocalStore = exports.initiateChargeCardRepayment = exports.fetchChargeCardRepaymentDetail = exports.clearChargeCardRepaymentDetail = exports.getMyRequestOnHoldChargeCardListWithShippingAddress = exports.getMyPendingActivationChargeCardListView = exports.getChargeCardListView = exports.getAllChargeCardsWithUser = exports.fetchCreditAccountRepayment = exports.fetchCreditAccount = exports.fetchChargeCardConfig = exports.fetchChargeCardListPage = exports.fetchChargeCardList = exports.fetchDebitCardSummary = exports.getChargeCardBusinessVerificationDetails = exports.companyHealthMetricDropDownOptions = exports.hasCompanyHealthMetricFormFieldChanged = exports.getCompanyHealthMetricView = exports.isCompanyRunwayInfinite = exports.attachmentFilePathToAttachment = exports.addDeclinedChargeCardTransactionFromPusher = exports.addChargeCardTransactionFromPusher = exports.updateCreditAccountBalanceFromPusher = exports.updateChargeCardTransactionReceiptFromPusher = exports.updateChargeCardTransactionFromPusher = exports.updateChargeCardTransactionStatusFromPusher = exports.updateChargeCardSpendingFromPusher = exports.updateChargeCardStatusFromPusher = exports.updateChargeCardTransactionAttachments = exports.updateCompanyHealthViewUIState = exports.updateCompanyHealthMetricViewSuccessStatus = void 0;
|
|
@@ -74,7 +74,7 @@ exports.deleteChatSession = exports.acceptMasterTOS = exports.fetchChatHistory =
|
|
|
74
74
|
exports.fetchCardPolicyVendorOptions = exports.fetchCardPolicyRecommendationFromUpload = exports.fetchCardPolicyMccCategories = exports.extractPolicyDocument = exports.clearPolicyDocumentExtraction = exports.toMessageType = exports.toMessageSender = exports.ALL_SYNTHETIC_AI_CFO_ANSWER_KINDS = exports.toInteractiveFormTypeStrict = exports.toInteractiveFormType = exports.toAiCfoAnswerResponseTypeStrict = exports.toAiCfoAnswerResponseType = exports.toAiCfoAnswerStateTypeStrict = exports.toAiCfoAnswerStateType = exports.toAiCfoChartTypeStrict = exports.toAiCfoChartType = exports.toAiCfoVisualizationTypeStrict = exports.toAiCfoVisualizationType = exports.ALL_INTERACTIVE_FORM_TYPES = exports.ALL_AI_CFO_ANSWER_RESPONSE_TYPES = exports.ALL_AI_CFO_ANSWER_STATE_TYPES = exports.ALL_AI_CFO_VISUALIZATION_TYPES = exports.ALL_AI_CFO_CHARTS_TYPES = exports.getSyntheticAiCfoAnswerByQuestionAnswerId = exports.getSyntheticAiCfoAnswersForChatSession = exports.getAiCfoSelectorView = exports.getAllQuestionsForChatSession = exports.getQuestionAnswerByIdForChatSession = exports.getAllQuestionAnswersForChatSession = exports.clearSyntheticAiCfoAnswers = exports.removeSyntheticAiCfoAnswer = exports.updateSyntheticAiCfoAnswer = exports.appendSyntheticAiCfoAnswer = exports.toAiCfoVisualization = exports.clearAiCfo = exports.clearSession = exports.addQuestionPayload = exports.upsertOrAddQuestionAnswerPayload = exports.upsertAnswerPayload = exports.updateAiCfoAnswerCardPolicyWizardPlan = exports.setSessions = exports.setNewSession = exports.getSuggestedQuestionsForPageContext = exports.getAiCfoView = exports.clearAiCfoSidePanelHostPageContext = exports.applyAiCfoSidePanelHostPageTransition = exports.fetchSuggestedQuestionsFailure = exports.fetchSuggestedQuestionsSuccess = exports.fetchSuggestedQuestions = exports.updateResponseState = void 0;
|
|
75
75
|
exports.applyExtractedPolicyToAiCardPolicyDraft = exports.toUpdateCardPolicyTemplateRequestBody = exports.toExtractedCardPolicyRules = exports.toCreateCardPolicyTemplatesRequestBody = exports.toCreateCardPolicyTemplateRequestBody = exports.toCardPolicyVendorSearchOption = exports.toCardPolicyTemplateList = exports.toCardPolicyTemplate = exports.toCardPolicyStats = exports.toCardPolicyEditFormDraft = exports.toBulkCreateCardPolicyTemplateError = exports.toCardPolicyTemplateStatus = exports.toCardPolicyTemplateMode = exports.ALL_CARD_POLICY_TEMPLATE_STATUSES = exports.ALL_CARD_POLICY_TEMPLATE_MODES = exports.getUploadedPolicyDocumentFileName = exports.getPolicyRecommendationFromUploadFetchState = exports.getPolicyRecommendationFromUploadError = exports.getPolicyRecommendationFromUploadChatSessionId = exports.getPolicyRecommendationFromUploadAnswerId = exports.getPolicyDocumentExtractionFetchState = exports.getPolicyDocumentExtractionError = exports.getExtractedCardPolicyRules = exports.getCardPolicyVendorSearchString = exports.getCardPolicyVendorSearchOptions = exports.getCardPolicyVendorSearchFetchState = exports.getCardPolicyTemplatesByIds = exports.getCardPolicyTemplateById = exports.getCardPolicySuggestedBlockMerchants = exports.getCardPolicySuggestedBlockCategories = exports.getCardPolicySuggestedAllowMerchants = exports.getCardPolicySuggestedAllowCategories = exports.getCardPolicyStats = exports.getCardPolicyMccCategoriesFetchState = exports.getCardPolicyMccCategoriesError = exports.getCardPolicyMccCategories = exports.getAllCardPolicyTemplates = exports.clearCardPolicy = exports.updatePolicyRecommendationFromUploadSuccess = exports.updatePolicyRecommendationFromUploadFailure = exports.updatePolicyDocumentExtractionSuccess = exports.updatePolicyDocumentExtractionFailure = exports.updateCreatedCardPolicyTemplate = exports.updateCardPolicyVendorOptionsFailure = exports.updateCardPolicyVendorOptions = exports.updateCardPolicyTemplates = exports.updateCardPolicyStats = exports.updateCardPolicyMccCategoriesFailure = exports.updateCardPolicyMccCategories = exports.removeCardPolicyTemplate = void 0;
|
|
76
76
|
exports.updateCardPolicyFetchStatus = exports.updateCardPolicyDetailFetchStatus = exports.updateCardPolicy = exports.fetchCardPolicyDetail = exports.clearCardPolicyDetail = exports.getCardPolicyTemplateIds = exports.getCardPolicyListView = exports.getCardPolicyListFetchState = exports.getArchiveCardPolicyFetchState = exports.updateCardPolicyListFetchStatus = exports.updateArchiveCardPolicyFetchStatus = exports.fetchCardPolicyList = exports.clearCardPolicyList = exports.archiveCardPolicy = exports.toManualCardPolicyTemplateRequestFromDraft = exports.toBulkCardPolicyTemplateRequestsFromDraft = exports.toCardPolicyTemplateRequestFromDraft = exports.applyAiCardPolicyFormDraftUpdate = exports.deriveAiPolicyReviewRowsFromInputs = exports.buildManualCardPolicyFormDraftSeed = exports.buildUploadReviewRows = exports.buildEmptyLimitRows = exports.buildAiCardPolicyFormDraftSeed = exports.toVendorChipFieldValue = exports.toMccCategoryChipFieldValue = exports.buildVendorChipId = exports.buildMccCategoryChipId = exports.VENDOR_CHIP_ID_PREFIX = exports.MCC_CHIP_ID_PREFIX = exports.toMccCategoryLike = exports.CARD_POLICY_LIMIT_ROW_ID_TRANSACTION = exports.CARD_POLICY_LIMIT_ROW_ID_REQUIRE_RECEIPT = exports.getManualCardPolicyFormDraft = exports.getLastCreatedCardPolicyTemplateIds = exports.getLastCreatedCardPolicyTemplateId = exports.getLastCreateCardPolicyTemplateErrors = exports.getLastCreateCardPolicySourceChatSessionId = exports.getCreateCardPolicyTemplateRequestState = exports.getAiCardPolicyFormDraft = exports.updateManualCardPolicyFormDraft = exports.updateCreateCardPolicyTemplateRequestState = exports.updateAiCardPolicyFormDraftFromUploadPlan = exports.updateAiCardPolicyFormDraft = exports.seedManualCardPolicyFormDraft = exports.seedAiCardPolicyFormDraft = exports.createCardPolicyTemplates = exports.clearManualCardPolicyFormDraft = exports.clearCreateCardPolicy = exports.clearAiCardPolicyFormDraft = exports.applyExtractedPolicyToManualCardPolicyDraft = void 0;
|
|
77
|
-
exports.
|
|
77
|
+
exports.DEFAULT_SESSION_CONFIG = exports.SessionManager = exports.getTransactionActivityLogView = exports.fetchTransactionActivityLog = exports.BULK_UPLOAD_BAR_COMPLETE_HOLD_MS = exports.BULK_UPLOAD_AUTOMATCHING_TIMEOUT_MS = exports.getAutoTransferRuleHistory = exports.getAutoTransferRuleById = exports.getAutoTransferRules = exports.clearRuleUpdateLocalData = exports.updateRuleLocalData = exports.fetchAutoTransferReviewDetail = exports.fetchAutoTransferRuleHistory = exports.deleteAutoTransferRule = exports.updateAutoTransferRule = exports.createAutoTransferRule = exports.fetchAutoTransferRules = exports.getTreasuryTaxLetters = exports.fetchTreasuryTaxLetterList = exports.getTreasuryStatements = exports.fetchTreasuryStatementList = exports.getTreasuryTransferMoney = exports.clearTreasuryTransferMoney = exports.updateTreasuryTransferMoneyLocalData = exports.executeTreasuryTransferMoney = exports.getTreasuryDetail = exports.updateTreasuryTransactionListUIState = exports.fetchTreasuryTransactionList = exports.fetchTreasuryOverviewDetail = exports.getUpdateCardPolicyFetchState = exports.getCardPolicyFormDraft = exports.getCardPolicyDetailView = exports.getCardPolicyDetailFetchState = exports.updateCardPolicyFormDraft = void 0;
|
|
78
78
|
const allowedValue_1 = require("./commonStateTypes/allowedValue");
|
|
79
79
|
Object.defineProperty(exports, "isAllowedValueWithCode", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithCode; } });
|
|
80
80
|
Object.defineProperty(exports, "isAllowedValueWithID", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithID; } });
|
|
@@ -168,7 +168,6 @@ const workingDayHelper_1 = require("./commonStateTypes/workingDayHelper");
|
|
|
168
168
|
Object.defineProperty(exports, "PAYMENT_BUSINESS_DAYS", { enumerable: true, get: function () { return workingDayHelper_1.PAYMENT_BUSINESS_DAYS; } });
|
|
169
169
|
Object.defineProperty(exports, "filterDays", { enumerable: true, get: function () { return workingDayHelper_1.filterDays; } });
|
|
170
170
|
Object.defineProperty(exports, "getNextNthWorkingDay", { enumerable: true, get: function () { return workingDayHelper_1.getNextNthWorkingDay; } });
|
|
171
|
-
Object.defineProperty(exports, "getNextTransferDate", { enumerable: true, get: function () { return workingDayHelper_1.getNextTransferDate; } });
|
|
172
171
|
Object.defineProperty(exports, "getPreviousNthWorkingDay", { enumerable: true, get: function () { return workingDayHelper_1.getPreviousNthWorkingDay; } });
|
|
173
172
|
Object.defineProperty(exports, "getYearsList", { enumerable: true, get: function () { return workingDayHelper_1.getYearsList; } });
|
|
174
173
|
Object.defineProperty(exports, "holidaysFormatted", { enumerable: true, get: function () { return workingDayHelper_1.holidaysFormatted; } });
|
|
@@ -1188,6 +1187,7 @@ Object.defineProperty(exports, "fetchProjectList", { enumerable: true, get: func
|
|
|
1188
1187
|
const projectListSelector_1 = require("./view/projectList/projectListSelector");
|
|
1189
1188
|
Object.defineProperty(exports, "getProjectList", { enumerable: true, get: function () { return projectListSelector_1.getProjectList; } });
|
|
1190
1189
|
const recommendationReducer_1 = require("./view/recommendation/recommendationReducer");
|
|
1190
|
+
Object.defineProperty(exports, "cancelEntityRecommendationsForLineUpdate", { enumerable: true, get: function () { return recommendationReducer_1.cancelEntityRecommendationsForLineUpdate; } });
|
|
1191
1191
|
Object.defineProperty(exports, "fetchEntityRecommendationsByTransactionId", { enumerable: true, get: function () { return recommendationReducer_1.fetchEntityRecommendationsByTransactionId; } });
|
|
1192
1192
|
Object.defineProperty(exports, "fetchEntityRecommendationsForLineUpdate", { enumerable: true, get: function () { return recommendationReducer_1.fetchEntityRecommendationsForLineUpdate; } });
|
|
1193
1193
|
Object.defineProperty(exports, "fetchRecommendationByEntityId", { enumerable: true, get: function () { return recommendationReducer_1.fetchRecommendationByEntityId; } });
|
|
@@ -2515,22 +2515,3 @@ var SessionManager_1 = require("./entity/tenant/SessionManager");
|
|
|
2515
2515
|
Object.defineProperty(exports, "SessionManager", { enumerable: true, get: function () { return SessionManager_1.SessionManager; } });
|
|
2516
2516
|
var sessionTypes_1 = require("./entity/tenant/sessionTypes");
|
|
2517
2517
|
Object.defineProperty(exports, "DEFAULT_SESSION_CONFIG", { enumerable: true, get: function () { return sessionTypes_1.DEFAULT_SESSION_CONFIG; } });
|
|
2518
|
-
var cashManagementOverviewReducer_1 = require("./view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer");
|
|
2519
|
-
Object.defineProperty(exports, "fetchCashManagementBanner", { enumerable: true, get: function () { return cashManagementOverviewReducer_1.fetchCashManagementBanner; } });
|
|
2520
|
-
Object.defineProperty(exports, "fetchCashManagementOverviewPage", { enumerable: true, get: function () { return cashManagementOverviewReducer_1.fetchCashManagementOverviewPage; } });
|
|
2521
|
-
var autoSweepFlowReducer_1 = require("./view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer");
|
|
2522
|
-
Object.defineProperty(exports, "clearAutoSweepFlow", { enumerable: true, get: function () { return autoSweepFlowReducer_1.clearAutoSweepFlow; } });
|
|
2523
|
-
Object.defineProperty(exports, "saveAutoSweepSettings", { enumerable: true, get: function () { return autoSweepFlowReducer_1.saveAutoSweepSettings; } });
|
|
2524
|
-
Object.defineProperty(exports, "updateAutoSweepDraft", { enumerable: true, get: function () { return autoSweepFlowReducer_1.updateAutoSweepDraft; } });
|
|
2525
|
-
Object.defineProperty(exports, "updateAutoSweepRisk", { enumerable: true, get: function () { return autoSweepFlowReducer_1.updateAutoSweepRisk; } });
|
|
2526
|
-
Object.defineProperty(exports, "updateAutoSweepSettingsFetchStatus", { enumerable: true, get: function () { return autoSweepFlowReducer_1.updateAutoSweepSettingsFetchStatus; } });
|
|
2527
|
-
Object.defineProperty(exports, "updateCashManagementSettings", { enumerable: true, get: function () { return autoSweepFlowReducer_1.updateCashManagementSettings; } });
|
|
2528
|
-
Object.defineProperty(exports, "updateCashManagementSettingsFetchStatus", { enumerable: true, get: function () { return autoSweepFlowReducer_1.updateCashManagementSettingsFetchStatus; } });
|
|
2529
|
-
var autoSweepFlowSelector_1 = require("./view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector");
|
|
2530
|
-
Object.defineProperty(exports, "getAutoSweepFlow", { enumerable: true, get: function () { return autoSweepFlowSelector_1.getAutoSweepFlow; } });
|
|
2531
|
-
var autoSweepFlowState_1 = require("./view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState");
|
|
2532
|
-
Object.defineProperty(exports, "RISK_BUFFER_AMOUNT", { enumerable: true, get: function () { return autoSweepFlowState_1.RISK_BUFFER_AMOUNT; } });
|
|
2533
|
-
Object.defineProperty(exports, "bufferAmountToRisk", { enumerable: true, get: function () { return autoSweepFlowState_1.bufferAmountToRisk; } });
|
|
2534
|
-
var cashManagementOverviewSelector_1 = require("./view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector");
|
|
2535
|
-
Object.defineProperty(exports, "getCashManagementOverview", { enumerable: true, get: function () { return cashManagementOverviewSelector_1.getCashManagementOverview; } });
|
|
2536
|
-
Object.defineProperty(exports, "getCashManagementOverviewBanner", { enumerable: true, get: function () { return cashManagementOverviewSelector_1.getCashManagementOverviewBanner; } });
|
package/lib/reducer.d.ts
CHANGED
|
@@ -160,8 +160,6 @@ import { InternationalWireVerificationState } from './view/spendManagement/billP
|
|
|
160
160
|
import { MagicLinkViewState } from './view/spendManagement/billPay/magicLinkView/magicLinkViewState';
|
|
161
161
|
import { PreviousBillsState } from './view/spendManagement/billPay/previousBills/previousBillsState';
|
|
162
162
|
import { WiseRedirectState } from './view/spendManagement/billPay/wiseRedirectView/wiseRedirectState';
|
|
163
|
-
import { AutoSweepFlowState } from './view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState';
|
|
164
|
-
import { CashManagementOverviewState } from './view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState';
|
|
165
163
|
import { CardUserOnboardingState } from './view/spendManagement/chargeCards/cardUserOnboarding/cardUserOnboardingState';
|
|
166
164
|
import { CashbackDetailState } from './view/spendManagement/chargeCards/cashbackDetail/cashbackDetailState';
|
|
167
165
|
import { ChargeCardConfigState } from './view/spendManagement/chargeCards/chargeCardConfig/chargeCardConfigState';
|
|
@@ -312,7 +310,6 @@ type ViewsState = {
|
|
|
312
310
|
arAgingState: ArAgingState;
|
|
313
311
|
auditReportViewState: AuditReportViewState;
|
|
314
312
|
authenticationViewState: AuthenticationViewState;
|
|
315
|
-
autoSweepFlowState: AutoSweepFlowState;
|
|
316
313
|
autotransferRulesState: AutoTransferRulesState;
|
|
317
314
|
balanceSheetState: BalanceSheetState;
|
|
318
315
|
bankAccountViewState: BankAccountViewState;
|
|
@@ -334,7 +331,6 @@ type ViewsState = {
|
|
|
334
331
|
cashBalanceState: CashBalanceState;
|
|
335
332
|
cashFlowState: CashFlowState;
|
|
336
333
|
cashInCashOutState: CashInCashOutState;
|
|
337
|
-
cashManagementOverviewState: CashManagementOverviewState;
|
|
338
334
|
cashPositionState: CashPositionState;
|
|
339
335
|
chargeCardConfigState: ChargeCardConfigState;
|
|
340
336
|
chargeCardDetailState: ChargeCardDetailState;
|
|
@@ -480,7 +476,6 @@ declare const reducers: import("redux").Reducer<import("redux").CombinedState<{
|
|
|
480
476
|
arAgingState: ArAgingState;
|
|
481
477
|
auditReportViewState: AuditReportViewState;
|
|
482
478
|
authenticationViewState: AuthenticationViewState;
|
|
483
|
-
autoSweepFlowState: AutoSweepFlowState;
|
|
484
479
|
autotransferRulesState: AutoTransferRulesState;
|
|
485
480
|
balanceSheetState: BalanceSheetState;
|
|
486
481
|
bankAccountViewState: BankAccountViewState;
|
|
@@ -500,7 +495,6 @@ declare const reducers: import("redux").Reducer<import("redux").CombinedState<{
|
|
|
500
495
|
cashBalanceState: CashBalanceState;
|
|
501
496
|
cashFlowState: CashFlowState;
|
|
502
497
|
cashInCashOutState: CashInCashOutState;
|
|
503
|
-
cashManagementOverviewState: CashManagementOverviewState;
|
|
504
498
|
cashPositionState: CashPositionState;
|
|
505
499
|
chargeCardConfigState: ChargeCardConfigState;
|
|
506
500
|
chargeCardDetailState: ChargeCardDetailState;
|
package/lib/reducer.js
CHANGED
|
@@ -201,8 +201,6 @@ const internationalWireVerificationReducer_1 = __importStar(require("./view/spen
|
|
|
201
201
|
const magicLinkViewReducer_1 = __importStar(require("./view/spendManagement/billPay/magicLinkView/magicLinkViewReducer"));
|
|
202
202
|
const previousBillsReducer_1 = __importStar(require("./view/spendManagement/billPay/previousBills/previousBillsReducer"));
|
|
203
203
|
const wiseRedirectReducer_1 = __importStar(require("./view/spendManagement/billPay/wiseRedirectView/wiseRedirectReducer"));
|
|
204
|
-
const autoSweepFlowReducer_1 = __importStar(require("./view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer"));
|
|
205
|
-
const cashManagementOverviewReducer_1 = __importStar(require("./view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer"));
|
|
206
204
|
const cardUserOnboardingReducer_1 = __importStar(require("./view/spendManagement/chargeCards/cardUserOnboarding/cardUserOnboardingReducer"));
|
|
207
205
|
const cashbackDetailReducer_1 = __importStar(require("./view/spendManagement/chargeCards/cashbackDetail/cashbackDetailReducer"));
|
|
208
206
|
const chargeCardConfigReducer_1 = __importStar(require("./view/spendManagement/chargeCards/chargeCardConfig/chargeCardConfigReducer"));
|
|
@@ -355,7 +353,6 @@ const initialViewsState = {
|
|
|
355
353
|
arAgingState: arAgingReducer_1.initialState,
|
|
356
354
|
auditReportViewState: auditReportViewReducer_1.initialState,
|
|
357
355
|
authenticationViewState: authenticationViewReducer_1.initialState,
|
|
358
|
-
autoSweepFlowState: autoSweepFlowReducer_1.initialState,
|
|
359
356
|
autotransferRulesState: autoTransferRulesReducer_1.initialState,
|
|
360
357
|
balanceSheetState: balanceSheetReducer_1.initialState,
|
|
361
358
|
bankAccountViewState: bankAccountViewReducer_1.initialState,
|
|
@@ -376,7 +373,6 @@ const initialViewsState = {
|
|
|
376
373
|
cashBalanceState: cashBalanceReducer_1.initialState,
|
|
377
374
|
cashFlowState: cashFlowReducer_1.initialState,
|
|
378
375
|
cashInCashOutState: cashInCashOutReducer_1.initialState,
|
|
379
|
-
cashManagementOverviewState: cashManagementOverviewReducer_1.initialState,
|
|
380
376
|
cashPositionState: cashPositionReducer_1.initialState,
|
|
381
377
|
chargeCardConfigState: chargeCardConfigReducer_1.initialState,
|
|
382
378
|
chargeCardDetailState: chargeCardDetailReducer_1.initialState,
|
|
@@ -598,7 +594,6 @@ const viewReducers = {
|
|
|
598
594
|
arAgingState: arAgingReducer_1.default,
|
|
599
595
|
auditReportViewState: auditReportViewReducer_1.default,
|
|
600
596
|
authenticationViewState: authenticationViewReducer_1.default,
|
|
601
|
-
autoSweepFlowState: autoSweepFlowReducer_1.default,
|
|
602
597
|
autotransferRulesState: autoTransferRulesReducer_1.default,
|
|
603
598
|
balanceSheetState: balanceSheetReducer_1.default,
|
|
604
599
|
bankAccountViewState: bankAccountViewReducer_1.default,
|
|
@@ -618,7 +613,6 @@ const viewReducers = {
|
|
|
618
613
|
cashBalanceState: cashBalanceReducer_1.default,
|
|
619
614
|
cashFlowState: cashFlowReducer_1.default,
|
|
620
615
|
cashInCashOutState: cashInCashOutReducer_1.default,
|
|
621
|
-
cashManagementOverviewState: cashManagementOverviewReducer_1.default,
|
|
622
616
|
cashPositionState: cashPositionReducer_1.default,
|
|
623
617
|
chargeCardConfigState: chargeCardConfigReducer_1.default,
|
|
624
618
|
chargeCardDetailState: chargeCardDetailReducer_1.default,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
2
2
|
import { RootState } from '../../../../reducer';
|
|
3
|
+
import { cancelEntityRecommendationsForLineUpdate } from '../../../recommendation/recommendationReducer';
|
|
3
4
|
import { initializeTransactionCategorizationViewLocalData, saveTransactionCategorizationLocalData } from '../../reducers/transactionsViewReducer';
|
|
4
|
-
export type ActionType = ReturnType<typeof initializeTransactionCategorizationViewLocalData> | ReturnType<typeof saveTransactionCategorizationLocalData>;
|
|
5
|
+
export type ActionType = ReturnType<typeof initializeTransactionCategorizationViewLocalData> | ReturnType<typeof saveTransactionCategorizationLocalData> | ReturnType<typeof cancelEntityRecommendationsForLineUpdate>;
|
|
5
6
|
export declare const initializeTransactionCategorizationViewLocalDataEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>) => import("rxjs").Observable<ActionType>;
|
|
@@ -6,6 +6,7 @@ const operators_1 = require("rxjs/operators");
|
|
|
6
6
|
const transactionHelper_1 = require("../../../../entity/transaction/transactionHelper");
|
|
7
7
|
const transactionSelector_1 = require("../../../../entity/transaction/transactionSelector");
|
|
8
8
|
const accountListSelector_1 = require("../../../accountList/accountListSelector");
|
|
9
|
+
const recommendationReducer_1 = require("../../../recommendation/recommendationReducer");
|
|
9
10
|
const transactionCategorizationLocalDataHelper_1 = require("../../helpers/transactionCategorizationLocalDataHelper");
|
|
10
11
|
const transactionsViewReducer_1 = require("../../reducers/transactionsViewReducer");
|
|
11
12
|
const transactionsViewState_1 = require("../../types/transactionsViewState");
|
|
@@ -54,6 +55,20 @@ const initializeTransactionCategorizationViewLocalDataEpic = (actions$, state$)
|
|
|
54
55
|
};
|
|
55
56
|
}
|
|
56
57
|
});
|
|
58
|
+
// Cancel any in-flight line-update recommendations fetch for the
|
|
59
|
+
// transactions whose local data is about to be wiped. Only runs
|
|
60
|
+
// for the destructive `keepExistingListItems === false` branch
|
|
61
|
+
// (list-page Cancel footer, modal confirm-reset, and the silent
|
|
62
|
+
// `backgroundRefetchReviewTab` path); the merge branch keeps
|
|
63
|
+
// existing per-line state intact and races no fetches.
|
|
64
|
+
if (keepExistingListItems === false) {
|
|
65
|
+
transactions.forEach((transaction) => {
|
|
66
|
+
fetchActions.push((0, recommendationReducer_1.cancelEntityRecommendationsForLineUpdate)({
|
|
67
|
+
id: transaction.id,
|
|
68
|
+
type: transaction.type,
|
|
69
|
+
}));
|
|
70
|
+
});
|
|
71
|
+
}
|
|
57
72
|
fetchActions.push((0, transactionsViewReducer_1.saveTransactionCategorizationLocalData)({
|
|
58
73
|
selectedTab,
|
|
59
74
|
transactionIds,
|
|
@@ -10,6 +10,7 @@ const get_1 = __importDefault(require("lodash/get"));
|
|
|
10
10
|
const uniq_1 = __importDefault(require("lodash/uniq"));
|
|
11
11
|
const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
|
|
12
12
|
const vendorTransaction_1 = require("../../../entity/transaction/stateTypes/vendorTransaction");
|
|
13
|
+
const recommendationStaleResponseHelper_1 = require("../../recommendation/recommendationStaleResponseHelper");
|
|
13
14
|
const transactionCategorizationLocalDataHelper_1 = require("../helpers/transactionCategorizationLocalDataHelper");
|
|
14
15
|
const completedSubTab_1 = require("../types/completedSubTab");
|
|
15
16
|
const transactionsViewState_1 = require("../types/transactionsViewState");
|
|
@@ -523,11 +524,66 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
|
|
|
523
524
|
const transactionLocalData = (0, get_1.default)(draft.transactionCategorizationView[selectedTab]
|
|
524
525
|
.transactionReviewLocalDataById, transactionId.id, undefined);
|
|
525
526
|
if (transactionLocalData != null) {
|
|
526
|
-
|
|
527
|
+
// Stale-response guard. Filter `lineIds` down to lines whose
|
|
528
|
+
// currently selected entity still matches the payload
|
|
529
|
+
// entity, so a response that lands after the user (or the
|
|
530
|
+
// silent backgroundRefetchReviewTab path) wiped local data
|
|
531
|
+
// can't overwrite the restored state. Lines that fail the
|
|
532
|
+
// guard are still released to Completed below so their
|
|
533
|
+
// inline skeletons resolve. Complements the epic-level
|
|
534
|
+
// `takeUntil`.
|
|
535
|
+
//
|
|
536
|
+
// List flow: ONLY vendor uses page-level `selectedEntity`;
|
|
537
|
+
// customer + JE + deposit all use per-line
|
|
538
|
+
// `selectedEntityLine`. This differs from the detail flow
|
|
539
|
+
// (where customer is page-level too) and matches the
|
|
540
|
+
// dichotomy in `setEntityRecommendationForLineIdInLocalData`.
|
|
541
|
+
const usesPageLevelEntity = (0, vendorTransaction_1.isVendorTransaction)(transaction);
|
|
542
|
+
const matchedLineIds = (0, recommendationStaleResponseHelper_1.getLineIdsWhereEntityStillMatches)({
|
|
543
|
+
lineIds,
|
|
544
|
+
payloadEntity: entity,
|
|
545
|
+
getCurrentEntityForLine: (lineId) => usesPageLevelEntity
|
|
546
|
+
? transactionLocalData.transactionReviewLocalData.selectedEntity
|
|
547
|
+
: transactionLocalData.transactionReviewLocalData.lineItemById[lineId]?.selectedEntityLine,
|
|
548
|
+
});
|
|
549
|
+
// When every line failed the guard, skip the helper entirely.
|
|
550
|
+
// The list-flow helper's `else` branch writes
|
|
551
|
+
// recommendations + account/class onto vendor-txn lines even
|
|
552
|
+
// when they're not in `recommendationLineIds` (so callers
|
|
553
|
+
// can fold full-transaction recs into untouched lines), and
|
|
554
|
+
// we don't want any of those writes when the whole response
|
|
555
|
+
// is stale. We still flip the per-line fetch flag so
|
|
556
|
+
// skeletons resolve.
|
|
557
|
+
if (matchedLineIds.length === 0) {
|
|
558
|
+
const existingLocalData = transactionLocalData.transactionReviewLocalData;
|
|
559
|
+
const releasedLineItems = { ...existingLocalData.lineItemById };
|
|
560
|
+
lineIds.forEach((lineId) => {
|
|
561
|
+
const lineItem = releasedLineItems[lineId];
|
|
562
|
+
if (lineItem != null) {
|
|
563
|
+
releasedLineItems[lineId] = {
|
|
564
|
+
...lineItem,
|
|
565
|
+
categoryClassRecommendationsFetchState: {
|
|
566
|
+
fetchState: 'Completed',
|
|
567
|
+
error: undefined,
|
|
568
|
+
},
|
|
569
|
+
};
|
|
570
|
+
}
|
|
571
|
+
});
|
|
572
|
+
draft.transactionCategorizationView[selectedTab].transactionReviewLocalDataById[transaction.id] = {
|
|
573
|
+
transactionId: transaction.id,
|
|
574
|
+
transactionReviewLocalData: {
|
|
575
|
+
...existingLocalData,
|
|
576
|
+
lineItemById: releasedLineItems,
|
|
577
|
+
},
|
|
578
|
+
};
|
|
579
|
+
return;
|
|
580
|
+
}
|
|
581
|
+
const newLocalData = (0, transactionCategorizationLocalDataHelper_1.setEntityRecommendationForLineIdInLocalData)(draft.transactionCategorizationView[selectedTab], transaction, transactionLocalData.transactionReviewLocalData, entity, matchedLineIds, uncategorizedAccounts, action.payload.recommendationWithCOTByLineId, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled);
|
|
527
582
|
// Release the per-line fetch flag for every line this fetch
|
|
528
|
-
// covered
|
|
529
|
-
//
|
|
530
|
-
//
|
|
583
|
+
// covered (matched AND unmatched) so the inline skeleton
|
|
584
|
+
// resolves on stale lines too. Done in-place on the freshly
|
|
585
|
+
// returned local data (the helper produces a new mutable
|
|
586
|
+
// object), before we write it back to the draft.
|
|
531
587
|
lineIds.forEach((lineId) => {
|
|
532
588
|
const lineItem = newLocalData.lineItemById[lineId];
|
|
533
589
|
if (lineItem != null) {
|
|
@@ -544,7 +600,9 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
|
|
|
544
600
|
transactionId: transaction.id,
|
|
545
601
|
transactionReviewLocalData: newLocalData,
|
|
546
602
|
};
|
|
547
|
-
// Mark transaction as dirty (autofill happened)
|
|
603
|
+
// Mark transaction as dirty (autofill happened). We only
|
|
604
|
+
// reach this point with at least one matched line, so
|
|
605
|
+
// recommendations were applied.
|
|
548
606
|
if (!draft.transactionCategorizationView[selectedTab].transactionIdsWithUnsavedData.includes(transaction.id)) {
|
|
549
607
|
draft.transactionCategorizationView[selectedTab].transactionIdsWithUnsavedData = [
|
|
550
608
|
...draft.transactionCategorizationView[selectedTab]
|
|
@@ -4,6 +4,6 @@ import { RootState } from '../../reducer';
|
|
|
4
4
|
import { ZeniAPI } from '../../zeniAPI';
|
|
5
5
|
import { markCategoryClassRecommendationsCompletedForCategorization, markCategoryClassRecommendationsFailureForCategorization, markCategoryClassRecommendationsInProgressForCategorization, setEntityRecommendationForLineIdsForCategorization } from '../expenseAutomationView/reducers/transactionsViewReducer';
|
|
6
6
|
import { markCategoryClassRecommendationsCompletedForTransactionDetail, markCategoryClassRecommendationsFailureForTransactionDetail, markCategoryClassRecommendationsInProgressForTransactionDetail, setEntityRecommendationForLineIdsForTransactionDetail } from '../transactionDetail/transactionDetailReducer';
|
|
7
|
-
import { fetchEntityRecommendationsForLineUpdate } from './recommendationReducer';
|
|
8
|
-
export type ActionType = ReturnType<typeof fetchEntityRecommendationsForLineUpdate> | ReturnType<typeof markCategoryClassRecommendationsInProgressForCategorization> | ReturnType<typeof markCategoryClassRecommendationsCompletedForCategorization> | ReturnType<typeof markCategoryClassRecommendationsFailureForCategorization> | ReturnType<typeof markCategoryClassRecommendationsInProgressForTransactionDetail> | ReturnType<typeof markCategoryClassRecommendationsCompletedForTransactionDetail> | ReturnType<typeof markCategoryClassRecommendationsFailureForTransactionDetail> | ReturnType<typeof setEntityRecommendationForLineIdsForCategorization> | ReturnType<typeof setEntityRecommendationForLineIdsForTransactionDetail>;
|
|
7
|
+
import { cancelEntityRecommendationsForLineUpdate, fetchEntityRecommendationsForLineUpdate } from './recommendationReducer';
|
|
8
|
+
export type ActionType = ReturnType<typeof fetchEntityRecommendationsForLineUpdate> | ReturnType<typeof cancelEntityRecommendationsForLineUpdate> | ReturnType<typeof markCategoryClassRecommendationsInProgressForCategorization> | ReturnType<typeof markCategoryClassRecommendationsCompletedForCategorization> | ReturnType<typeof markCategoryClassRecommendationsFailureForCategorization> | ReturnType<typeof markCategoryClassRecommendationsInProgressForTransactionDetail> | ReturnType<typeof markCategoryClassRecommendationsCompletedForTransactionDetail> | ReturnType<typeof markCategoryClassRecommendationsFailureForTransactionDetail> | ReturnType<typeof setEntityRecommendationForLineIdsForCategorization> | ReturnType<typeof setEntityRecommendationForLineIdsForTransactionDetail>;
|
|
9
9
|
export declare const fetchEntityRecommendationsForLineUpdateEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
|
@@ -86,6 +86,15 @@ const fetchEntityRecommendationsForLineUpdateEpic = (actions$, state$, zeniAPI)
|
|
|
86
86
|
? (0, transactionsViewReducer_1.markCategoryClassRecommendationsFailureForCategorization)(payload.selectedTab, transactionId, lineIds, status)
|
|
87
87
|
: (0, transactionDetailReducer_1.markCategoryClassRecommendationsFailureForTransactionDetail)(transactionId, lineIds, status));
|
|
88
88
|
}));
|
|
89
|
-
|
|
89
|
+
// takeUntil kills the in-flight HTTP and suppresses every
|
|
90
|
+
// downstream success/failure/markCompleted emission once a
|
|
91
|
+
// cancel action lands for the same transactionId. groupBy +
|
|
92
|
+
// switchMap already handle re-fetch-on-same-target; takeUntil
|
|
93
|
+
// covers the user-initiated Cancel (detail footer + list
|
|
94
|
+
// footer) and the silent backgroundRefetchReviewTab path,
|
|
95
|
+
// which both wipe local data without dispatching another
|
|
96
|
+
// fetch on the same target.
|
|
97
|
+
const cancel$ = actions$.pipe((0, operators_1.filter)(recommendationReducer_1.cancelEntityRecommendationsForLineUpdate.match), (0, operators_1.filter)((a) => a.payload.transactionId.id === transactionId.id));
|
|
98
|
+
return (0, rxjs_1.concat)((0, rxjs_1.of)(startAction), httpStream$.pipe((0, operators_1.takeUntil)(cancel$)));
|
|
90
99
|
}))));
|
|
91
100
|
exports.fetchEntityRecommendationsForLineUpdateEpic = fetchEntityRecommendationsForLineUpdateEpic;
|
|
@@ -41,7 +41,9 @@ export declare const fetchEntityRecommendationsByTransactionId: import("@reduxjs
|
|
|
41
41
|
isTransactionCategorizationFlow: any;
|
|
42
42
|
isFetchCOT: any;
|
|
43
43
|
isUncategorizedExpenseCategoryEnabled: boolean | undefined;
|
|
44
|
-
}, "recommendation/fetchEntityRecommendationsByTransactionId", never, never>, fetchEntityRecommendationsForLineUpdate: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[args: FetchEntityRecommendationsForLineUpdatePayload], FetchEntityRecommendationsForLineUpdatePayload, "recommendation/fetchEntityRecommendationsForLineUpdate", never, never>,
|
|
44
|
+
}, "recommendation/fetchEntityRecommendationsByTransactionId", never, never>, fetchEntityRecommendationsForLineUpdate: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[args: FetchEntityRecommendationsForLineUpdatePayload], FetchEntityRecommendationsForLineUpdatePayload, "recommendation/fetchEntityRecommendationsForLineUpdate", never, never>, cancelEntityRecommendationsForLineUpdate: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID], {
|
|
45
|
+
transactionId: TransactionID;
|
|
46
|
+
}, "recommendation/cancelEntityRecommendationsForLineUpdate", never, never>, fetchRecommendationByEntityName: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[entityName: string, entityType: EntityType], {
|
|
45
47
|
entityName: string;
|
|
46
48
|
entityType: EntityType;
|
|
47
49
|
}, "recommendation/fetchRecommendationByEntityName", never, never>, fetchRecommendationByEntityId: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[entityId: string, entityType: EntityType], {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.clearRecommendation = exports.indicateReadyToInitializeRecommendation = exports.updateRecommendationForEntityFailure = exports.updateRecommendationForEntity = exports.fetchRecommendationByEntityId = exports.fetchRecommendationByEntityName = exports.fetchEntityRecommendationsForLineUpdate = exports.fetchEntityRecommendationsByTransactionId = exports.initialState = void 0;
|
|
4
|
+
exports.clearRecommendation = exports.indicateReadyToInitializeRecommendation = exports.updateRecommendationForEntityFailure = exports.updateRecommendationForEntity = exports.fetchRecommendationByEntityId = exports.fetchRecommendationByEntityName = exports.cancelEntityRecommendationsForLineUpdate = exports.fetchEntityRecommendationsForLineUpdate = exports.fetchEntityRecommendationsByTransactionId = exports.initialState = void 0;
|
|
5
5
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
6
6
|
const recommendationState_1 = require("./recommendationState");
|
|
7
7
|
exports.initialState = {
|
|
@@ -62,6 +62,23 @@ const recommendation = (0, toolkit_1.createSlice)({
|
|
|
62
62
|
return { payload: args };
|
|
63
63
|
},
|
|
64
64
|
},
|
|
65
|
+
// No-op reducer; the action exists purely so the line-update epic
|
|
66
|
+
// can observe it via `takeUntil` and kill an in-flight HTTP request
|
|
67
|
+
// when the user (or a background refresh) wipes local data before
|
|
68
|
+
// the response lands. Without this, a stale response races the reset
|
|
69
|
+
// and overwrites the user's intent. Cancel is keyed by
|
|
70
|
+
// `transactionId` only: per-page Cancel buttons cancel everything
|
|
71
|
+
// under that transaction (including JE sibling line sets), which
|
|
72
|
+
// matches the UI semantics on both detail and categorization pages.
|
|
73
|
+
cancelEntityRecommendationsForLineUpdate: {
|
|
74
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
75
|
+
reducer(_draft, _action) {
|
|
76
|
+
// intentionally empty
|
|
77
|
+
},
|
|
78
|
+
prepare(transactionId) {
|
|
79
|
+
return { payload: { transactionId } };
|
|
80
|
+
},
|
|
81
|
+
},
|
|
65
82
|
fetchRecommendationByEntityName: {
|
|
66
83
|
reducer(draft, action) {
|
|
67
84
|
const { entityName, entityType } = action.payload;
|
|
@@ -140,7 +157,7 @@ const recommendation = (0, toolkit_1.createSlice)({
|
|
|
140
157
|
},
|
|
141
158
|
},
|
|
142
159
|
});
|
|
143
|
-
_a = recommendation.actions, exports.fetchEntityRecommendationsByTransactionId = _a.fetchEntityRecommendationsByTransactionId, exports.fetchEntityRecommendationsForLineUpdate = _a.fetchEntityRecommendationsForLineUpdate, exports.fetchRecommendationByEntityName = _a.fetchRecommendationByEntityName, exports.fetchRecommendationByEntityId = _a.fetchRecommendationByEntityId, exports.updateRecommendationForEntity = _a.updateRecommendationForEntity, exports.updateRecommendationForEntityFailure = _a.updateRecommendationForEntityFailure, exports.indicateReadyToInitializeRecommendation = _a.indicateReadyToInitializeRecommendation, exports.clearRecommendation = _a.clearRecommendation;
|
|
160
|
+
_a = recommendation.actions, exports.fetchEntityRecommendationsByTransactionId = _a.fetchEntityRecommendationsByTransactionId, exports.fetchEntityRecommendationsForLineUpdate = _a.fetchEntityRecommendationsForLineUpdate, exports.cancelEntityRecommendationsForLineUpdate = _a.cancelEntityRecommendationsForLineUpdate, exports.fetchRecommendationByEntityName = _a.fetchRecommendationByEntityName, exports.fetchRecommendationByEntityId = _a.fetchRecommendationByEntityId, exports.updateRecommendationForEntity = _a.updateRecommendationForEntity, exports.updateRecommendationForEntityFailure = _a.updateRecommendationForEntityFailure, exports.indicateReadyToInitializeRecommendation = _a.indicateReadyToInitializeRecommendation, exports.clearRecommendation = _a.clearRecommendation;
|
|
144
161
|
exports.default = recommendation.reducer;
|
|
145
162
|
const doUpdateRecommendationForEntity = (draft, entityId, entityType, payload) => {
|
|
146
163
|
const key = (0, recommendationState_1.getEntityRecommendationKey)(entityType, entityId);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ID } from '../../commonStateTypes/common';
|
|
2
|
+
import { Entity } from '../../entity/genericEntity/entity';
|
|
3
|
+
export declare const getLineIdsWhereEntityStillMatches: (args: {
|
|
4
|
+
lineIds: ID[];
|
|
5
|
+
payloadEntity: Entity;
|
|
6
|
+
getCurrentEntityForLine: (lineId: ID) => Entity | undefined;
|
|
7
|
+
}) => ID[];
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getLineIdsWhereEntityStillMatches = void 0;
|
|
4
|
+
// Two entities refer to the same real-world thing iff they share both
|
|
5
|
+
// type and id. We deliberately compare on these fields only — qboId /
|
|
6
|
+
// zeniId can lag during entity-create flows where the persisted id
|
|
7
|
+
// hasn't been roundtripped yet, while `id` is the local-source-of-truth
|
|
8
|
+
// the line carries.
|
|
9
|
+
const entitiesMatch = (a, b) => a != null && b != null && a.type === b.type && a.id === b.id;
|
|
10
|
+
// Filters `lineIds` down to those whose currently selected entity (as
|
|
11
|
+
// reported by the caller) still matches the payload entity at the
|
|
12
|
+
// moment the success reducer fires. Used by the two
|
|
13
|
+
// `setEntityRecommendationForLineIds…` reducers as a defensive guard
|
|
14
|
+
// against stale responses landing after the user (or a background
|
|
15
|
+
// refresh) has changed or wiped their selection.
|
|
16
|
+
//
|
|
17
|
+
// Each flow decides separately where the "current entity" lives,
|
|
18
|
+
// because the rules diverge:
|
|
19
|
+
// - Detail flow: vendor + customer transactions read from page-level
|
|
20
|
+
// `selectedEntity`; JE / deposit reads per-line `lineEntity`.
|
|
21
|
+
// - List flow: ONLY vendor reads from page-level `selectedEntity`;
|
|
22
|
+
// customer, JE, deposit all read per-line `selectedEntityLine`.
|
|
23
|
+
// Pushing the lookup into the caller keeps this helper a pure
|
|
24
|
+
// comparator and avoids the helper having to know which flow / page-
|
|
25
|
+
// level rule applies.
|
|
26
|
+
const getLineIdsWhereEntityStillMatches = (args) => {
|
|
27
|
+
const { lineIds, payloadEntity, getCurrentEntityForLine } = args;
|
|
28
|
+
return lineIds.filter((lineId) => entitiesMatch(payloadEntity, getCurrentEntityForLine(lineId)));
|
|
29
|
+
};
|
|
30
|
+
exports.getLineIdsWhereEntityStillMatches = getLineIdsWhereEntityStillMatches;
|
|
@@ -6,7 +6,7 @@ import { FundingAccount } from '../commonSetup/setupViewSelector';
|
|
|
6
6
|
import { TreasuryAccount } from '../treasury/treasuryTransferMoney/treasuryTransferMoneyState';
|
|
7
7
|
import { ReviewTransferDetail } from '../zeniAccounts/transferDetail/transferDetailState';
|
|
8
8
|
import { AutoTransferRuleLocalData } from './autoTransferRulesPayload';
|
|
9
|
-
import { AutoTransferRule
|
|
9
|
+
import { AutoTransferRule } from './autoTransferRulesState';
|
|
10
10
|
export interface AutoTransferRulesSelectorView extends SelectorView {
|
|
11
11
|
autoTransferReviewDetail: ReviewTransferDetail;
|
|
12
12
|
createRuleFetchState: FetchStateAndError;
|
|
@@ -17,13 +17,6 @@ export interface AutoTransferRulesSelectorView extends SelectorView {
|
|
|
17
17
|
transferMoneyParties: FundingAccount[];
|
|
18
18
|
transferMoneyPartiesFetchState: FetchState;
|
|
19
19
|
treasuryAccount: TreasuryAccount;
|
|
20
|
-
/**
|
|
21
|
-
* The user's saved auto-sweep cash-management config, surfaced here so the
|
|
22
|
-
* rules list page can render it alongside the auto-transfer rules.
|
|
23
|
-
* `undefined` when the user hasn't saved auto-sweep settings yet
|
|
24
|
-
* (i.e. `autoSweepFlowState.settingsId == null`).
|
|
25
|
-
*/
|
|
26
|
-
cashManagementRule?: CashManagementRule;
|
|
27
20
|
ruleHistory?: Record<string, CommonHistoryView>;
|
|
28
21
|
}
|
|
29
22
|
export declare const getAutoTransferRules: (state: RootState) => AutoTransferRulesSelectorView;
|
|
@@ -6,30 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getAutoTransferRuleHistory = exports.getAutoTransferRuleById = exports.getAutoTransferRules = void 0;
|
|
7
7
|
const get_1 = __importDefault(require("lodash/get"));
|
|
8
8
|
const reduceFetchState_1 = require("../../../commonStateTypes/reduceFetchState");
|
|
9
|
-
const depositAccountSelector_1 = require("../../../entity/depositAccount/depositAccountSelector");
|
|
10
9
|
const setupViewSelector_1 = require("../commonSetup/setupViewSelector");
|
|
11
10
|
const depositAccountListSelector_1 = require("../zeniAccounts/depositAccountList/depositAccountListSelector");
|
|
12
11
|
const paymentAccountListSelector_1 = require("../zeniAccounts/paymentAccountList/paymentAccountListSelector");
|
|
13
|
-
const buildCashManagementRule = (autoSweepFlowState, depositAccountState, treasuryDetailState) => {
|
|
14
|
-
const { settingsId, bufferAmount, frequency, memo, primaryFundingAccountId, nextTransferDate } = autoSweepFlowState;
|
|
15
|
-
if (settingsId == null || primaryFundingAccountId == null) {
|
|
16
|
-
return undefined;
|
|
17
|
-
}
|
|
18
|
-
const depositAccount = (0, depositAccountSelector_1.getDepositAccountByDepositAccountId)(depositAccountState, primaryFundingAccountId);
|
|
19
|
-
return {
|
|
20
|
-
bufferAmount,
|
|
21
|
-
frequency,
|
|
22
|
-
memo,
|
|
23
|
-
settingsId,
|
|
24
|
-
primaryFundingAccount: depositAccount != null
|
|
25
|
-
? (0, setupViewSelector_1.mapDepositAccToFundingAccount)(depositAccount)
|
|
26
|
-
: undefined,
|
|
27
|
-
treasurySummary: treasuryDetailState.accountSummary,
|
|
28
|
-
nextTransferDate,
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
12
|
const getAutoTransferRules = (state) => {
|
|
32
|
-
const { autotransferRulesState,
|
|
13
|
+
const { autotransferRulesState, depositAccountState, paymentAccountState, depositAccountListState, paymentAccountListState, treasuryDetailState, } = state;
|
|
33
14
|
const { rules, error, historyByRuleId, ruleUpdateLocalData, ruleUpdateStatusById, ruleDeleteStatusById, createRuleFetchState, autoTransferReviewDetail, } = autotransferRulesState;
|
|
34
15
|
const depositAccountsView = (0, depositAccountListSelector_1.getAllDepositAccounts)(depositAccountState, depositAccountListState);
|
|
35
16
|
const paymentAccountsView = (0, paymentAccountListSelector_1.getAllPaymentAccounts)(paymentAccountState, paymentAccountListState);
|
|
@@ -64,7 +45,6 @@ const getAutoTransferRules = (state) => {
|
|
|
64
45
|
transferMoneyParties,
|
|
65
46
|
transferMoneyPartiesFetchState,
|
|
66
47
|
createRuleFetchState,
|
|
67
|
-
cashManagementRule: buildCashManagementRule(autoSweepFlowState, depositAccountState, treasuryDetailState),
|
|
68
48
|
fetchState,
|
|
69
49
|
error,
|
|
70
50
|
version: 0,
|