@zeniai/client-epic-state 4.20.3-betaRD21 → 4.20.3-betaRD3
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/commonPayloadTypes/subAccountView/reportBySubAccountPayload.d.ts +2 -0
- package/lib/commonStateTypes/coaBalance/coaBalancesFilterProjectView.d.ts +13 -0
- package/lib/commonStateTypes/coaBalance/coaBalancesFilterProjectView.js +9 -0
- package/lib/commonStateTypes/common.d.ts +1 -1
- package/lib/commonStateTypes/projectView/projectViewParentID.d.ts +5 -0
- package/lib/commonStateTypes/projectView/projectViewParentID.js +2 -0
- package/lib/commonStateTypes/viewAndReport/reportIDHelper.d.ts +1 -0
- package/lib/commonStateTypes/viewAndReport/reportIDHelper.js +3 -1
- package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
- package/lib/commonStateTypes/viewAndReport/viewAndReport.js +1 -1
- package/lib/entity/account/accountPayload.d.ts +0 -2
- package/lib/entity/account/accountReducer.d.ts +2 -5
- package/lib/entity/account/accountReducer.js +7 -10
- package/lib/entity/account/accountSelector.d.ts +7 -0
- package/lib/entity/account/accountSelector.js +4 -2
- package/lib/entity/account/accountState.d.ts +3 -1
- package/lib/entity/account/accountState.js +4 -1
- package/lib/entity/account/pickAndMergeForecastAccountReport.d.ts +1 -0
- package/lib/entity/account/subAccountSelector.d.ts +2 -0
- package/lib/entity/account/subAccountSelector.js +2 -0
- package/lib/entity/accountGroup/accountGroupSelector.d.ts +22 -0
- package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
- package/lib/entity/billPay/billTransaction/billTransactionState.d.ts +2 -2
- package/lib/entity/chargeCard/chargeCard.d.ts +1 -1
- package/lib/entity/class/classReducer.d.ts +4 -4
- package/lib/entity/class/classState.d.ts +1 -1
- package/lib/entity/depositAccountTransaction/depositAccountTransaction.d.ts +1 -1
- package/lib/entity/entityApprovalStatus/entityApprovalStatusState.d.ts +2 -2
- package/lib/entity/forecast/forecastState.d.ts +1 -1
- package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +1 -1
- package/lib/entity/project/projectPayload.d.ts +13 -0
- package/lib/entity/project/projectPayload.js +30 -0
- package/lib/entity/project/projectReducer.d.ts +10 -0
- package/lib/entity/project/projectReducer.js +31 -0
- package/lib/entity/project/projectSelector.d.ts +5 -0
- package/lib/entity/project/projectSelector.js +12 -0
- package/lib/entity/project/projectState.d.ts +13 -0
- package/lib/entity/project/projectState.js +2 -0
- package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
- package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
- package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
- package/lib/entity/sectionProjectView/sectionProjectView.d.ts +10 -0
- package/lib/entity/sectionProjectView/sectionProjectView.js +6 -0
- package/lib/entity/sectionProjectView/sectionProjectViewEpic.d.ts +6 -0
- package/lib/entity/sectionProjectView/sectionProjectViewEpic.js +56 -0
- package/lib/entity/sectionProjectView/sectionProjectViewHelper.d.ts +9 -0
- package/lib/entity/sectionProjectView/sectionProjectViewHelper.js +13 -0
- package/lib/entity/sectionProjectView/sectionProjectViewReducer.d.ts +15 -0
- package/lib/entity/sectionProjectView/sectionProjectViewReducer.js +50 -0
- package/lib/entity/sectionProjectView/sectionProjectViewSelector.d.ts +11 -0
- package/lib/entity/sectionProjectView/sectionProjectViewSelector.js +103 -0
- package/lib/entity/sectionProjectView/sectionProjectViewSelectorTypes.d.ts +16 -0
- package/lib/entity/sectionProjectView/sectionProjectViewSelectorTypes.js +2 -0
- package/lib/entity/sectionProjectView/sectionProjectViewState.d.ts +4 -0
- package/lib/entity/sectionProjectView/sectionProjectViewState.js +2 -0
- package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
- package/lib/entity/tenant/clearAllEpic.d.ts +5 -4
- package/lib/entity/tenant/clearAllEpic.js +6 -4
- package/lib/entity/tenant/tenantPayload.d.ts +1 -0
- package/lib/entity/tenant/tenantReducer.js +1 -0
- package/lib/entity/tenant/tenantSelector.d.ts +1 -0
- package/lib/entity/tenant/tenantSelector.js +9 -1
- package/lib/entity/tenant/tenantState.d.ts +1 -0
- package/lib/entity/transaction/payloadTypes/transactionPayload.js +0 -1
- package/lib/entity/userRole/userRoleType.d.ts +2 -2
- package/lib/epic.d.ts +4 -3
- package/lib/epic.js +4 -3
- package/lib/esm/commonStateTypes/coaBalance/coaBalancesFilterProjectView.js +5 -0
- package/lib/esm/commonStateTypes/projectView/projectViewParentID.js +1 -0
- package/lib/esm/commonStateTypes/viewAndReport/reportIDHelper.js +1 -0
- package/lib/esm/commonStateTypes/viewAndReport/viewAndReport.js +1 -1
- package/lib/esm/entity/account/accountReducer.js +6 -9
- package/lib/esm/entity/account/accountSelector.js +4 -2
- package/lib/esm/entity/account/accountState.js +4 -1
- package/lib/esm/entity/account/subAccountSelector.js +2 -0
- package/lib/esm/entity/project/projectPayload.js +26 -0
- package/lib/esm/entity/project/projectReducer.js +27 -0
- package/lib/esm/entity/project/projectSelector.js +8 -0
- package/lib/esm/entity/project/projectState.js +1 -0
- package/lib/esm/entity/sectionProjectView/sectionProjectView.js +3 -0
- package/lib/esm/entity/sectionProjectView/sectionProjectViewEpic.js +52 -0
- package/lib/esm/entity/sectionProjectView/sectionProjectViewHelper.js +9 -0
- package/lib/esm/entity/sectionProjectView/sectionProjectViewReducer.js +46 -0
- package/lib/esm/entity/sectionProjectView/sectionProjectViewSelector.js +96 -0
- package/lib/esm/entity/sectionProjectView/sectionProjectViewSelectorTypes.js +1 -0
- package/lib/esm/entity/sectionProjectView/sectionProjectViewState.js +1 -0
- package/lib/esm/entity/tenant/clearAllEpic.js +6 -4
- package/lib/esm/entity/tenant/tenantReducer.js +1 -0
- package/lib/esm/entity/tenant/tenantSelector.js +7 -0
- package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +0 -1
- package/lib/esm/epic.js +4 -3
- package/lib/esm/index.js +11 -15
- package/lib/esm/reducer.js +9 -6
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +9 -4
- package/lib/esm/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +1 -5
- package/lib/esm/view/expenseAutomationView/reducers/reconciliationViewReducer.js +3 -163
- package/lib/esm/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.js +2 -1
- package/lib/esm/view/expenseAutomationView/selectors/reconciliationViewSelector.js +0 -112
- package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +6 -10
- package/lib/esm/view/expenseAutomationView/types/jeSchedulesViewState.js +0 -6
- package/lib/esm/view/financeStatement/financeStatementSelector.js +12 -1
- package/lib/esm/view/profitAndLossClassesView/profitAndLossClassesByClassHorizontalSelector.js +2 -4
- package/lib/esm/view/profitAndLossProjectView/profitAndLossForTimeframeProjectViewEpic.js +45 -0
- package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewEpic.js +30 -0
- package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewPayload.js +1 -0
- package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewReducer.js +113 -0
- package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewSelector.js +66 -0
- package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewSelectorTypes.js +1 -0
- package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewState.js +1 -0
- package/lib/esm/view/reportsResync/reportsClassViewRefetchingEpic.js +4 -0
- package/lib/index.d.ts +14 -16
- package/lib/index.js +45 -65
- package/lib/reducer.d.ts +9 -6
- package/lib/reducer.js +9 -6
- package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
- package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
- package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
- package/lib/view/cardBalance/cardBalanceSelector.d.ts +2 -1
- package/lib/view/cashBalance/cashBalanceSelector.d.ts +2 -1
- package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
- package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
- package/lib/view/companyView/types/cockpitTypes.d.ts +5 -6
- package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
- package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +9 -4
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
- package/lib/view/expenseAutomationView/payload/reconciliationPayload.d.ts +0 -33
- package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +1 -5
- package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.d.ts +4 -18
- package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.js +4 -164
- package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.d.ts +2 -6
- package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.js +2 -2
- package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.js +0 -112
- package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +5 -9
- package/lib/view/expenseAutomationView/types/jeSchedulesViewState.d.ts +0 -3
- package/lib/view/expenseAutomationView/types/jeSchedulesViewState.js +1 -8
- package/lib/view/expenseAutomationView/types/missingReceiptsViewState.d.ts +1 -1
- package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +0 -13
- package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
- package/lib/view/financeStatement/financeStatementSelector.d.ts +2 -0
- package/lib/view/financeStatement/financeStatementSelector.js +12 -1
- package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
- package/lib/view/onboardingView/cockpitView/types/onboardingCockpitViewTypes.d.ts +1 -1
- package/lib/view/profitAndLossClassesView/profitAndLossClassesByClassHorizontalSelector.js +2 -4
- package/lib/view/profitAndLossProjectView/profitAndLossForTimeframeProjectViewEpic.d.ts +8 -0
- package/lib/view/profitAndLossProjectView/profitAndLossForTimeframeProjectViewEpic.js +49 -0
- package/lib/view/profitAndLossProjectView/profitAndLossProjectViewEpic.d.ts +6 -0
- package/lib/view/profitAndLossProjectView/profitAndLossProjectViewEpic.js +34 -0
- package/lib/view/profitAndLossProjectView/profitAndLossProjectViewPayload.d.ts +33 -0
- package/lib/view/profitAndLossProjectView/profitAndLossProjectViewPayload.js +2 -0
- package/lib/view/profitAndLossProjectView/profitAndLossProjectViewReducer.d.ts +33 -0
- package/lib/view/profitAndLossProjectView/profitAndLossProjectViewReducer.js +117 -0
- package/lib/view/profitAndLossProjectView/profitAndLossProjectViewSelector.d.ts +9 -0
- package/lib/view/profitAndLossProjectView/profitAndLossProjectViewSelector.js +70 -0
- package/lib/view/profitAndLossProjectView/profitAndLossProjectViewSelectorTypes.d.ts +18 -0
- package/lib/view/profitAndLossProjectView/profitAndLossProjectViewSelectorTypes.js +2 -0
- package/lib/view/profitAndLossProjectView/profitAndLossProjectViewState.d.ts +22 -0
- package/lib/view/profitAndLossProjectView/profitAndLossProjectViewState.js +2 -0
- package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
- package/lib/view/reportsResync/reportsClassViewRefetchingEpic.d.ts +2 -1
- package/lib/view/reportsResync/reportsClassViewRefetchingEpic.js +4 -0
- package/lib/view/reportsResync/reportsResyncReducer.d.ts +2 -2
- package/lib/view/reviewCompanyView/reviewCompanyViewState.d.ts +1 -1
- package/lib/view/spendManagement/billPay/billList/billListReducer.d.ts +1 -1
- package/lib/view/spendManagement/billPay/billList/billListState.d.ts +1 -1
- package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetail.d.ts +1 -1
- package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailReducer.d.ts +4 -4
- package/lib/view/spendManagement/reimbursement/remiListView/remiListReducer.d.ts +1 -1
- package/lib/view/spendManagement/reimbursement/remiListView/remiListState.d.ts +3 -3
- package/lib/view/subscriptionView/types/subscriptionTypes.d.ts +1 -1
- package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
- package/lib/view/topEx/topExSelector.d.ts +1 -1
- package/package.json +1 -1
- package/lib/entity/aiAccountantCustomer/aiAccountantCustomerPayload.d.ts +0 -44
- package/lib/entity/aiAccountantCustomer/aiAccountantCustomerPayload.js +0 -55
- package/lib/entity/aiAccountantCustomer/aiAccountantCustomerReducer.d.ts +0 -10
- package/lib/entity/aiAccountantCustomer/aiAccountantCustomerReducer.js +0 -51
- package/lib/entity/aiAccountantCustomer/aiAccountantCustomerSelector.d.ts +0 -48
- package/lib/entity/aiAccountantCustomer/aiAccountantCustomerSelector.js +0 -66
- package/lib/entity/aiAccountantCustomer/aiAccountantCustomerState.d.ts +0 -52
- package/lib/entity/aiAccountantCustomer/aiAccountantCustomerState.js +0 -37
- package/lib/esm/entity/aiAccountantCustomer/aiAccountantCustomerPayload.js +0 -49
- package/lib/esm/entity/aiAccountantCustomer/aiAccountantCustomerReducer.js +0 -47
- package/lib/esm/entity/aiAccountantCustomer/aiAccountantCustomerSelector.js +0 -62
- package/lib/esm/entity/aiAccountantCustomer/aiAccountantCustomerState.js +0 -31
- package/lib/esm/view/aiAccountantView/aiAccountantViewPayload.js +0 -2
- package/lib/esm/view/aiAccountantView/aiAccountantViewReducer.js +0 -149
- package/lib/esm/view/aiAccountantView/aiAccountantViewSelector.js +0 -72
- package/lib/esm/view/aiAccountantView/aiAccountantViewState.js +0 -11
- package/lib/esm/view/aiAccountantView/epics/cancelAiAccountantOnboardingEpic.js +0 -46
- package/lib/esm/view/aiAccountantView/epics/fetchAiAccountantCustomersEpic.js +0 -27
- package/lib/esm/view/aiAccountantView/epics/fetchAiAccountantJobsEpic.js +0 -47
- package/lib/esm/view/aiAccountantView/epics/triggerAiAccountantJobEpic.js +0 -52
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/excludeAccountFromReconciliationEpic.js +0 -44
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/includeAccountInReconciliationEpic.js +0 -44
- package/lib/view/aiAccountantView/aiAccountantViewPayload.d.ts +0 -31
- package/lib/view/aiAccountantView/aiAccountantViewPayload.js +0 -8
- package/lib/view/aiAccountantView/aiAccountantViewReducer.d.ts +0 -29
- package/lib/view/aiAccountantView/aiAccountantViewReducer.js +0 -153
- package/lib/view/aiAccountantView/aiAccountantViewSelector.d.ts +0 -14
- package/lib/view/aiAccountantView/aiAccountantViewSelector.js +0 -78
- package/lib/view/aiAccountantView/aiAccountantViewState.d.ts +0 -27
- package/lib/view/aiAccountantView/aiAccountantViewState.js +0 -13
- package/lib/view/aiAccountantView/epics/cancelAiAccountantOnboardingEpic.d.ts +0 -33
- package/lib/view/aiAccountantView/epics/cancelAiAccountantOnboardingEpic.js +0 -50
- package/lib/view/aiAccountantView/epics/fetchAiAccountantCustomersEpic.d.ts +0 -23
- package/lib/view/aiAccountantView/epics/fetchAiAccountantCustomersEpic.js +0 -31
- package/lib/view/aiAccountantView/epics/fetchAiAccountantJobsEpic.d.ts +0 -33
- package/lib/view/aiAccountantView/epics/fetchAiAccountantJobsEpic.js +0 -51
- package/lib/view/aiAccountantView/epics/triggerAiAccountantJobEpic.d.ts +0 -28
- package/lib/view/aiAccountantView/epics/triggerAiAccountantJobEpic.js +0 -56
- package/lib/view/expenseAutomationView/epics/accountRecon/excludeAccountFromReconciliationEpic.d.ts +0 -8
- package/lib/view/expenseAutomationView/epics/accountRecon/excludeAccountFromReconciliationEpic.js +0 -48
- package/lib/view/expenseAutomationView/epics/accountRecon/includeAccountInReconciliationEpic.d.ts +0 -9
- package/lib/view/expenseAutomationView/epics/accountRecon/includeAccountInReconciliationEpic.js +0 -48
|
@@ -14,6 +14,7 @@ export const ALL_REPORT_IDS = [
|
|
|
14
14
|
'top_expenses',
|
|
15
15
|
'profit_and_loss',
|
|
16
16
|
'profit_and_loss_by_classes',
|
|
17
|
+
'profit_and_loss_by_projects',
|
|
17
18
|
'balance_sheet',
|
|
18
19
|
'cash_flow',
|
|
19
20
|
'dashboard',
|
|
@@ -57,7 +58,6 @@ export const ALL_REPORT_IDS = [
|
|
|
57
58
|
'account_reconciliation',
|
|
58
59
|
'zeni_credit_promo_card',
|
|
59
60
|
'treasury_promo_card',
|
|
60
|
-
'excluded_account_reconciliation',
|
|
61
61
|
];
|
|
62
62
|
export const toReportID = (v) => stringToUnion(v, ALL_REPORT_IDS);
|
|
63
63
|
const ALL_REPORT_FORMAT = ['summary', 'detailed', 'more_detailed'];
|
|
@@ -45,17 +45,12 @@ const account = createSlice({
|
|
|
45
45
|
draft.accountsByKey[key].statementCloseDay =
|
|
46
46
|
action.payload.statementCloseDay;
|
|
47
47
|
},
|
|
48
|
-
changeAccountKey(draft, action) {
|
|
49
|
-
const { oldKey, newKey } = action.payload;
|
|
50
|
-
draft.accountsByKey[newKey] = draft.accountsByKey[oldKey];
|
|
51
|
-
delete draft.accountsByKey[oldKey];
|
|
52
|
-
},
|
|
53
48
|
clearAllAccounts(draft) {
|
|
54
49
|
draft.accountsByKey = {};
|
|
55
50
|
},
|
|
56
51
|
},
|
|
57
52
|
});
|
|
58
|
-
export const { updateAccounts, updateMultipleSubAccountsWithBalances, updateAccountStatementCloseDay,
|
|
53
|
+
export const { updateAccounts, updateMultipleSubAccountsWithBalances, updateAccountStatementCloseDay, clearAllAccounts, } = account.actions;
|
|
59
54
|
export default account.reducer;
|
|
60
55
|
/**
|
|
61
56
|
* Helper functions.
|
|
@@ -83,11 +78,12 @@ function doUpdateSubAccountsWithBalances(draft, subAccountWithBalancesListPayloa
|
|
|
83
78
|
const accountBalancesPayload = subAccountWithBalancesListPayload[index].accountBalancesPayload;
|
|
84
79
|
const accountViewParentId = subAccountWithBalancesListPayload[index].accountsViewParentID;
|
|
85
80
|
const classesViewParentId = subAccountWithBalancesListPayload[index].classesViewParentID;
|
|
86
|
-
|
|
81
|
+
const projectsViewParentId = subAccountWithBalancesListPayload[index].projectsViewParentID;
|
|
82
|
+
doUpdateAccountWithBalancesV2(draft, accountBasePayload, accountBalancesPayload, currencyPayload, reportId, timeframe, classesViewParentId, accountViewParentId, projectsViewParentId, updateType);
|
|
87
83
|
}
|
|
88
84
|
}
|
|
89
|
-
function doUpdateAccountWithBalancesV2(draft, accountBasePayload, accountBalancesPayload, currencyPayload, reportId, timeframe, classesViewParentId, accountsViewParentId, updateType) {
|
|
90
|
-
const key = getAccountKey(reportId, accountBasePayload.account_id, classesViewParentId, accountsViewParentId);
|
|
85
|
+
function doUpdateAccountWithBalancesV2(draft, accountBasePayload, accountBalancesPayload, currencyPayload, reportId, timeframe, classesViewParentId, accountsViewParentId, projectsViewParentId, updateType) {
|
|
86
|
+
const key = getAccountKey(reportId, accountBasePayload.account_id, classesViewParentId, accountsViewParentId, projectsViewParentId);
|
|
91
87
|
const balancesByPeriod = mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod(accountBalancesPayload, currencyPayload, timeframe);
|
|
92
88
|
if (key in draft && updateType === 'merge') {
|
|
93
89
|
// only add balances
|
|
@@ -98,6 +94,7 @@ function doUpdateAccountWithBalancesV2(draft, accountBasePayload, accountBalance
|
|
|
98
94
|
...mapAccountBasePayloadToAccountBase(accountBasePayload),
|
|
99
95
|
key,
|
|
100
96
|
classesViewParentId,
|
|
97
|
+
projectsViewParentId,
|
|
101
98
|
};
|
|
102
99
|
latestAccount.balancesByPeriod = balancesByPeriod;
|
|
103
100
|
draft[latestAccount.key] = latestAccount;
|
|
@@ -3,7 +3,7 @@ import { getCOABalances } from '../../commonStateTypes/coaBalance/coaBalance';
|
|
|
3
3
|
import { sortComparator } from '../../commonStateTypes/coaBalance/sortBalancesByFreeRangeTotal';
|
|
4
4
|
import { getAccountKey, } from './accountState';
|
|
5
5
|
function getCommonAccountFields(accountState, id) {
|
|
6
|
-
const key = getAccountKey(id.reportId, id.accountId, id.classesViewParentId, id.accountsViewParentId);
|
|
6
|
+
const key = getAccountKey(id.reportId, id.accountId, id.classesViewParentId, id.accountsViewParentId, id.projectsViewParentId);
|
|
7
7
|
const account = accountState.accountsByKey[key];
|
|
8
8
|
if (account == null) {
|
|
9
9
|
throw new Error(`Account with ${key} doesn't exists`);
|
|
@@ -22,6 +22,7 @@ function getCommonAccountFields(accountState, id) {
|
|
|
22
22
|
qboId: account.qboId,
|
|
23
23
|
coaId: account.coaId,
|
|
24
24
|
classesViewParentId: account.classesViewParentId,
|
|
25
|
+
projectsViewParentId: account.projectsViewParentId,
|
|
25
26
|
accountsViewParentId: account.accountsViewParentId,
|
|
26
27
|
labels: account.labels,
|
|
27
28
|
isBillEditableCoaAccountType: account.isBillEditableCoaAccountType ?? false,
|
|
@@ -50,7 +51,7 @@ export const getAccountBase = (accountState, accountId, reportId) => {
|
|
|
50
51
|
};
|
|
51
52
|
};
|
|
52
53
|
export function getAccount(accountState, id, filter, additionalBalancesOptions) {
|
|
53
|
-
const key = getAccountKey(id.reportId, id.accountId, id.classesViewParentId, id.accountsViewParentId);
|
|
54
|
+
const key = getAccountKey(id.reportId, id.accountId, id.classesViewParentId, id.accountsViewParentId, id.projectsViewParentId);
|
|
54
55
|
const account = accountState.accountsByKey[key];
|
|
55
56
|
if (account == null) {
|
|
56
57
|
throw new Error(`Account with ${key} doesn't exists`);
|
|
@@ -101,6 +102,7 @@ export const getAccountsOrdered = (filter, accountState, id, orderBy, order = 'l
|
|
|
101
102
|
reportId: id.reportId,
|
|
102
103
|
classesViewParentId: id.classesViewParentId,
|
|
103
104
|
accountsViewParentId: id.accountsViewParentId,
|
|
105
|
+
projectsViewParentId: id.projectsViewParentId,
|
|
104
106
|
}, filter))
|
|
105
107
|
.sort((a, b) => {
|
|
106
108
|
switch (orderBy) {
|
|
@@ -37,7 +37,10 @@ const ALL_ACCOUNT_LABELS = [
|
|
|
37
37
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
38
38
|
const toAccountLabel = (v) => stringToUnion(v, ALL_ACCOUNT_LABELS);
|
|
39
39
|
export const toAccountLabelStrict = (v) => stringToUnionStrict(v ?? '', ALL_ACCOUNT_LABELS);
|
|
40
|
-
export function getAccountKey(reportIdUniqueKey, accountId, classesViewParentId, accountsViewParentId) {
|
|
40
|
+
export function getAccountKey(reportIdUniqueKey, accountId, classesViewParentId, accountsViewParentId, projectsViewParentId) {
|
|
41
|
+
if (projectsViewParentId != null) {
|
|
42
|
+
return `${projectsViewParentId.sectionId}-${projectsViewParentId.projectId}-${accountId}-${reportIdUniqueKey}`;
|
|
43
|
+
}
|
|
41
44
|
if (classesViewParentId != null && accountsViewParentId == null) {
|
|
42
45
|
return `${classesViewParentId.sectionId}-${classesViewParentId.parentClassId != null
|
|
43
46
|
? getNestedClassIDStr(classesViewParentId.parentClassId)
|
|
@@ -16,6 +16,7 @@ export const getNestedAccountReportForAccount = (accountState, id, filter, accou
|
|
|
16
16
|
reportId: id.reportId,
|
|
17
17
|
classesViewParentId: id.classesViewParentId,
|
|
18
18
|
accountsViewParentId: id.accountsViewParentId,
|
|
19
|
+
projectsViewParentId: id.projectsViewParentId,
|
|
19
20
|
}, newFilter, additionalBalancesOptions);
|
|
20
21
|
if (accountReport == null) {
|
|
21
22
|
return undefined;
|
|
@@ -26,6 +27,7 @@ export const getNestedAccountReportForAccount = (accountState, id, filter, accou
|
|
|
26
27
|
reportId: id.reportId,
|
|
27
28
|
accountIdHierarchy: childAccount,
|
|
28
29
|
classesViewParentId: id.classesViewParentId,
|
|
30
|
+
projectsViewParentId: id.projectsViewParentId,
|
|
29
31
|
accountsViewParentId: id.accountsViewParentId != null
|
|
30
32
|
? {
|
|
31
33
|
parentAccountId: id.accountIdHierarchy.id,
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { date } from '../../zeniDayJS';
|
|
2
|
+
export const mapProjectMetadataPayloadToProject = (payload) => ({
|
|
3
|
+
projectId: payload.zeni_project_id,
|
|
4
|
+
projectName: payload.project_name,
|
|
5
|
+
...(payload.status != null ? { status: payload.status } : {}),
|
|
6
|
+
...(payload.start_date != null ? { startDate: date(payload.start_date) } : {}),
|
|
7
|
+
...(payload.parent_customer_payment_provider_id != null
|
|
8
|
+
? {
|
|
9
|
+
parentCustomerPaymentProviderId: payload.parent_customer_payment_provider_id,
|
|
10
|
+
}
|
|
11
|
+
: {}),
|
|
12
|
+
...(payload.payment_provider_project_customer_id != null
|
|
13
|
+
? {
|
|
14
|
+
paymentProviderProjectCustomerId: payload.payment_provider_project_customer_id,
|
|
15
|
+
}
|
|
16
|
+
: {}),
|
|
17
|
+
...(payload.payment_provider_project_id != null
|
|
18
|
+
? { paymentProviderProjectId: payload.payment_provider_project_id }
|
|
19
|
+
: {}),
|
|
20
|
+
...(payload.zeni_parent_customer_id != null
|
|
21
|
+
? { zeniParentCustomerId: payload.zeni_parent_customer_id }
|
|
22
|
+
: {}),
|
|
23
|
+
...(payload.zeni_project_customer_id != null
|
|
24
|
+
? { zeniProjectCustomerId: payload.zeni_project_customer_id }
|
|
25
|
+
: {}),
|
|
26
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createSlice } from '@reduxjs/toolkit';
|
|
2
|
+
import { mapProjectMetadataPayloadToProject, } from './projectPayload';
|
|
3
|
+
export const initialState = {
|
|
4
|
+
projects: {},
|
|
5
|
+
};
|
|
6
|
+
const projectSlice = createSlice({
|
|
7
|
+
name: 'project',
|
|
8
|
+
initialState,
|
|
9
|
+
reducers: {
|
|
10
|
+
updateProjects: {
|
|
11
|
+
reducer(draft, action) {
|
|
12
|
+
action.payload.forEach((projectPayload) => {
|
|
13
|
+
const project = mapProjectMetadataPayloadToProject(projectPayload);
|
|
14
|
+
draft.projects[project.projectId] = project;
|
|
15
|
+
});
|
|
16
|
+
},
|
|
17
|
+
prepare(payload) {
|
|
18
|
+
return { payload };
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
clearAllProjects(draft) {
|
|
22
|
+
Object.assign(draft, initialState);
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
export const { updateProjects, clearAllProjects } = projectSlice.actions;
|
|
27
|
+
export default projectSlice.reducer;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export function getProjectById(projectState, projectId) {
|
|
2
|
+
return projectState.projects[projectId];
|
|
3
|
+
}
|
|
4
|
+
export function getProjectsByIds(projectState, projectIds) {
|
|
5
|
+
return projectIds
|
|
6
|
+
.map((projectId) => getProjectById(projectState, projectId))
|
|
7
|
+
.filter((project) => project != null);
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { from } from 'rxjs';
|
|
2
|
+
import { filter, mergeMap } from 'rxjs/operators';
|
|
3
|
+
import { getAllAccountMetadataRecordsByID, getParentAccountId, } from '../../commonStateTypes/accountView/getNestedAccountIDHierarchyForReport';
|
|
4
|
+
import { updateMultipleSubAccountsWithBalances } from '../account/accountReducer';
|
|
5
|
+
import { updateSectionProjectView } from './sectionProjectViewReducer';
|
|
6
|
+
export const updateSectionProjectViewEpic = (actions$) => actions$.pipe(filter(updateSectionProjectView.match), mergeMap((action) => {
|
|
7
|
+
const actions = [];
|
|
8
|
+
const sectionPayload = action.payload.sectionPayload;
|
|
9
|
+
const sectionId = action.payload.sectionId;
|
|
10
|
+
const timeframe = action.payload.timeframe;
|
|
11
|
+
const reportId = action.payload.reportId;
|
|
12
|
+
const currencyPayload = action.payload.currencyPayload;
|
|
13
|
+
const accountsMetadataPayload = action.payload.accountsMetadataPayload;
|
|
14
|
+
const accountMetadataRecordsByID = getAllAccountMetadataRecordsByID(accountsMetadataPayload);
|
|
15
|
+
const accountMetadataWithBalancesPayloads = [];
|
|
16
|
+
if (sectionPayload.projects != null) {
|
|
17
|
+
Object.keys(sectionPayload.projects).forEach((projectId) => {
|
|
18
|
+
const projectAccounts = sectionPayload.projects[projectId].accounts;
|
|
19
|
+
const projectsViewParentID = {
|
|
20
|
+
projectId,
|
|
21
|
+
sectionId,
|
|
22
|
+
};
|
|
23
|
+
getSubAccountsMetadataForProjectAccountList(projectAccounts, accountMetadataRecordsByID, sectionId, projectsViewParentID, accountMetadataWithBalancesPayloads);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
if (accountMetadataWithBalancesPayloads.length > 0) {
|
|
27
|
+
actions.push(updateMultipleSubAccountsWithBalances(accountMetadataWithBalancesPayloads, currencyPayload, reportId, timeframe));
|
|
28
|
+
}
|
|
29
|
+
return from(actions);
|
|
30
|
+
}));
|
|
31
|
+
const getSubAccountsMetadataForProjectAccountList = (accountListWithBalances, accountMetadataRecordsByID, sectionId, projectsViewParentID, result) => {
|
|
32
|
+
if (accountListWithBalances != null) {
|
|
33
|
+
Object.keys(accountListWithBalances).forEach((eachAccountId) => {
|
|
34
|
+
const accountMetadataRecord = accountMetadataRecordsByID[eachAccountId];
|
|
35
|
+
if (accountMetadataRecord != null) {
|
|
36
|
+
const accountId = accountMetadataRecord.nestedAccountId;
|
|
37
|
+
result.push({
|
|
38
|
+
accountsViewParentID: {
|
|
39
|
+
parentAccountId: getParentAccountId(accountId),
|
|
40
|
+
sectionId,
|
|
41
|
+
},
|
|
42
|
+
accountMetadataPayload: accountMetadataRecord.accountMetadataPayload,
|
|
43
|
+
accountBalancesPayload: accountListWithBalances[eachAccountId],
|
|
44
|
+
projectsViewParentID,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
console.warn(`Account ${eachAccountId} in Section ${sectionId} Project ${projectsViewParentID.projectId} is missing metadata.`);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod, } from '../../commonPayloadTypes/v2/coaBalancePayload';
|
|
2
|
+
import { getSectionProjectViewKey, } from './sectionProjectView';
|
|
3
|
+
export const mapSectionByProjectCOABalanceGroupedPayloadToSection = (timeframe, sectionPayload, currencyPayload, id) => {
|
|
4
|
+
return {
|
|
5
|
+
key: getSectionProjectViewKey(id.sectionId, id.reportId),
|
|
6
|
+
sectionId: id.sectionId,
|
|
7
|
+
balancesByPeriod: mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod(sectionPayload, currencyPayload, timeframe),
|
|
8
|
+
};
|
|
9
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { createSlice } from '@reduxjs/toolkit';
|
|
2
|
+
import { mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod } from '../../commonPayloadTypes/v2/coaBalancePayload';
|
|
3
|
+
import { getSectionProjectViewKey } from './sectionProjectView';
|
|
4
|
+
import { mapSectionByProjectCOABalanceGroupedPayloadToSection } from './sectionProjectViewHelper';
|
|
5
|
+
export const initialState = {
|
|
6
|
+
sectionsByKey: {},
|
|
7
|
+
};
|
|
8
|
+
const sectionProjectView = createSlice({
|
|
9
|
+
name: 'sectionProjectView',
|
|
10
|
+
initialState,
|
|
11
|
+
reducers: {
|
|
12
|
+
updateSectionProjectView: {
|
|
13
|
+
prepare(timeframe, sectionId, reportId, sectionPayload, accountsMetadataPayload, currencyPayload) {
|
|
14
|
+
return {
|
|
15
|
+
payload: {
|
|
16
|
+
timeframe,
|
|
17
|
+
reportId,
|
|
18
|
+
sectionId,
|
|
19
|
+
sectionPayload,
|
|
20
|
+
accountsMetadataPayload,
|
|
21
|
+
currencyPayload,
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
},
|
|
25
|
+
reducer(draft, action) {
|
|
26
|
+
updateSection(draft, action.payload.timeframe, action.payload.sectionPayload, action.payload.sectionId, action.payload.reportId, action.payload.currencyPayload);
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
clearAllSectionsProjectView(draft) {
|
|
30
|
+
Object.assign(draft, initialState);
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
export const { updateSectionProjectView, clearAllSectionsProjectView } = sectionProjectView.actions;
|
|
35
|
+
export default sectionProjectView.reducer;
|
|
36
|
+
const updateSection = (draft, timeframe, sectionPayload, sectionId, reportId, currencyPayload) => {
|
|
37
|
+
const sectionKey = getSectionProjectViewKey(sectionId, reportId);
|
|
38
|
+
const section = draft.sectionsByKey[sectionKey];
|
|
39
|
+
if (section != null) {
|
|
40
|
+
draft.sectionsByKey[sectionKey].balancesByPeriod = Object.assign({}, draft.sectionsByKey[sectionKey].balancesByPeriod, mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod(sectionPayload, currencyPayload, timeframe));
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
draft.sectionsByKey[sectionKey] =
|
|
44
|
+
mapSectionByProjectCOABalanceGroupedPayloadToSection(timeframe, sectionPayload, currencyPayload, { sectionId, reportId });
|
|
45
|
+
}
|
|
46
|
+
};
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import recordGet from 'lodash/get';
|
|
2
|
+
import { getCOABalances, } from '../../commonStateTypes/coaBalance/coaBalance';
|
|
3
|
+
import { getSumOfBalancesByGroupedByPeriod } from '../../commonStateTypes/coaBalance/classBalances/getSumOfBalancesGroupedByPeriod';
|
|
4
|
+
import { mapAccountMetadataPayloadToAccountMetadata } from '../account/accountPayload';
|
|
5
|
+
import { getAccountKey } from '../account/accountState';
|
|
6
|
+
import { getNestedAccountReportForAccount, } from '../account/subAccountSelector';
|
|
7
|
+
import { getProjectById } from '../project/projectSelector';
|
|
8
|
+
import { getNestedAccountIDHierarchyForAccounts } from '../sectionAccountsView/getNestedAccountIDHierarchyForSection';
|
|
9
|
+
import { getSectionProjectViewKey } from './sectionProjectView';
|
|
10
|
+
export const getSectionProjectViewReport = (accountState, projectState, sectionState, projectIds, id, filter) => {
|
|
11
|
+
const sectionKey = getSectionProjectViewKey(id.sectionId, id.reportId);
|
|
12
|
+
const sectionView = recordGet(sectionState.sectionsByKey, sectionKey, undefined);
|
|
13
|
+
const projectIdsToShow = projectIds.filter((projectId) => !filter.projectsToFilterOut.includes(projectId));
|
|
14
|
+
const projectReports = [];
|
|
15
|
+
const sectionBalancesTotalByPeriodArray = [];
|
|
16
|
+
const accountsByProject = getAccountsByProject(accountState, id.sectionId, id.reportId);
|
|
17
|
+
projectIdsToShow.forEach((projectId) => {
|
|
18
|
+
const project = getProjectById(projectState, projectId);
|
|
19
|
+
if (project == null) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const projectAccountIds = accountsByProject[projectId] ?? [];
|
|
23
|
+
const accountsMetadata = projectAccountIds
|
|
24
|
+
.map((accountId) => {
|
|
25
|
+
const key = getAccountKey(id.reportId, accountId, undefined, undefined, { projectId, sectionId: id.sectionId });
|
|
26
|
+
const account = accountState.accountsByKey[key];
|
|
27
|
+
if (account == null) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
return mapAccountMetadataPayloadToAccountMetadata({
|
|
31
|
+
account_id: account.accountId,
|
|
32
|
+
account_name: account.accountName,
|
|
33
|
+
account_description: account.accountDescription,
|
|
34
|
+
labels: account.labels,
|
|
35
|
+
is_sub_account: account.accountsViewParentId != null,
|
|
36
|
+
parent_account_id: account.accountsViewParentId?.parentAccountId?.[0] ?? null,
|
|
37
|
+
});
|
|
38
|
+
})
|
|
39
|
+
.filter((metadata) => metadata != null);
|
|
40
|
+
const nestedAccountHierarchy = getNestedAccountIDHierarchyForAccounts(projectAccountIds, accountsMetadata);
|
|
41
|
+
const nestedAccountReports = [];
|
|
42
|
+
nestedAccountHierarchy.forEach((accountIdHierarchy) => {
|
|
43
|
+
const report = getNestedAccountReportForAccount(accountState, {
|
|
44
|
+
accountIdHierarchy,
|
|
45
|
+
reportId: id.reportId,
|
|
46
|
+
projectsViewParentId: {
|
|
47
|
+
projectId,
|
|
48
|
+
sectionId: id.sectionId,
|
|
49
|
+
},
|
|
50
|
+
}, filter, nestedAccountHierarchy.length > 1);
|
|
51
|
+
if (report != null) {
|
|
52
|
+
nestedAccountReports.push(report);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
const accountBalancesByPeriod = projectAccountIds
|
|
56
|
+
.map((accountId) => {
|
|
57
|
+
const key = getAccountKey(id.reportId, accountId, undefined, undefined, { projectId, sectionId: id.sectionId });
|
|
58
|
+
const account = accountState.accountsByKey[key];
|
|
59
|
+
return account?.balancesByPeriod;
|
|
60
|
+
})
|
|
61
|
+
.filter((balancesByPeriod) => balancesByPeriod != null);
|
|
62
|
+
const projectBalancesTotalByPeriod = getSumOfBalancesByGroupedByPeriod(accountBalancesByPeriod) ?? {};
|
|
63
|
+
const projectReport = {
|
|
64
|
+
projectId,
|
|
65
|
+
projectName: project.projectName,
|
|
66
|
+
accounts: nestedAccountReports,
|
|
67
|
+
...getCOABalances(projectBalancesTotalByPeriod, filter),
|
|
68
|
+
projectBalancesTotalByPeriod,
|
|
69
|
+
};
|
|
70
|
+
projectReports.push(projectReport);
|
|
71
|
+
sectionBalancesTotalByPeriodArray.push(projectBalancesTotalByPeriod);
|
|
72
|
+
});
|
|
73
|
+
const sectionBalancesTotalByPeriod = sectionView?.balancesByPeriod != null
|
|
74
|
+
? sectionView.balancesByPeriod
|
|
75
|
+
: (getSumOfBalancesByGroupedByPeriod(sectionBalancesTotalByPeriodArray) ?? {});
|
|
76
|
+
return {
|
|
77
|
+
projects: projectReports,
|
|
78
|
+
...getCOABalances(sectionBalancesTotalByPeriod, filter),
|
|
79
|
+
sectionBalancesTotalByPeriod,
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
const getAccountsByProject = (accountState, sectionId, reportId) => {
|
|
83
|
+
const result = {};
|
|
84
|
+
Object.values(accountState.accountsByKey).forEach((account) => {
|
|
85
|
+
if (account.projectsViewParentId != null &&
|
|
86
|
+
account.projectsViewParentId.sectionId === sectionId &&
|
|
87
|
+
account.key.endsWith(reportId)) {
|
|
88
|
+
const projectId = account.projectsViewParentId.projectId;
|
|
89
|
+
if (result[projectId] == null) {
|
|
90
|
+
result[projectId] = [];
|
|
91
|
+
}
|
|
92
|
+
result[projectId].push(account.accountId);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
return result;
|
|
96
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { from } from 'rxjs';
|
|
2
2
|
import { filter, mergeMap } from 'rxjs/operators';
|
|
3
|
-
import { clearAllAiAccountantCustomers } from '../../entity/aiAccountantCustomer/aiAccountantCustomerReducer';
|
|
4
3
|
import { clearAiCfo } from '../../entity/aiCfo/aiCfoReducer';
|
|
5
4
|
import { clearAllApprovalRules } from '../../entity/approvalRule/approvalRuleReducer';
|
|
6
5
|
import { clearAllEntityApprovalStatus } from '../../entity/entityApprovalStatus/entityApprovalStatusReducer';
|
|
7
6
|
import { clearAllMonthEndCloseChecks } from '../../entity/monthEndCloseChecks/monthEndCloseChecksReducer';
|
|
8
7
|
import { clearAllNotifications } from '../../entity/notification/notificationReducer';
|
|
9
8
|
import { clearAllSectionsClassesViewV2 } from '../../entity/sectionClassesViewV2/sectionClassesViewReducer';
|
|
9
|
+
import { clearAllSectionsProjectView } from '../../entity/sectionProjectView/sectionProjectViewReducer';
|
|
10
10
|
import { clearAllTaskGroups } from '../../entity/taskGroup/taskGroupReducer';
|
|
11
11
|
import { clearAllToastNotifications } from '../../entity/toastNotification/toastNotificationReducer';
|
|
12
12
|
import { clearAccountList } from '../../view/accountList/accountListReducer';
|
|
13
13
|
import { clearAccountMappingView } from '../../view/accountMappingView/accountMappingReducer';
|
|
14
14
|
import { clearAddressView } from '../../view/addressView/addressViewReducer';
|
|
15
15
|
import { clearAggregatedReport } from '../../view/aiAgentPerformance/aggregatedReportViewReducer';
|
|
16
|
-
import { clearAiAccountantView } from '../../view/aiAccountantView/aiAccountantViewReducer';
|
|
17
16
|
import { clearAiCfoView } from '../../view/aiCfoView/aiCfoViewReducer';
|
|
18
17
|
import { clearApAgingDetail } from '../../view/apAgingView/apAgingDetail/apAgingDetailReducer';
|
|
19
18
|
import { clearApAging } from '../../view/apAgingView/apAgingReport/apAgingReducer';
|
|
@@ -66,6 +65,7 @@ import { clearOwnerList } from '../../view/ownerList/ownerListReducer';
|
|
|
66
65
|
import { clearPeople } from '../../view/people/peopleReducer';
|
|
67
66
|
import { clearProfitAndLoss } from '../../view/profitAndLoss/profitAndLossReducer';
|
|
68
67
|
import { clearProfitAndLossClassesView } from '../../view/profitAndLossClassesView/profitAndLossClassesViewReducer';
|
|
68
|
+
import { clearProfitAndLossProjectView } from '../../view/profitAndLossProjectView/profitAndLossProjectViewReducer';
|
|
69
69
|
import { clearRecommendation } from '../../view/recommendation/recommendationReducer';
|
|
70
70
|
import { clearReferrals } from '../../view/referralView/referralReducer';
|
|
71
71
|
import { clearReimbursementCard } from '../../view/reimbursementCard/reimbursementCardReducer';
|
|
@@ -163,6 +163,7 @@ import { clearAllChargeCardRepayments } from '../chargeCardRepayment/chargeCardR
|
|
|
163
163
|
import { clearAllChargeCardTransactions } from '../chargeCardTransaction/chargeCardTransactionReducer';
|
|
164
164
|
import { clearAllClasses } from '../class/classReducer';
|
|
165
165
|
import { clearAllCompanies } from '../company/companyReducer';
|
|
166
|
+
import { clearAllProjects } from '../project/projectReducer';
|
|
166
167
|
import { clearCompanyHealthMetric } from '../companyHealthMetric/companyHealthMetricReducer';
|
|
167
168
|
import { clearAllConnectedAccounts } from '../connectedAccount/connectedAccountReducer';
|
|
168
169
|
import { clearCountryList } from '../countryList/countryListReducer';
|
|
@@ -209,10 +210,9 @@ export const clearAllEpic = (actions$) => actions$.pipe(filter(clearAll.match),
|
|
|
209
210
|
clearActivityHistory(),
|
|
210
211
|
clearActivityRealTimeApproval(),
|
|
211
212
|
clearAddressView(),
|
|
212
|
-
clearAiAccountantView(),
|
|
213
|
-
clearAllAiAccountantCustomers(),
|
|
214
213
|
clearAiCfoView(),
|
|
215
214
|
clearAllClasses(),
|
|
215
|
+
clearAllProjects(),
|
|
216
216
|
clearAllMonthEndCloseChecksView(),
|
|
217
217
|
clearApAging(),
|
|
218
218
|
clearApAgingDetail(),
|
|
@@ -292,6 +292,7 @@ export const clearAllEpic = (actions$) => actions$.pipe(filter(clearAll.match),
|
|
|
292
292
|
clearPreviousBills(),
|
|
293
293
|
clearProfitAndLoss(),
|
|
294
294
|
clearProfitAndLossClassesView(),
|
|
295
|
+
clearProfitAndLossProjectView(),
|
|
295
296
|
clearRecommendation(),
|
|
296
297
|
clearReferrals(),
|
|
297
298
|
clearReimbursementCard(),
|
|
@@ -386,6 +387,7 @@ export const clearAllEpic = (actions$) => actions$.pipe(filter(clearAll.match),
|
|
|
386
387
|
clearAllReimbursements(),
|
|
387
388
|
clearAllSectionsAccountsView(),
|
|
388
389
|
clearAllSectionsClassesViewV2(),
|
|
390
|
+
clearAllSectionsProjectView(),
|
|
389
391
|
clearAllSubscriptionAddOns(),
|
|
390
392
|
clearAllSubscriptionCoupons(),
|
|
391
393
|
clearAllSubscriptionPlans(),
|
|
@@ -554,6 +554,7 @@ function mapTenantPayloadToTenant(payload, userTenantPayload) {
|
|
|
554
554
|
const tenant = {
|
|
555
555
|
accountingClassIDs: payload.accounting_class_ids,
|
|
556
556
|
isAccountingClassesEnabled: payload.is_accounting_classes_enabled ?? true,
|
|
557
|
+
isAccountingProjectsEnabled: payload.is_accounting_projects_enabled ?? false,
|
|
557
558
|
bookCloseDate: payload.book_close_date != null
|
|
558
559
|
? date(payload.book_close_date)
|
|
559
560
|
: undefined,
|
|
@@ -272,6 +272,13 @@ export const getIsAccountingClassesEnabled = (state) => {
|
|
|
272
272
|
}
|
|
273
273
|
return tenantsById[currentTenantId]?.isAccountingClassesEnabled ?? true;
|
|
274
274
|
};
|
|
275
|
+
export const getIsAccountingProjectsEnabled = (state) => {
|
|
276
|
+
const { currentTenantId, tenantsById } = state.tenantState;
|
|
277
|
+
if (currentTenantId == null) {
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
280
|
+
return tenantsById[currentTenantId]?.isAccountingProjectsEnabled ?? false;
|
|
281
|
+
};
|
|
275
282
|
export const isTenantBookkeepingEnabled = (tenant) => {
|
|
276
283
|
// if the tenants API takes time, tenant can be non null with productSettings as null
|
|
277
284
|
return tenant != null && tenant.productSettings != null
|
|
@@ -117,7 +117,6 @@ export const toTransactionPayload = (transaction) => {
|
|
|
117
117
|
transactionPayload = {
|
|
118
118
|
...transactionPayload,
|
|
119
119
|
...toAccountPayload(transaction.account),
|
|
120
|
-
currency_code: transaction.amount.currencyCode,
|
|
121
120
|
};
|
|
122
121
|
}
|
|
123
122
|
if (transaction.paymentType != null && transaction.type === 'bill_payment') {
|
package/lib/esm/epic.js
CHANGED
|
@@ -5,6 +5,7 @@ import { updateAccruedJESchedulesEpic, } from './entity/jeSchedules/updateAccrue
|
|
|
5
5
|
import { updateJESchedulesEpic, } from './entity/jeSchedules/updateJESchedulesEpic';
|
|
6
6
|
import { updateSectionAccountsViewEpic, } from './entity/sectionAccountsView/sectionAccountsViewEpic';
|
|
7
7
|
import { updateSectionClassesViewEpic as updateSectionClassesViewEpicV2, } from './entity/sectionClassesViewV2/sectionClassesViewEpic';
|
|
8
|
+
import { updateSectionProjectViewEpic, } from './entity/sectionProjectView/sectionProjectViewEpic';
|
|
8
9
|
import { clearAllEpic, } from './entity/tenant/clearAllEpic';
|
|
9
10
|
import { doMagicLinkSignInEpic, } from './entity/tenant/epic/doMagicLinkSignInEpic';
|
|
10
11
|
import { fetchActiveTenantEpic, } from './entity/tenant/epic/fetchActiveTenantEpic';
|
|
@@ -126,8 +127,6 @@ import { fetchDashboardEpic, } from './view/dashboard/dashboardEpic';
|
|
|
126
127
|
import { fetchDashboardLayoutEpic, } from './view/dashboardLayout/fetchDashboardLayoutEpic';
|
|
127
128
|
import { updateDashboardLayoutEpic, } from './view/dashboardLayout/updateDashboardLayoutEpic';
|
|
128
129
|
import { deleteAccountStatementEpic, } from './view/expenseAutomationView/epics/accountRecon/deleteAccountStatementEpic';
|
|
129
|
-
import { excludeAccountFromReconciliationEpic, } from './view/expenseAutomationView/epics/accountRecon/excludeAccountFromReconciliationEpic';
|
|
130
|
-
import { includeAccountInReconciliationEpic, } from './view/expenseAutomationView/epics/accountRecon/includeAccountInReconciliationEpic';
|
|
131
130
|
import { fetchReconciliationViewEpic as fetchExpenseAutomationReconciliationsViewEpic, } from './view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic';
|
|
132
131
|
import { initialiseDataForSelectedAccountIdEpic as initialiseExpenseAutomationReconciliationLocalDataForSelectedAccountIdEpic, } from './view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic';
|
|
133
132
|
import { saveReconciliationDetailsEpic as saveExpenseAutomationReconciliationDetailsEpic, } from './view/expenseAutomationView/epics/accountRecon/saveReconciliationDetailEpic';
|
|
@@ -236,6 +235,8 @@ import { fetchProfitAndLossEpic, } from './view/profitAndLoss/profitAndLossEpic'
|
|
|
236
235
|
import { fetchProfitAndLossForTimeframeEpic, } from './view/profitAndLoss/profitAndLossForTimeframeEpic';
|
|
237
236
|
import { fetchProfitAndLossClassesViewEpic, } from './view/profitAndLossClassesView/profitAndLossClassesViewEpic';
|
|
238
237
|
import { fetchProfitAndLossForTimeframeClassesViewEpic, } from './view/profitAndLossClassesView/profitAndLossForTimeframeClassesViewEpic';
|
|
238
|
+
import { fetchProfitAndLossProjectViewEpic, } from './view/profitAndLossProjectView/profitAndLossProjectViewEpic';
|
|
239
|
+
import { fetchProfitAndLossForTimeframeProjectViewEpic, } from './view/profitAndLossProjectView/profitAndLossForTimeframeProjectViewEpic';
|
|
239
240
|
import { fetchEntityRecommendationsByTransactionIdEpic, } from './view/recommendation/fetchEntityRecommendationsByTransactionIdEpic';
|
|
240
241
|
import { fetchRecommendationByEntityIdEpic, } from './view/recommendation/fetchRecommendationByEntityIdEpic';
|
|
241
242
|
import { fetchRecommendationByEntityNameEpic, } from './view/recommendation/fetchRecommendationByEntityNameEpic';
|
|
@@ -544,7 +545,7 @@ import { fetchZeniAccStatementListEpic, } from './view/zeniAccStatementList/fetc
|
|
|
544
545
|
import { fetchZeniAccStatementPageEpic, } from './view/zeniAccStatementList/fetchZeniAccStatementPageEpic';
|
|
545
546
|
import { fetchZeniAccountsPromoCardEpic, } from './view/zeniAccountsPromoCard/zeniAccountsPromoCardEpic';
|
|
546
547
|
// Note: Please maintain strict alphabetical order
|
|
547
|
-
const combinedEpics = combineEpics(acceptBillPayTermsEpic, acceptBillPayUpdatedTermsEpic, acceptChargeCardTermsEpic, acceptEmployeeRemiTermsEpic, acceptMasterTOSEpic, acceptRemiTermsEpic, acceptTreasuryTermsEpic, acceptZeniAccountTermsEpic, addCardPaymentSourceEpic, approveOrRejectBillEpic, approveOrRejectBillsBulkActionEpic, approveOrRejectRemiEpic, approveOrRejectRemisBulkActionEpic, approveVendorGlobalReviewEpic, archiveTaskEpic, backgroundRefetchReviewTabEpic, bulkUpdateTaskListEpic, cancelAndDeleteBillEpic, cancelAndDeleteRemiEpic, cancelOrDeleteBillsBulkActionEpic, cancelOrDeleteRemisBulkActionEpic, cancelScheduleAccruedJournalEntryEpic, changeZeniPersonRolesEpic, checkDepositEpic, clearAllEpic, closeChargeCardEpic, closeChargeCardsEpic, companyManagementSavePendingUpdatesEpic, companyManagementSaveUpdatesEpic, confirmCardSetupIntentEpic, convertAmountToHomeCurrencyEpic, createAddressEpic, createAutoTransferRuleEpic, createBankAccountEpic, createCardSetupIntentEpic, createCheckingAccountEpic, createCompanyAddressEpic, createCompanyOfficersEpic, createCompanyUserAddressEpic, createGlobalMerchantEpic, createInternationalBankAccountEpic, createNewSchedulesAccruedEpic, createNewSchedulesEpic, createNewTaskGroupEpic, createPaymentInstrumentEpic, createSessionAndSubmitEpic, createSessionEpic, createTagEpic, createTaskFromTaskGroupTemplateEpic, createUserBankAccountEpic, deleteAccountStatementEpic, deleteAutoTransferRuleEpic, excludeAccountFromReconciliationEpic, includeAccountInReconciliationEpic, deleteBankAccountEpic, deleteBillEpic, deleteChatSessionEpic, deleteBillPayApprovalRuleEpic, deleteFileEpic, deleteFileListEpic, deleteInternationalBankAccountEpic, deletePaymentInstrumentEpic, deletePersonEpic, deleteRemiApprovalRuleEpic, deleteRemiEpic, deleteScheduleAccruedDetailEpic, deleteScheduleDetailEpic, deleteTagEpic, deleteTaskEpic, deleteTaskGroupEpic, deleteTransactionAttachmentEpic, deleteUserBankAccountEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic, sendEmailMagicLinkToUserEpic, verifyDeviceWithTwoFAEpic, downloadAccountingProviderAttachmentEpic, dragNDropTasksEpic, enableChargeCardAutoPayEpic, enableSetupEpic, establishOnboardingPlaidConnectionEpic, establishPlaidConnectionEpic, expressInterestChargeCardEpic, fetchAccountListEpic, fetchAccountListForAccountTypesEpic, fetchAccountSettingsListForAccountTypesEpic, fetchAccruedScheduleListEpic, fetchActiveTenantEpic, fetchAddressEpic, fetchAllCockpitViewsEpic, fetchAllExpenseAutomationTabsEpic, fetchAllPeopleRequiredViewsEpic, fetchAllTagsEpic, fetchAllTaskGroupsEpic, fetchAllTenantsEpic, fetchAndUpdateVendorRecommendationsEpic, fetchAggregatedReportEpic, fetchApAgingDetailEpic, fetchApAgingEpic, fetchArAgingDetailEpic, fetchArAgingEpic, fetchAuditReportGroupViewEpic, fetchAuditRuleGroupViewEpic, fetchAutoTransferReviewDetailEpic, fetchAutoTransferRuleHistoryEpic, fetchAutoTransferRulesEpic, fetchBalanceSheetEpic, fetchBalanceSheetForTimeframeEpic, fetchBankAccountsListEpic, fetchBankConnectionsViewEpic, fetchBankCountryNameByIbanEpic, fetchBankNameByRoutingEpic, fetchBankNameBySwiftEpic, fetchBillAndInitializeLocalStoreEpic, fetchBillDetailEpic, fetchBillingAccountsListEpic, fetchBillListEpic, fetchBillListPerTabEpic, fetchBillPayApproversDetailsEpic, fetchBillPayApproversListEpic, fetchBillPayCardEpic, fetchBillPayConfigEpic, fetchBillPaySetupApproverViewEpic, fetchBillPaySetupViewEpic, fetchCardBalanceEpic, fetchCashbackDetailEpic, fetchCashBalanceEpic, fetchCashFlowEpic, fetchCashFlowForTimeframeEpic, fetchCashInCashOutEpic, fetchCashPositionEpic, fetchChargeCardConfigEpic, fetchChargeCardDetailEpic, fetchChargeCardDetailPageEpic, fetchChargeCardListEpic, fetchChargeCardListPageEpic, fetchChargeCardPaymentPageEpic, fetchChargeCardRepaymentDetailEpic, fetchChargeCardPaymentHistoryEpic, fetchChargeCardSetupViewEpic, fetchChargeCardStatementListEpic, fetchChargeCardTransactionAttachmentsEpic, fetchChargeCardTransactionListEpic, fetchChargeCardTransactionStatisticsEpic, fetchChargeCardsRecurringExpensesEpic, fetchChatHistoryEpic, fetchChatSessionsForUserEpic, fetchClassListEpic, fetchCollaborationAuthTokenEpic, fetchCompanyBillingAddressEpic, fetchCompanyConfigEpic, fetchCompanyHealthMetricConfigEpic, fetchCompanyHealthMetricViewEpic, fetchCompanyManagementViewEpic, fetchCompanyMetaDataEpic, fetchCompanyMonthEndReportHistoricDataEpic, fetchCompanyMonthEndReportHistoricDatesEpic, fetchCompanyMonthEndReportTemplatesEpic, fetchCompanyMonthEndReportViewEpic, fetchCompanyOnboardingViewEpic, fetchCompanyPassportViewEpic, fetchCompanyPortfolioViewEpic, fetchCompanyTaskManagerViewEpic, fetchCreditAccountEpic, fetchCreditAccountRepaymentEpic, fetchCurrencyConversionValueEpic, fetchDashboardEpic, fetchDashboardLayoutEpic, fetchDebitCardSummaryEpic, fetchDepositAccountDetailEpic, fetchDepositAccountEpic, fetchDepositAccountHistoryEpic, fetchDepositAccountLimitEpic, fetchDepositAccountListEpic, fetchDepositAccountListForCardsEpic, fetchDepositAccountTransactionListEpic, fetchDownloadSchedulesEpic, fetchDuplicateBillPayReviewEpic, fetchDuplicateReimbursementEpic, fetchEditBillDetailPageEpic, fetchEditRemiDetailPageEpic, fetchEligibleActionsForBillEpic, fetchEntityAutoCompleteEpic, fetchEntityHistoryEpic, fetchEntityRecommendationsByTransactionIdEpic, fetchExcludedResourcesEpic, fetchExpenseAutomationFluxAnalysisViewEpic, fetchExpenseAutomationInitializeTransactionCategorizationViewLocalDataEpic, fetchExpenseAutomationJeSchedulesEpic, fetchExpenseAutomationJESchedulesPageEpic, fetchExpenseAutomationMarkTransactionAsNotMiscategorizedEpic, fetchExpenseAutomationMissingReceiptsEpic, bulkUploadReceiptsEpic, confirmBulkUploadMatchEpic, fetchBulkUploadBatchDetailsEpic, fetchMultipleBatchDetailsEpic, fetchMoreBatchDetailsEpic, fetchBulkUploadBatchesEpic, fetchCompletedTransactionsEpic, bulkUploadAutomatchingTimeoutEpic, pollBulkUploadBatchStatusEpic, pusherBatchStatusCompletionEpic, searchTransactionsForManualMatchEpic, fetchExpenseAutomationReconciliationsViewEpic, fetchExpenseAutomationSaveTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationViewEpic, fetchExpenseAutomationUpdateTransactionCategorizationEpic, fetchExpenseTrendEpic, fetchExpressPayInitialDetailsEpic, fetchExternalConnectionsEpic, fetchFileEpic, fetchFileListEpic, fetchFinanceStatementEpic, fetchForecastListEpic, initiateReportsClassViewRefetchingEpic, reportsResyncEpic, fetchGlobalMerchantAutoCompleteViewEpic, fetchGlobalMerchantRecommendationEpic, fetchIncomeTrendEpic, fetchInsightsCardEpic, fetchInternationalWireDynamicFormEpic, fetchIntlVerificationFormEpic, fetchIssueCardPageEpic, fetchMagicLinkBankNameByRoutingEpic, fetchMagicLinkBankNameBySwiftEpic, fetchMagicLinkBillEpic, fetchMagicLinkTenantEpic, fetchManagementViewEpic, fetchMerchantListEpic, fetchMonthClosePerformanceTrendEpic, fetchMonthEndCloseChecksEpic, fetchMyProfileEpic, fetchMyProfileViewEpic, fetchNetBurnOrIncomeClassesViewEpic, fetchNetBurnOrIncomeEpic, fetchNetBurnOrIncomeForTimeframeClassesViewEpic, fetchNetBurnOrIncomeForTimeframeEpic, fetchNetBurnOrIncomeStoryCardEpic, fetchNetBurnOrIncomeWithForecastEpic, fetchNotificationSettingsEpic, fetchNotificationSettingsViewEpic, fetchNotificationUnreadCountEpic, fetchNotificationViewEpic, fetchOnboardingCompletedCompaniesEpic, fetchOnboardingCustomerSetupViewEpic, fetchOnboardingCustomerViewEpic, fetchOnboardingViewEpic, fetchOpExByVendorEpic, fetchOpExByVendorReportForTimeframeEpic, fetchOpExByVendorReportSummaryEpic, fetchOpExClassesViewEpic, fetchOpExEpic, fetchOpExForTimeframeClassesViewEpic, fetchOpExReportForTimeframeEpic, fetchOpExWithForecastEpic, fetchOwnerListEpic, fetchParentSubsidiaryManagementViewEpic, fetchPaymentAccountBalanceEpic, fetchPaymentAccountListEpic, fetchPaymentSourcesEpic, fetchPeopleEpic, fetchPeoplePageEpic, fetchPortfolioViewEpic, fetchPreviousBillsEpic, fetchProfitAndLossClassesViewEpic, fetchProfitAndLossEpic, fetchProfitAndLossForTimeframeClassesViewEpic, fetchProfitAndLossForTimeframeEpic, fetchQBOConnectionPoolEpic, fetchRecommendationByEntityIdEpic, fetchRecommendationByEntityNameEpic, fetchRecommendationForAccountSettingsEpic, fetchRecommendationForAccountTypeEpic, fetchRecommendationsAndUpdateMerchantRecommendationsEpic, fetchRecommendedTransactionRowIndexEpic, fetchReferralsEpic, fetchReimbursementCardEpic, fetchReimbursementConfigEpic, fetchRemiAndInitializeLocalStoreEpic, fetchRemiApproversDetailsEpic, fetchRemiApproversListEpic, fetchRemiDetailEpic, fetchRemiListEpic, fetchRemiListPerTabEpic, fetchRemiSetupApproverViewEpic, fetchRemiSetupViewEpic, fetchRevenueClassesViewEpic, fetchRevenueEpic, fetchRevenueForTimeframeClassesViewEpic, fetchRevenueForTimeframeEpic, fetchRevenueWithForecastEpic, fetchReviewCompanyViewEpic, fetchReviewTransferDetailEpic, fetchRewardsPlanEpic, fetchScheduleAccruedDetailsEpic, fetchScheduleAccruedDetailsPageEpic, fetchScheduleDetailsEpic, fetchScheduleDetailsPageEpic, fetchScheduleListEpic, fetchSchedulesAccountEpic, fetchSubscriptionAddOnsEpic, fetchSubscriptionCouponsEpic, fetchSubscriptionCreateEstimateEpic, fetchSubscriptionDetailsEpic, fetchSubscriptionListEpic, fetchSubscriptionPlansEpic, fetchSubscriptionSummaryForTenantEpic, fetchSubscriptionUpdateEstimateEpic, fetchSubscriptionViewEpic, fetchSuggestedQuestionsEpic, fetchTaskDetailEpic, fetchTaskDetailPageEpic, fetchTaskGroupTemplatesEpic, fetchTaskHistoryEpic, fetchTaskListEpic, fetchTaskListPageEpic, fetchTasksCardEpic, fetchTopExEpic, fetchTransactionActivityLogEpic, fetchTransactionDetailEpic, fetchTransactionListByAccountEpic, fetchTransactionListByClassEpic, fetchTransactionListByEntityEpic, fetchTransactionsForEntityEpic, fetchTransactionsListByCategoryTypeEpic, fetchTreasuryDetailEpic, fetchTreasuryFundsEpic, fetchTreasuryHistoryEpic, fetchTreasurySetupViewEpic, fetchTreasuryStatementListEpic, fetchTreasuryTaxLetterListEpic, fetchTreasuryTransactionListEpic, updatePortfolioAllocationEpic, fetchPortfolioAllocationEpic, fetchTrendForEntityEpic, fetchUserDetailEpic, fetchUserFinancialAccountEpic, fetchUserListByTypeEpic, fetchUserRoleConfigEpic, fetchVendor1099TypeListEpic, fetchVendorAndUpdateBillLocalDataEpic, fetchVendorByNameAndParseInvoiceEpic, fetchVendorDetailsEpic, fetchVendorEpic, fetchVendorFirstReviewAttachmentsEpic, fetchVendorFirstReviewViewEpic, fetchVendorGlobalReviewViewEpic, fetchVendorsFiling1099AllEpic, fetchVendorsFiling1099DownloadEpic, fetchVendorsFiling1099ListEpic, fetchVendorsListEpic, fetchVendorsTabVendorDetailPageViewEpic, fetchVendorsTabVendorDetailsEpic, fetchVendorsTabVendorEpic, fetchVendorTabViewEpic, fetchVendorTypeListEpic, fetchZeniAccountListEpic, fetchZeniAccountsConfigEpic, fetchZeniAccountSetupViewEpic, fetchZeniAccountsPromoCardEpic, fetchZeniAccStatementListEpic, fetchZeniAccStatementPageEpic, fetchZeniUsersEpic, getOnboardingEmailGroupEpic, getOnboardingPlaidLinkTokenEpic, getPaymentAccountsEpic, getPlaidLinkTokenEpic, ignoreExpenseAutomationJEScheduleEpic, improveUsingZeniGPTEpic, initialiseExpenseAutomationReconciliationLocalDataForSelectedAccountIdEpic, initializeAccountMappingViewEpic, initializeAccountSettingsViewEpic, initializeBillPaySetupApproverViewUpdateDataEpic, initializeBillToLocalStoreEpic, initializeCardUserOnboardingLocalDataEpic, initializeCompanyHealthMetricViewLocalDataEpic, initializeDynamicFormEpic, initializeEditPersonEpic, initializeExpenseAutomationJeScheduleLocalDataEpic, initializeInternationalWireLocalDataEpic, initializeIntlVerificationFormEpic, initializeMyProfileLocalDataEpic, initializeOnboardingCustomerViewUpdateDataEpic, initializeRemiSetupApproverViewUpdateDataEpic, initializeRemiToLocalStoreEpic, initializeScheduleAccruedDetailLocalDataEpic, initializeScheduleDetailLocalDataEpic, initializeSubscriptionLocalDataEpic, initializeTaskToLocalStoreEpic, initializeTransactionDetailLocalDataEpic, initializeVendorAddressEpic, initiateChargeCardRepaymentEpic, invitePeopleEpic, inviteZeniPeopleEpic, issueChargeCardEpic, lockChargeCardEpic, lockChargeCardsEpic, markAsCompleteScheduleDetailEpic, markTransactionAsNotMiscategorizedEpic, parallelFetchAccountTransactionListEpic, parallelFetchClassTransactionListEpic, parallelFetchEntityTransactionListEpic, parallelFetchTransactionListByCategoryTypeEpic, parseInvoiceToBillEpic, parseReceiptsToRemiEpic, peopleSaveUpdatesEpic, pushToastNotificationEpic, refreshExpenseAutomationCurrentTabEpic, refreshIntegrationsDataEpic, rejectVendorGlobalReviewEpic, resendCardInviteEpic, resendInviteEpic, resendOtpEpic, resendVerifyDeviceOTPEpic, resendReferralInviteEpic, resetTransactionVendorLocalDataEpic, resetVendorDetailLocalDataEpic, resetVendorsTabVendorDetailLocalDataEpic, retryBankAccountConnectionEpic, retryBankAccountConnectionForOnboardingEpic, retryExpenseAutomationJEScheduleEpic, retryOrRefundBillEpic, validateBillsBulkActionEpic, reviewDraftRemisBulkActionEpic, reviewExpenseAutomationFluxAnalysisViewEpic, revokeCardInviteEpic, revokeChargeCardsInviteEpic, saveAccountMappingViewEpic, saveAccountSettingsViewEpic, saveBillDetailEpic, saveBillPaySetupApproverViewUpdatesEpic, saveCardOnboardingUserDetailsEpic, saveCompanyBillingAddressEpic, saveCompanyHealthMetricByIdEpic, saveCompanyMonthEndReportEpic, saveCompanyPassportDetailsEpic, saveExpenseAutomationReconciliationDetailsEpic, saveExpenseAutomationReconciliationReviewEpic, saveExternalConnectionEpic, saveMagicLinkBankAccountEpic, saveNewAddressEpic, saveNotificationSettingsEpic, saveOnboardingCustomerCompletedStatusEpic, saveOnboardingCustomerNotesEpic, saveOnboardingCustomerViewUpdatesEpic, saveRealTimeApprovalEpic, saveReasonForAuditRuleEpic, saveRemiDetailEpic, saveRemiSetupApproverViewUpdatesEpic, saveScheduleAccruedDetailsEpic, saveScheduleDetailsEpic, saveSubscriptionNotesUpdatesEpic, saveSubscriptionUpdatesEpic, saveTaskDetailEpic, saveTransactionDetailEpic, saveTransactionVendorEpic, saveVendorDetailsViewEpic, saveVendorEpic, saveVendorFirstReviewViewEpic, saveVendorsTabVendorEpic, sendCompanyMonthEndReportEpic, sendOnboardingCustomerViewInviteEpic, sendOtpEpic, sendReferralInviteEpic, statementCloseDayEpic, stopSubmitEpic, stopSubmitQuestionEpic, submitDraftBillsBulkActionEpic, submitDraftRemisBulkActionEpic, submitExpressPayEpic, submitIntlVerificationEpic, submitQuestionEpic, toggleReportUIOptionForecastModeEpic, transferMoneyEpic, treasuryTransferMoneyEpic, triggerReviewTabRefetchEpic, unlinkPaymentAccountEpic, unlockChargeCardEpic, unlockChargeCardsEpic, updateAccruedJESchedulesEpic, updateAddressEpic, updateAutoTransferRuleEpic, updateAmountsInScheduleAccruedDetailEpic, updateAmountsInScheduleDetailEpic, updateBusinessVerificationDetailsEpic, updateChargeCardDetailEpic, updateChargeCardLimitEpic, updateChargeCardNameEpic, updateChargeCardsLimitEpic, updateCompanyDetailsEpic, updateCompanyOfficerEpic, updateCompanyPassportLocalStoreDataEpic, updateDashboardLayoutEpic, updateDebitCardPinAttemptEpic, updateDepositAccountEpic, updateExpenseAutomationReconciliationBalanceLocalDataEpic, updateFileNameEpic, updateFilesMetadataEpic, updateJESchedulesEpic, updateMappedCashAccountEpic, updateMileageDetailsEpic, updateMyProfileEpic, updateNetBurnOrIncomeStoryCardSettingsEpic, updateNotificationViewAllNotificationsStatusEpic, updateNotificationViewNotificationStatusEpic, updateOnboardingCustomerViewCompleteStatusEpic, updateOnboardingCustomerViewDashboardLoadedEpic, updateOnboardingCustomerViewEpic, updateOnboardingCustomerViewLocalStoreDataEpic, updateOnboardingPaymentAccountLoginStatusEpic, updateOnboardingPaymentAccountStatusEpic, updatePaymentAccountEpic, updatePaymentAccountLoginStatusEpic, updatePaymentAccountStatusEpic, updatePhysicalChargeCardAttemptEpic, updatePrimaryContactEpic, updatePrimaryFundingAccountEpic, updateQBOConnectionPoolExternalConnectionEpic, updateReferViewedEpic, updateRemiSetupViewLocalStoreDataEpic, updateReportUIOptionCOABalancesRangeEpic, updateReportUIOptionIsCompareModeEpic, updateReportUIOptionIsCompareModeOnEpic, updateReportUIOptionThisPeriodEpic, updateReportUIOptionTimeFrameEpic, updateSectionAccountsViewEpic, updateSectionClassesViewEpicV2, updateSelectedVendorForCreateFlowEpic, updateSetupViewLocalStoreDataEpic, updateTaskFromListViewEpic, updateTaskGroupNameEpic, updateTransactionDetailEpic, updateTreasuryVideoViewedEpic, updateVendorContactEpic, uploadAccountStatementEpic, uploadMissingAttachmentSuccessEpic, uploadMissingReceiptSuccessEpic, uploadTransactionReceiptSuccessEpic, vendorFiling1099UploadDetailsSaveEpic, verifyOtpEpic, verifyUserEpic, waitForBillDetailThenInitializeLocalStoreEpic, waitForForecastListThenFetchNetBurnOrIncomeWithForecastEpic, waitForForecastListThenFetchOpExWithForecastEpic, waitForForecastListThenFetchRevenueWithForecastEpic, waitForMerchantRecommendationFetchThenUpdateRecommendationInMerchantEpic, waitForVendorByIdThenSaveBillUpdatetoLocalStoreEpic, waitForVendorByNameThenParsetoLocalStoreEpic, waitForVendorByNameThenUpdateBillDetailEpic, waitForVendorRecommendationFetchThenUpdateRecommendationInBillEpic, wiseRedirectEpic);
|
|
548
|
+
const combinedEpics = combineEpics(acceptBillPayTermsEpic, acceptBillPayUpdatedTermsEpic, acceptChargeCardTermsEpic, acceptEmployeeRemiTermsEpic, acceptMasterTOSEpic, acceptRemiTermsEpic, acceptTreasuryTermsEpic, acceptZeniAccountTermsEpic, addCardPaymentSourceEpic, approveOrRejectBillEpic, approveOrRejectBillsBulkActionEpic, approveOrRejectRemiEpic, approveOrRejectRemisBulkActionEpic, approveVendorGlobalReviewEpic, archiveTaskEpic, backgroundRefetchReviewTabEpic, bulkUpdateTaskListEpic, cancelAndDeleteBillEpic, cancelAndDeleteRemiEpic, cancelOrDeleteBillsBulkActionEpic, cancelOrDeleteRemisBulkActionEpic, cancelScheduleAccruedJournalEntryEpic, changeZeniPersonRolesEpic, checkDepositEpic, clearAllEpic, closeChargeCardEpic, closeChargeCardsEpic, companyManagementSavePendingUpdatesEpic, companyManagementSaveUpdatesEpic, confirmCardSetupIntentEpic, convertAmountToHomeCurrencyEpic, createAddressEpic, createAutoTransferRuleEpic, createBankAccountEpic, createCardSetupIntentEpic, createCheckingAccountEpic, createCompanyAddressEpic, createCompanyOfficersEpic, createCompanyUserAddressEpic, createGlobalMerchantEpic, createInternationalBankAccountEpic, createNewSchedulesAccruedEpic, createNewSchedulesEpic, createNewTaskGroupEpic, createPaymentInstrumentEpic, createSessionAndSubmitEpic, createSessionEpic, createTagEpic, createTaskFromTaskGroupTemplateEpic, createUserBankAccountEpic, deleteAccountStatementEpic, deleteAutoTransferRuleEpic, deleteBankAccountEpic, deleteBillEpic, deleteChatSessionEpic, deleteBillPayApprovalRuleEpic, deleteFileEpic, deleteFileListEpic, deleteInternationalBankAccountEpic, deletePaymentInstrumentEpic, deletePersonEpic, deleteRemiApprovalRuleEpic, deleteRemiEpic, deleteScheduleAccruedDetailEpic, deleteScheduleDetailEpic, deleteTagEpic, deleteTaskEpic, deleteTaskGroupEpic, deleteTransactionAttachmentEpic, deleteUserBankAccountEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic, sendEmailMagicLinkToUserEpic, verifyDeviceWithTwoFAEpic, downloadAccountingProviderAttachmentEpic, dragNDropTasksEpic, enableChargeCardAutoPayEpic, enableSetupEpic, establishOnboardingPlaidConnectionEpic, establishPlaidConnectionEpic, expressInterestChargeCardEpic, fetchAccountListEpic, fetchAccountListForAccountTypesEpic, fetchAccountSettingsListForAccountTypesEpic, fetchAccruedScheduleListEpic, fetchActiveTenantEpic, fetchAddressEpic, fetchAllCockpitViewsEpic, fetchAllExpenseAutomationTabsEpic, fetchAllPeopleRequiredViewsEpic, fetchAllTagsEpic, fetchAllTaskGroupsEpic, fetchAllTenantsEpic, fetchAndUpdateVendorRecommendationsEpic, fetchAggregatedReportEpic, fetchApAgingDetailEpic, fetchApAgingEpic, fetchArAgingDetailEpic, fetchArAgingEpic, fetchAuditReportGroupViewEpic, fetchAuditRuleGroupViewEpic, fetchAutoTransferReviewDetailEpic, fetchAutoTransferRuleHistoryEpic, fetchAutoTransferRulesEpic, fetchBalanceSheetEpic, fetchBalanceSheetForTimeframeEpic, fetchBankAccountsListEpic, fetchBankConnectionsViewEpic, fetchBankCountryNameByIbanEpic, fetchBankNameByRoutingEpic, fetchBankNameBySwiftEpic, fetchBillAndInitializeLocalStoreEpic, fetchBillDetailEpic, fetchBillingAccountsListEpic, fetchBillListEpic, fetchBillListPerTabEpic, fetchBillPayApproversDetailsEpic, fetchBillPayApproversListEpic, fetchBillPayCardEpic, fetchBillPayConfigEpic, fetchBillPaySetupApproverViewEpic, fetchBillPaySetupViewEpic, fetchCardBalanceEpic, fetchCashbackDetailEpic, fetchCashBalanceEpic, fetchCashFlowEpic, fetchCashFlowForTimeframeEpic, fetchCashInCashOutEpic, fetchCashPositionEpic, fetchChargeCardConfigEpic, fetchChargeCardDetailEpic, fetchChargeCardDetailPageEpic, fetchChargeCardListEpic, fetchChargeCardListPageEpic, fetchChargeCardPaymentPageEpic, fetchChargeCardRepaymentDetailEpic, fetchChargeCardPaymentHistoryEpic, fetchChargeCardSetupViewEpic, fetchChargeCardStatementListEpic, fetchChargeCardTransactionAttachmentsEpic, fetchChargeCardTransactionListEpic, fetchChargeCardTransactionStatisticsEpic, fetchChargeCardsRecurringExpensesEpic, fetchChatHistoryEpic, fetchChatSessionsForUserEpic, fetchClassListEpic, fetchCollaborationAuthTokenEpic, fetchCompanyBillingAddressEpic, fetchCompanyConfigEpic, fetchCompanyHealthMetricConfigEpic, fetchCompanyHealthMetricViewEpic, fetchCompanyManagementViewEpic, fetchCompanyMetaDataEpic, fetchCompanyMonthEndReportHistoricDataEpic, fetchCompanyMonthEndReportHistoricDatesEpic, fetchCompanyMonthEndReportTemplatesEpic, fetchCompanyMonthEndReportViewEpic, fetchCompanyOnboardingViewEpic, fetchCompanyPassportViewEpic, fetchCompanyPortfolioViewEpic, fetchCompanyTaskManagerViewEpic, fetchCreditAccountEpic, fetchCreditAccountRepaymentEpic, fetchCurrencyConversionValueEpic, fetchDashboardEpic, fetchDashboardLayoutEpic, fetchDebitCardSummaryEpic, fetchDepositAccountDetailEpic, fetchDepositAccountEpic, fetchDepositAccountHistoryEpic, fetchDepositAccountLimitEpic, fetchDepositAccountListEpic, fetchDepositAccountListForCardsEpic, fetchDepositAccountTransactionListEpic, fetchDownloadSchedulesEpic, fetchDuplicateBillPayReviewEpic, fetchDuplicateReimbursementEpic, fetchEditBillDetailPageEpic, fetchEditRemiDetailPageEpic, fetchEligibleActionsForBillEpic, fetchEntityAutoCompleteEpic, fetchEntityHistoryEpic, fetchEntityRecommendationsByTransactionIdEpic, fetchExcludedResourcesEpic, fetchExpenseAutomationFluxAnalysisViewEpic, fetchExpenseAutomationInitializeTransactionCategorizationViewLocalDataEpic, fetchExpenseAutomationJeSchedulesEpic, fetchExpenseAutomationJESchedulesPageEpic, fetchExpenseAutomationMarkTransactionAsNotMiscategorizedEpic, fetchExpenseAutomationMissingReceiptsEpic, bulkUploadReceiptsEpic, confirmBulkUploadMatchEpic, fetchBulkUploadBatchDetailsEpic, fetchMultipleBatchDetailsEpic, fetchMoreBatchDetailsEpic, fetchBulkUploadBatchesEpic, fetchCompletedTransactionsEpic, bulkUploadAutomatchingTimeoutEpic, pollBulkUploadBatchStatusEpic, pusherBatchStatusCompletionEpic, searchTransactionsForManualMatchEpic, fetchExpenseAutomationReconciliationsViewEpic, fetchExpenseAutomationSaveTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationViewEpic, fetchExpenseAutomationUpdateTransactionCategorizationEpic, fetchExpenseTrendEpic, fetchExpressPayInitialDetailsEpic, fetchExternalConnectionsEpic, fetchFileEpic, fetchFileListEpic, fetchFinanceStatementEpic, fetchForecastListEpic, initiateReportsClassViewRefetchingEpic, reportsResyncEpic, fetchGlobalMerchantAutoCompleteViewEpic, fetchGlobalMerchantRecommendationEpic, fetchIncomeTrendEpic, fetchInsightsCardEpic, fetchInternationalWireDynamicFormEpic, fetchIntlVerificationFormEpic, fetchIssueCardPageEpic, fetchMagicLinkBankNameByRoutingEpic, fetchMagicLinkBankNameBySwiftEpic, fetchMagicLinkBillEpic, fetchMagicLinkTenantEpic, fetchManagementViewEpic, fetchMerchantListEpic, fetchMonthClosePerformanceTrendEpic, fetchMonthEndCloseChecksEpic, fetchMyProfileEpic, fetchMyProfileViewEpic, fetchNetBurnOrIncomeClassesViewEpic, fetchNetBurnOrIncomeEpic, fetchNetBurnOrIncomeForTimeframeClassesViewEpic, fetchNetBurnOrIncomeForTimeframeEpic, fetchNetBurnOrIncomeStoryCardEpic, fetchNetBurnOrIncomeWithForecastEpic, fetchNotificationSettingsEpic, fetchNotificationSettingsViewEpic, fetchNotificationUnreadCountEpic, fetchNotificationViewEpic, fetchOnboardingCompletedCompaniesEpic, fetchOnboardingCustomerSetupViewEpic, fetchOnboardingCustomerViewEpic, fetchOnboardingViewEpic, fetchOpExByVendorEpic, fetchOpExByVendorReportForTimeframeEpic, fetchOpExByVendorReportSummaryEpic, fetchOpExClassesViewEpic, fetchOpExEpic, fetchOpExForTimeframeClassesViewEpic, fetchOpExReportForTimeframeEpic, fetchOpExWithForecastEpic, fetchOwnerListEpic, fetchParentSubsidiaryManagementViewEpic, fetchPaymentAccountBalanceEpic, fetchPaymentAccountListEpic, fetchPaymentSourcesEpic, fetchPeopleEpic, fetchPeoplePageEpic, fetchPortfolioViewEpic, fetchPreviousBillsEpic, fetchProfitAndLossClassesViewEpic, fetchProfitAndLossEpic, fetchProfitAndLossForTimeframeClassesViewEpic, fetchProfitAndLossForTimeframeProjectViewEpic, fetchProfitAndLossForTimeframeEpic, fetchProfitAndLossProjectViewEpic, fetchQBOConnectionPoolEpic, fetchRecommendationByEntityIdEpic, fetchRecommendationByEntityNameEpic, fetchRecommendationForAccountSettingsEpic, fetchRecommendationForAccountTypeEpic, fetchRecommendationsAndUpdateMerchantRecommendationsEpic, fetchRecommendedTransactionRowIndexEpic, fetchReferralsEpic, fetchReimbursementCardEpic, fetchReimbursementConfigEpic, fetchRemiAndInitializeLocalStoreEpic, fetchRemiApproversDetailsEpic, fetchRemiApproversListEpic, fetchRemiDetailEpic, fetchRemiListEpic, fetchRemiListPerTabEpic, fetchRemiSetupApproverViewEpic, fetchRemiSetupViewEpic, fetchRevenueClassesViewEpic, fetchRevenueEpic, fetchRevenueForTimeframeClassesViewEpic, fetchRevenueForTimeframeEpic, fetchRevenueWithForecastEpic, fetchReviewCompanyViewEpic, fetchReviewTransferDetailEpic, fetchRewardsPlanEpic, fetchScheduleAccruedDetailsEpic, fetchScheduleAccruedDetailsPageEpic, fetchScheduleDetailsEpic, fetchScheduleDetailsPageEpic, fetchScheduleListEpic, fetchSchedulesAccountEpic, fetchSubscriptionAddOnsEpic, fetchSubscriptionCouponsEpic, fetchSubscriptionCreateEstimateEpic, fetchSubscriptionDetailsEpic, fetchSubscriptionListEpic, fetchSubscriptionPlansEpic, fetchSubscriptionSummaryForTenantEpic, fetchSubscriptionUpdateEstimateEpic, fetchSubscriptionViewEpic, fetchSuggestedQuestionsEpic, fetchTaskDetailEpic, fetchTaskDetailPageEpic, fetchTaskGroupTemplatesEpic, fetchTaskHistoryEpic, fetchTaskListEpic, fetchTaskListPageEpic, fetchTasksCardEpic, fetchTopExEpic, fetchTransactionActivityLogEpic, fetchTransactionDetailEpic, fetchTransactionListByAccountEpic, fetchTransactionListByClassEpic, fetchTransactionListByEntityEpic, fetchTransactionsForEntityEpic, fetchTransactionsListByCategoryTypeEpic, fetchTreasuryDetailEpic, fetchTreasuryFundsEpic, fetchTreasuryHistoryEpic, fetchTreasurySetupViewEpic, fetchTreasuryStatementListEpic, fetchTreasuryTaxLetterListEpic, fetchTreasuryTransactionListEpic, updatePortfolioAllocationEpic, fetchPortfolioAllocationEpic, fetchTrendForEntityEpic, fetchUserDetailEpic, fetchUserFinancialAccountEpic, fetchUserListByTypeEpic, fetchUserRoleConfigEpic, fetchVendor1099TypeListEpic, fetchVendorAndUpdateBillLocalDataEpic, fetchVendorByNameAndParseInvoiceEpic, fetchVendorDetailsEpic, fetchVendorEpic, fetchVendorFirstReviewAttachmentsEpic, fetchVendorFirstReviewViewEpic, fetchVendorGlobalReviewViewEpic, fetchVendorsFiling1099AllEpic, fetchVendorsFiling1099DownloadEpic, fetchVendorsFiling1099ListEpic, fetchVendorsListEpic, fetchVendorsTabVendorDetailPageViewEpic, fetchVendorsTabVendorDetailsEpic, fetchVendorsTabVendorEpic, fetchVendorTabViewEpic, fetchVendorTypeListEpic, fetchZeniAccountListEpic, fetchZeniAccountsConfigEpic, fetchZeniAccountSetupViewEpic, fetchZeniAccountsPromoCardEpic, fetchZeniAccStatementListEpic, fetchZeniAccStatementPageEpic, fetchZeniUsersEpic, getOnboardingEmailGroupEpic, getOnboardingPlaidLinkTokenEpic, getPaymentAccountsEpic, getPlaidLinkTokenEpic, ignoreExpenseAutomationJEScheduleEpic, improveUsingZeniGPTEpic, initialiseExpenseAutomationReconciliationLocalDataForSelectedAccountIdEpic, initializeAccountMappingViewEpic, initializeAccountSettingsViewEpic, initializeBillPaySetupApproverViewUpdateDataEpic, initializeBillToLocalStoreEpic, initializeCardUserOnboardingLocalDataEpic, initializeCompanyHealthMetricViewLocalDataEpic, initializeDynamicFormEpic, initializeEditPersonEpic, initializeExpenseAutomationJeScheduleLocalDataEpic, initializeInternationalWireLocalDataEpic, initializeIntlVerificationFormEpic, initializeMyProfileLocalDataEpic, initializeOnboardingCustomerViewUpdateDataEpic, initializeRemiSetupApproverViewUpdateDataEpic, initializeRemiToLocalStoreEpic, initializeScheduleAccruedDetailLocalDataEpic, initializeScheduleDetailLocalDataEpic, initializeSubscriptionLocalDataEpic, initializeTaskToLocalStoreEpic, initializeTransactionDetailLocalDataEpic, initializeVendorAddressEpic, initiateChargeCardRepaymentEpic, invitePeopleEpic, inviteZeniPeopleEpic, issueChargeCardEpic, lockChargeCardEpic, lockChargeCardsEpic, markAsCompleteScheduleDetailEpic, markTransactionAsNotMiscategorizedEpic, parallelFetchAccountTransactionListEpic, parallelFetchClassTransactionListEpic, parallelFetchEntityTransactionListEpic, parallelFetchTransactionListByCategoryTypeEpic, parseInvoiceToBillEpic, parseReceiptsToRemiEpic, peopleSaveUpdatesEpic, pushToastNotificationEpic, refreshExpenseAutomationCurrentTabEpic, refreshIntegrationsDataEpic, rejectVendorGlobalReviewEpic, resendCardInviteEpic, resendInviteEpic, resendOtpEpic, resendVerifyDeviceOTPEpic, resendReferralInviteEpic, resetTransactionVendorLocalDataEpic, resetVendorDetailLocalDataEpic, resetVendorsTabVendorDetailLocalDataEpic, retryBankAccountConnectionEpic, retryBankAccountConnectionForOnboardingEpic, retryExpenseAutomationJEScheduleEpic, retryOrRefundBillEpic, validateBillsBulkActionEpic, reviewDraftRemisBulkActionEpic, reviewExpenseAutomationFluxAnalysisViewEpic, revokeCardInviteEpic, revokeChargeCardsInviteEpic, saveAccountMappingViewEpic, saveAccountSettingsViewEpic, saveBillDetailEpic, saveBillPaySetupApproverViewUpdatesEpic, saveCardOnboardingUserDetailsEpic, saveCompanyBillingAddressEpic, saveCompanyHealthMetricByIdEpic, saveCompanyMonthEndReportEpic, saveCompanyPassportDetailsEpic, saveExpenseAutomationReconciliationDetailsEpic, saveExpenseAutomationReconciliationReviewEpic, saveExternalConnectionEpic, saveMagicLinkBankAccountEpic, saveNewAddressEpic, saveNotificationSettingsEpic, saveOnboardingCustomerCompletedStatusEpic, saveOnboardingCustomerNotesEpic, saveOnboardingCustomerViewUpdatesEpic, saveRealTimeApprovalEpic, saveReasonForAuditRuleEpic, saveRemiDetailEpic, saveRemiSetupApproverViewUpdatesEpic, saveScheduleAccruedDetailsEpic, saveScheduleDetailsEpic, saveSubscriptionNotesUpdatesEpic, saveSubscriptionUpdatesEpic, saveTaskDetailEpic, saveTransactionDetailEpic, saveTransactionVendorEpic, saveVendorDetailsViewEpic, saveVendorEpic, saveVendorFirstReviewViewEpic, saveVendorsTabVendorEpic, sendCompanyMonthEndReportEpic, sendOnboardingCustomerViewInviteEpic, sendOtpEpic, sendReferralInviteEpic, statementCloseDayEpic, stopSubmitEpic, stopSubmitQuestionEpic, submitDraftBillsBulkActionEpic, submitDraftRemisBulkActionEpic, submitExpressPayEpic, submitIntlVerificationEpic, submitQuestionEpic, toggleReportUIOptionForecastModeEpic, transferMoneyEpic, treasuryTransferMoneyEpic, triggerReviewTabRefetchEpic, unlinkPaymentAccountEpic, unlockChargeCardEpic, unlockChargeCardsEpic, updateAccruedJESchedulesEpic, updateAddressEpic, updateAutoTransferRuleEpic, updateAmountsInScheduleAccruedDetailEpic, updateAmountsInScheduleDetailEpic, updateBusinessVerificationDetailsEpic, updateChargeCardDetailEpic, updateChargeCardLimitEpic, updateChargeCardNameEpic, updateChargeCardsLimitEpic, updateCompanyDetailsEpic, updateCompanyOfficerEpic, updateCompanyPassportLocalStoreDataEpic, updateDashboardLayoutEpic, updateDebitCardPinAttemptEpic, updateDepositAccountEpic, updateExpenseAutomationReconciliationBalanceLocalDataEpic, updateFileNameEpic, updateFilesMetadataEpic, updateJESchedulesEpic, updateMappedCashAccountEpic, updateMileageDetailsEpic, updateMyProfileEpic, updateNetBurnOrIncomeStoryCardSettingsEpic, updateNotificationViewAllNotificationsStatusEpic, updateNotificationViewNotificationStatusEpic, updateOnboardingCustomerViewCompleteStatusEpic, updateOnboardingCustomerViewDashboardLoadedEpic, updateOnboardingCustomerViewEpic, updateOnboardingCustomerViewLocalStoreDataEpic, updateOnboardingPaymentAccountLoginStatusEpic, updateOnboardingPaymentAccountStatusEpic, updatePaymentAccountEpic, updatePaymentAccountLoginStatusEpic, updatePaymentAccountStatusEpic, updatePhysicalChargeCardAttemptEpic, updatePrimaryContactEpic, updatePrimaryFundingAccountEpic, updateQBOConnectionPoolExternalConnectionEpic, updateReferViewedEpic, updateRemiSetupViewLocalStoreDataEpic, updateReportUIOptionCOABalancesRangeEpic, updateReportUIOptionIsCompareModeEpic, updateReportUIOptionIsCompareModeOnEpic, updateReportUIOptionThisPeriodEpic, updateReportUIOptionTimeFrameEpic, updateSectionAccountsViewEpic, updateSectionClassesViewEpicV2, updateSectionProjectViewEpic, updateSelectedVendorForCreateFlowEpic, updateSetupViewLocalStoreDataEpic, updateTaskFromListViewEpic, updateTaskGroupNameEpic, updateTransactionDetailEpic, updateTreasuryVideoViewedEpic, updateVendorContactEpic, uploadAccountStatementEpic, uploadMissingAttachmentSuccessEpic, uploadMissingReceiptSuccessEpic, uploadTransactionReceiptSuccessEpic, vendorFiling1099UploadDetailsSaveEpic, verifyOtpEpic, verifyUserEpic, waitForBillDetailThenInitializeLocalStoreEpic, waitForForecastListThenFetchNetBurnOrIncomeWithForecastEpic, waitForForecastListThenFetchOpExWithForecastEpic, waitForForecastListThenFetchRevenueWithForecastEpic, waitForMerchantRecommendationFetchThenUpdateRecommendationInMerchantEpic, waitForVendorByIdThenSaveBillUpdatetoLocalStoreEpic, waitForVendorByNameThenParsetoLocalStoreEpic, waitForVendorByNameThenUpdateBillDetailEpic, waitForVendorRecommendationFetchThenUpdateRecommendationInBillEpic, wiseRedirectEpic);
|
|
548
549
|
const rootEpic = (action$, store$, dependencies) => combinedEpics(action$, store$, dependencies).pipe(map(identity), catchError((error, source) => {
|
|
549
550
|
console.error(error);
|
|
550
551
|
return source;
|