@zeniai/client-epic-state 4.15.22 → 4.15.24

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.
Files changed (127) hide show
  1. package/lib/commonStateTypes/timePeriod.d.ts +1 -1
  2. package/lib/commonStateTypes/timePeriod.js +2 -2
  3. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  4. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +0 -1
  5. package/lib/configureStore.js +1 -2
  6. package/lib/entity/account/accountState.d.ts +1 -1
  7. package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
  8. package/lib/entity/class/classReducer.d.ts +4 -4
  9. package/lib/entity/class/classState.d.ts +1 -1
  10. package/lib/entity/customer/customerPayload.d.ts +1 -1
  11. package/lib/entity/customer/customerPayload.js +6 -16
  12. package/lib/entity/forecast/forecastState.d.ts +1 -1
  13. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  14. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  15. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  16. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  17. package/lib/entity/snackbar/snackbarTypes.js +0 -4
  18. package/lib/entity/task/taskState.d.ts +1 -1
  19. package/lib/entity/tenant/clearAllEpic.d.ts +2 -4
  20. package/lib/entity/tenant/clearAllEpic.js +0 -4
  21. package/lib/entity/tenant/tenantReducer.d.ts +1 -1
  22. package/lib/entity/tenant/tenantReducer.js +2 -7
  23. package/lib/entity/transaction/payloadTypes/customerTransactionPayload.d.ts +1 -1
  24. package/lib/entity/transaction/payloadTypes/customerTransactionPayload.js +2 -1
  25. package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +0 -2
  26. package/lib/entity/transaction/payloadTypes/transactionPayload.js +3 -7
  27. package/lib/entity/transaction/payloadTypes/vendorTransactionPayload.d.ts +1 -9
  28. package/lib/entity/transaction/payloadTypes/vendorTransactionPayload.js +2 -23
  29. package/lib/entity/transaction/stateTypes/transaction.d.ts +1 -3
  30. package/lib/entity/transaction/stateTypes/transactionType.d.ts +1 -1
  31. package/lib/entity/transaction/stateTypes/transactionType.js +0 -1
  32. package/lib/entity/transaction/stateTypes/vendorTransaction.d.ts +0 -5
  33. package/lib/entity/transaction/stateTypes/vendorTransaction.js +1 -5
  34. package/lib/entity/transaction/toSupportedTransaction.js +1 -6
  35. package/lib/entity/transaction/transactionReducer.d.ts +0 -17
  36. package/lib/entity/transaction/transactionReducer.js +2 -47
  37. package/lib/entity/transaction/transactionSelector.d.ts +0 -2
  38. package/lib/entity/transaction/transactionSelector.js +0 -5
  39. package/lib/entity/transaction/transactionState.d.ts +4 -6
  40. package/lib/entity/vendorExpense/vendorExpenseSelector.d.ts +2 -2
  41. package/lib/epic.d.ts +1 -6
  42. package/lib/epic.js +1 -6
  43. package/lib/index.d.ts +8 -16
  44. package/lib/index.js +28 -52
  45. package/lib/reducer.d.ts +1 -7
  46. package/lib/reducer.js +0 -6
  47. package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
  48. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  49. package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
  50. package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
  51. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  52. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  53. package/lib/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewReducer.d.ts +2 -2
  54. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  55. package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.d.ts +1 -2
  56. package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +10 -24
  57. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.d.ts +1 -2
  58. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +0 -14
  59. package/lib/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +4 -20
  60. package/lib/view/expenseAutomationView/expenseAutomationViewReducer.d.ts +2 -2
  61. package/lib/view/expenseAutomationView/expenseAutomationViewSelector.js +2 -17
  62. package/lib/view/expenseAutomationView/expenseAutomationViewState.d.ts +2 -2
  63. package/lib/view/expenseAutomationView/expenseAutomationViewState.js +1 -1
  64. package/lib/view/expenseAutomationView/helpers/saveTransactionHelper.js +30 -81
  65. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  66. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +10 -54
  67. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +1 -2
  68. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +4 -5
  69. package/lib/view/expenseAutomationView/selectorTypes/expenseAutomationViewSelectorTypes.d.ts +0 -2
  70. package/lib/view/expenseAutomationView/selectorTypes/expenseAutomationViewSelectorTypes.js +1 -1
  71. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +0 -8
  72. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  73. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  74. package/lib/view/opExByVendor/fetchOpExByVendorReportForTimeframeEpic.js +4 -3
  75. package/lib/view/opExByVendor/opExByVendorReducer.d.ts +4 -1
  76. package/lib/view/opExByVendor/opExByVendorReducer.js +11 -3
  77. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  78. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  79. package/lib/view/spendManagement/billPay/billsBulkActionView/epics/validateBillsBulkActionEpic.ts.js +3 -4
  80. package/lib/view/spendManagement/plaidAccount/epic/plaidConnection/establishPlaidConnectionEpic.js +3 -11
  81. package/lib/view/spendManagement/plaidAccount/plaidAccountViewReducer.d.ts +1 -2
  82. package/lib/view/spendManagement/plaidAccount/plaidAccountViewReducer.js +1 -3
  83. package/lib/view/spendManagement/plaidAccount/plaidAccountViewState.d.ts +1 -1
  84. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  85. package/lib/view/topEx/topExSelector.d.ts +1 -1
  86. package/lib/view/transactionDetail/epics/saveTransactionHelper.js +4 -13
  87. package/lib/view/transactionDetail/epics/updateTransactionDetailEpic.js +3 -16
  88. package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +5 -22
  89. package/lib/view/transactionDetail/transactionDetailState.d.ts +0 -1
  90. package/lib/view/transactionDetail/transactionDetailTypes.d.ts +0 -6
  91. package/lib/view/vendorReviewView/vendorGlobalReviewView/vendorGlobalReviewViewState.d.ts +1 -1
  92. package/lib/zeniAPI.d.ts +0 -1
  93. package/package.json +1 -2
  94. package/lib/entity/accountRecon/accountReconPayload.d.ts +0 -70
  95. package/lib/entity/accountRecon/accountReconPayload.js +0 -125
  96. package/lib/entity/accountRecon/accountReconReducer.d.ts +0 -16
  97. package/lib/entity/accountRecon/accountReconReducer.js +0 -71
  98. package/lib/entity/accountRecon/accountReconSelector.d.ts +0 -28
  99. package/lib/entity/accountRecon/accountReconSelector.js +0 -44
  100. package/lib/entity/accountRecon/accountReconState.d.ts +0 -70
  101. package/lib/entity/accountRecon/accountReconState.js +0 -28
  102. package/lib/entity/transaction/payloadTypes/reconciliationTransactionPayloads.d.ts +0 -35
  103. package/lib/entity/transaction/payloadTypes/reconciliationTransactionPayloads.js +0 -53
  104. package/lib/entity/transaction/stateTypes/reconciliationTransaction.d.ts +0 -32
  105. package/lib/entity/transaction/stateTypes/reconciliationTransaction.js +0 -10
  106. package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.d.ts +0 -15
  107. package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +0 -118
  108. package/lib/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.d.ts +0 -10
  109. package/lib/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.js +0 -49
  110. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationDetailEpic.d.ts +0 -14
  111. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationDetailEpic.js +0 -169
  112. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.d.ts +0 -9
  113. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.js +0 -154
  114. package/lib/view/expenseAutomationView/epics/accountRecon/updateReconcileTabLocalDataEpic.d.ts +0 -6
  115. package/lib/view/expenseAutomationView/epics/accountRecon/updateReconcileTabLocalDataEpic.js +0 -110
  116. package/lib/view/expenseAutomationView/helpers/reconciliationHelpers.d.ts +0 -7
  117. package/lib/view/expenseAutomationView/helpers/reconciliationHelpers.js +0 -18
  118. package/lib/view/expenseAutomationView/payload/reconciliationPayload.d.ts +0 -25
  119. package/lib/view/expenseAutomationView/payload/reconciliationPayload.js +0 -51
  120. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.d.ts +0 -66
  121. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.js +0 -375
  122. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.d.ts +0 -50
  123. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.js +0 -7
  124. package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.d.ts +0 -5
  125. package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.js +0 -249
  126. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +0 -102
  127. package/lib/view/expenseAutomationView/types/reconciliationViewState.js +0 -38
@@ -1,154 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.saveReconciliationReviewEpic = void 0;
4
- const rxjs_1 = require("rxjs");
5
- const operators_1 = require("rxjs/operators");
6
- const formatZeniDateFY_1 = require("../../../../commonStateTypes/fiscalYearHelpers/formatZeniDateFY");
7
- const accountReconReducer_1 = require("../../../../entity/accountRecon/accountReconReducer");
8
- const accountReconSelector_1 = require("../../../../entity/accountRecon/accountReconSelector");
9
- const accountReconState_1 = require("../../../../entity/accountRecon/accountReconState");
10
- const snackbarReducer_1 = require("../../../../entity/snackbar/snackbarReducer");
11
- const tenantSelector_1 = require("../../../../entity/tenant/tenantSelector");
12
- const transactionReducer_1 = require("../../../../entity/transaction/transactionReducer");
13
- const vendorState_1 = require("../../../../entity/vendor/vendorState");
14
- const responsePayload_1 = require("../../../../responsePayload");
15
- const reconciliationViewReducer_1 = require("../../reducers/reconciliationViewReducer");
16
- const saveReconciliationReviewEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(reconciliationViewReducer_1.saveReconciliationReview.match), (0, operators_1.mergeMap)((action) => {
17
- const state = state$.value;
18
- const { transactionId } = action.payload;
19
- const localData = state.expenseAutomationReconciliationViewState.reconTabsState.review
20
- .localData[transactionId];
21
- const reconcileTabLocalData = state.expenseAutomationReconciliationViewState.reconTabsState.reconcile
22
- .localData;
23
- const { expenseAutomationViewState: { selectedPeriodByTenantId }, expenseAutomationReconciliationViewState: { selectedAccountId }, } = state;
24
- const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state);
25
- const selectedPeriod = selectedPeriodByTenantId[currentTenant.tenantId];
26
- let reconciliationData;
27
- let reconciliationId = undefined;
28
- let updatedTransaction;
29
- if (selectedAccountId != null) {
30
- reconciliationData = (0, accountReconSelector_1.getAccountReconByAccountIdAndSelectedPeriod)(state, selectedAccountId, selectedPeriod);
31
- reconciliationId = reconciliationData === null || reconciliationData === void 0 ? void 0 : reconciliationData.reconciliationId;
32
- updatedTransaction = reconciliationData === null || reconciliationData === void 0 ? void 0 : reconciliationData.transactionsToReview.find((transaction) => transaction.transactionId === transactionId);
33
- }
34
- const queryParam = {
35
- review_action: updatedTransaction === null || updatedTransaction === void 0 ? void 0 : updatedTransaction.recommendedAction.action,
36
- reconciliation_id: reconciliationId !== null && reconciliationId !== void 0 ? reconciliationId : '',
37
- ref_account_id: selectedAccountId,
38
- ref_account_name: reconciliationData === null || reconciliationData === void 0 ? void 0 : reconciliationData.account.accountName,
39
- };
40
- let payload = {};
41
- if (reconciliationData != null &&
42
- updatedTransaction != null &&
43
- localData != null) {
44
- if (updatedTransaction.recommendedAction.action === 'record_expense') {
45
- payload = getPayloadForExpenseRecord(updatedTransaction, localData);
46
- }
47
- if (updatedTransaction.recommendedAction.action === 'record_bill_payment') {
48
- const linkedTransaction = updatedTransaction.recommendedAction.recommendedTransactions.find((transaction) => transaction.transactionId === localData.matchedTransactionId);
49
- payload = getPayloadForBillPayment(updatedTransaction, linkedTransaction, localData, reconciliationData === null || reconciliationData === void 0 ? void 0 : reconciliationData.account.accountType);
50
- }
51
- }
52
- return zeniAPI
53
- .postAndGetJSON(`${zeniAPI.apiEndPoints.reconciliationMicroServiceBaseUrl}/1.0/reconciliation/review?query=${encodeURIComponent(JSON.stringify(queryParam))}`, payload)
54
- .pipe((0, operators_1.mergeMap)((response) => {
55
- var _a, _b;
56
- if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
57
- const actions = [];
58
- actions.push((0, reconciliationViewReducer_1.updateSaveReconciliationReviewFetchStatus)({
59
- transactionId,
60
- fetchState: 'Completed',
61
- }), (0, transactionReducer_1.updateMultipleReconcileTransactions)([
62
- {
63
- allReconciledTransactions: [response.data.reconciliation],
64
- currencyPayload: {
65
- currency_code: (_a = updatedTransaction === null || updatedTransaction === void 0 ? void 0 : updatedTransaction.amount.currencyCode) !== null && _a !== void 0 ? _a : vendorState_1.defaultVendorCurrency.currencyCode,
66
- currency_symbol: (_b = updatedTransaction === null || updatedTransaction === void 0 ? void 0 : updatedTransaction.amount.currencySymbol) !== null && _b !== void 0 ? _b : vendorState_1.defaultVendorCurrency.currencySymbol,
67
- },
68
- },
69
- ], 'merge'));
70
- if (selectedAccountId != null) {
71
- const accountReconKey = (0, accountReconState_1.toAccountReconKey)(selectedAccountId, selectedPeriod);
72
- actions.push((0, accountReconReducer_1.excludeReconReviewTransaction)(accountReconKey, transactionId), (0, accountReconReducer_1.addTransactionToReconcileList)(accountReconKey, response.data.reconciliation.transaction_id), (0, reconciliationViewReducer_1.updateReconcileTabLocalData)({
73
- selectedTransactionIds: [
74
- ...reconcileTabLocalData.selectedTransactionIds,
75
- response.data.reconciliation.transaction_id,
76
- ],
77
- }));
78
- }
79
- actions.push((0, snackbarReducer_1.openSnackbar)({
80
- messageSection: 'recon_transaction_creation',
81
- messageText: 'success',
82
- type: 'success',
83
- }));
84
- return (0, rxjs_1.from)(actions);
85
- }
86
- else {
87
- const actions = [];
88
- actions.push((0, reconciliationViewReducer_1.updateSaveReconciliationReviewFetchStatus)({
89
- transactionId,
90
- fetchState: 'Error',
91
- error: response.status,
92
- }), (0, snackbarReducer_1.openSnackbar)({
93
- messageSection: 'recon_transaction_creation',
94
- messageText: 'failed',
95
- type: 'error',
96
- variables: [
97
- {
98
- variableName: '_api-error_',
99
- variableValue: response.status.message,
100
- },
101
- ],
102
- }));
103
- return (0, rxjs_1.from)(actions);
104
- }
105
- }), (0, operators_1.catchError)((error) => {
106
- const actions = [];
107
- actions.push((0, reconciliationViewReducer_1.updateSaveReconciliationReviewFetchStatus)({
108
- transactionId,
109
- fetchState: 'Error',
110
- error: (0, responsePayload_1.createZeniAPIStatus)(`Unexpected Error occurred while saving reconciliation review`, 'save reconciliation review REST API call errored out' +
111
- JSON.stringify(error)),
112
- }), (0, snackbarReducer_1.openSnackbar)({
113
- messageSection: 'recon_transaction_creation',
114
- messageText: 'failed',
115
- type: 'error',
116
- variables: [
117
- {
118
- variableName: '_api-error_',
119
- variableValue: JSON.stringify('error'),
120
- },
121
- ],
122
- }));
123
- return (0, rxjs_1.from)(actions);
124
- }));
125
- }));
126
- exports.saveReconciliationReviewEpic = saveReconciliationReviewEpic;
127
- function getPayloadForExpenseRecord(updatedTransaction, localData) {
128
- var _a, _b;
129
- return {
130
- amount: updatedTransaction.amount.amount,
131
- transaction_memo: localData.memo,
132
- transaction_date: updatedTransaction.transactionDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT),
133
- transaction_direction: updatedTransaction.transactionDirection,
134
- transaction_id: updatedTransaction.transactionId,
135
- vendor_id: (_a = localData.vendor) === null || _a === void 0 ? void 0 : _a.id,
136
- vendor_name: (_b = localData.vendor) === null || _b === void 0 ? void 0 : _b.name,
137
- account_id: localData.categoryId,
138
- accounting_class_id: localData.classId,
139
- currency_code: updatedTransaction.amount.currencyCode,
140
- };
141
- }
142
- const getPayloadForBillPayment = (updatedTransaction, linkedTransaction, localData, accountType) => {
143
- return {
144
- account_type: accountType,
145
- amount: updatedTransaction.amount.amount,
146
- transaction_memo: localData.memo,
147
- transaction_date: updatedTransaction.transactionDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT),
148
- transaction_direction: updatedTransaction.transactionDirection,
149
- transaction_id: updatedTransaction.transactionId,
150
- linked_transaction_id: linkedTransaction === null || linkedTransaction === void 0 ? void 0 : linkedTransaction.transactionId,
151
- linked_transaction_type: linkedTransaction === null || linkedTransaction === void 0 ? void 0 : linkedTransaction.transactionType,
152
- currency_code: updatedTransaction.amount.currencyCode,
153
- };
154
- };
@@ -1,6 +0,0 @@
1
- import { ActionsObservable, StateObservable } from 'redux-observable';
2
- import { Observable } from 'rxjs';
3
- import { RootState } from '../../../../reducer';
4
- import { updateBalancesLocalData, updateReconcileTabLocalData } from '../../reducers/reconciliationViewReducer';
5
- export type ActionType = ReturnType<typeof updateReconcileTabLocalData> | ReturnType<typeof updateBalancesLocalData>;
6
- export declare const updateReconcileTabLocalDataEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>) => Observable<ActionType>;
@@ -1,110 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateReconcileTabLocalDataEpic = void 0;
4
- const rxjs_1 = require("rxjs");
5
- const operators_1 = require("rxjs/operators");
6
- const accountReconSelector_1 = require("../../../../entity/accountRecon/accountReconSelector");
7
- const tenantSelector_1 = require("../../../../entity/tenant/tenantSelector");
8
- const transactionSelector_1 = require("../../../../entity/transaction/transactionSelector");
9
- const reconciliationViewReducer_1 = require("../../reducers/reconciliationViewReducer");
10
- const updateReconcileTabLocalDataEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(reconciliationViewReducer_1.updateReconcileTabLocalData.match), (0, operators_1.mergeMap)((action) => {
11
- var _a, _b;
12
- const state = state$.value;
13
- const { transactionState, expenseAutomationReconciliationViewState, expenseAutomationViewState: { selectedPeriodByTenantId }, } = state;
14
- const { selectedAccountId } = expenseAutomationReconciliationViewState;
15
- const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state);
16
- const selectedPeriod = selectedPeriodByTenantId[currentTenant.tenantId];
17
- const actions = [];
18
- const { selectedTransactionIds } = action.payload;
19
- if (selectedAccountId != null) {
20
- const transactions = [];
21
- const reconEntity = (0, accountReconSelector_1.getAccountReconByAccountIdAndSelectedPeriod)(state, selectedAccountId, selectedPeriod);
22
- if (reconEntity == null) {
23
- return (0, rxjs_1.from)(actions);
24
- }
25
- const initialClearedBalance = (_a = reconEntity.initialClearedBalance) !== null && _a !== void 0 ? _a : {
26
- amount: 0,
27
- currencyCode: reconEntity.currency.currencyCode,
28
- currencySymbol: reconEntity.currency.currencySymbol,
29
- };
30
- const bankBalance = (_b = reconEntity.balance) !== null && _b !== void 0 ? _b : {
31
- amount: 0,
32
- currencyCode: reconEntity.currency.currencyCode,
33
- currencySymbol: reconEntity.currency.currencySymbol,
34
- };
35
- selectedTransactionIds.forEach((transactionId) => {
36
- const transaction = (0, transactionSelector_1.getMatchedTransactionById)(transactionState, transactionId);
37
- if (transaction != null) {
38
- transactions.push(transaction);
39
- }
40
- });
41
- const updatedClearedBalance = calculateUpdatedClearedBalance(transactions, initialClearedBalance);
42
- const { variance, variancePercentage } = calculateVariance(updatedClearedBalance, bankBalance);
43
- const currency = {
44
- currencyCode: bankBalance.currencyCode,
45
- currencySymbol: bankBalance.currencySymbol,
46
- };
47
- const depositsLocalData = calculateSplitAmounts(transactions, 'credit', currency);
48
- const paymentLocalData = calculateSplitAmounts(transactions, 'debit', currency);
49
- actions.push((0, reconciliationViewReducer_1.updateBalancesLocalData)({
50
- clearedBalance: updatedClearedBalance,
51
- variance: variance,
52
- variancePercentage: variancePercentage,
53
- deposits: depositsLocalData,
54
- payments: paymentLocalData,
55
- }));
56
- }
57
- return (0, rxjs_1.from)(actions);
58
- }));
59
- exports.updateReconcileTabLocalDataEpic = updateReconcileTabLocalDataEpic;
60
- function calculateUpdatedClearedBalance(transactions, initialClearedBalance) {
61
- // Reduce the transactions to calculate the updated cleared balance
62
- const updatedClearedBalance = transactions.reduce((updatedBalance, transaction) => {
63
- if (transaction.transactionDirection === 'debit') {
64
- return updatedBalance - transaction.amount.amount; // Deduct for debit
65
- }
66
- else if (transaction.transactionDirection === 'credit') {
67
- return updatedBalance + transaction.amount.amount; // Add for credit
68
- }
69
- return updatedBalance; // Return unchanged balance for other cases
70
- }, initialClearedBalance.amount);
71
- return {
72
- amount: updatedClearedBalance,
73
- currencyCode: initialClearedBalance.currencyCode,
74
- currencySymbol: initialClearedBalance.currencySymbol,
75
- };
76
- }
77
- function calculateSplitAmounts(transactions, transactionDirection, currency) {
78
- if (transactions.length === 0) {
79
- return {
80
- count: 0,
81
- totalAmount: Object.assign({ amount: 0 }, currency),
82
- };
83
- }
84
- let count = 0;
85
- let totalAmount = 0;
86
- transactions.forEach((transaction) => {
87
- if (transaction.transactionDirection === transactionDirection) {
88
- count = count + 1;
89
- totalAmount = totalAmount + transaction.amount.amount;
90
- }
91
- });
92
- return {
93
- count,
94
- totalAmount: Object.assign({ amount: totalAmount }, currency),
95
- };
96
- }
97
- function calculateVariance(updatedClearedBalance, bankBalance) {
98
- const variance = Math.abs(bankBalance.amount - updatedClearedBalance.amount);
99
- const variancePercent = bankBalance.amount != 0
100
- ? parseFloat(((variance / bankBalance.amount) * 100).toFixed(2))
101
- : 0;
102
- return {
103
- variance: {
104
- amount: variance,
105
- currencyCode: bankBalance.currencyCode,
106
- currencySymbol: bankBalance.currencySymbol,
107
- },
108
- variancePercentage: variancePercent,
109
- };
110
- }
@@ -1,7 +0,0 @@
1
- import { CurrencyPayload } from '../../../commonPayloadTypes/v2/viewAndReportPayloadv2';
2
- import { ReconciliationDataPayload } from '../../../entity/accountRecon/accountReconPayload';
3
- import { MatchedTransactionPayload } from '../../../entity/transaction/payloadTypes/reconciliationTransactionPayloads';
4
- export declare const getAllReviewTransactionsFromReconcilePayload: (reconcilePayload: ReconciliationDataPayload[]) => {
5
- allReconciledTransactions: MatchedTransactionPayload[];
6
- currencyPayload: CurrencyPayload;
7
- }[];
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAllReviewTransactionsFromReconcilePayload = void 0;
4
- const getAllReviewTransactionsFromReconcilePayload = (reconcilePayload) => {
5
- const transactionsPerRecon = reconcilePayload.map((reconcile) => {
6
- const allReconciledTransactions = [];
7
- const currencyPayload = reconcile.currency;
8
- reconcile.transactions.reconcile.forEach((reconciledTransaction) => {
9
- allReconciledTransactions.push(reconciledTransaction);
10
- });
11
- return {
12
- allReconciledTransactions,
13
- currencyPayload,
14
- };
15
- });
16
- return transactionsPerRecon;
17
- };
18
- exports.getAllReviewTransactionsFromReconcilePayload = getAllReviewTransactionsFromReconcilePayload;
@@ -1,25 +0,0 @@
1
- import { MonthYearPeriod } from '../../../commonStateTypes/timePeriod';
2
- import { AccountPayload } from '../../../entity/account/accountPayload';
3
- import { ReconciliationDataPayload, TransactionsToReviewPayload } from '../../../entity/accountRecon/accountReconPayload';
4
- import { AccountReconciliationEntity } from '../../../entity/accountRecon/accountReconSelector';
5
- import { MatchedTransactionPayload } from '../../../entity/transaction/payloadTypes/reconciliationTransactionPayloads';
6
- import { UserPayload } from '../../../entity/user/userPayload';
7
- import { RootState } from '../../../reducer';
8
- import { ZeniAPIResponse } from '../../../responsePayload';
9
- import { BalancesLocalData, SaveReconcileDetailActionPayload } from '../types/reconciliationViewState';
10
- export interface ReconciliationPayload {
11
- accounts: AccountPayload[];
12
- reconciliation: ReconciliationDataPayload[];
13
- users: UserPayload[];
14
- }
15
- export type ReconciliationResponse = ZeniAPIResponse<ReconciliationPayload>;
16
- export interface SaveReconciliationReviewPayload {
17
- reconciliation: MatchedTransactionPayload;
18
- }
19
- export type SaveReconciliationReviewResponse = ZeniAPIResponse<SaveReconciliationReviewPayload>;
20
- export declare function createSaveReconciliationPayloadBasedOnActionAndMethod(state: RootState, selectedPeriod: MonthYearPeriod, localData: BalancesLocalData, accountReconciliationEntity: AccountReconciliationEntity, action: SaveReconcileDetailActionPayload, method: 'PUT' | 'POST'): {
21
- transactions: {
22
- reconcile: MatchedTransactionPayload[];
23
- review: TransactionsToReviewPayload[];
24
- };
25
- };
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createSaveReconciliationPayloadBasedOnActionAndMethod = createSaveReconciliationPayloadBasedOnActionAndMethod;
4
- const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
5
- const accountReconPayload_1 = require("../../../entity/accountRecon/accountReconPayload");
6
- const reconciliationTransactionPayloads_1 = require("../../../entity/transaction/payloadTypes/reconciliationTransactionPayloads");
7
- function createSaveReconciliationPayloadBasedOnActionAndMethod(state, selectedPeriod, localData, accountReconciliationEntity, action, method) {
8
- var _a;
9
- const { balance, initialClearedBalance } = accountReconciliationEntity;
10
- const { expenseAutomationReconciliationViewState: { selectedAccountId, reconTabsState: { reconcile: { localData: { selectedTransactionIds }, }, }, }, } = state;
11
- const period = (0, timePeriod_1.convertToPeriod)(selectedPeriod, true);
12
- let payload = {};
13
- payload = Object.assign({ action: action.reconcileAction === 'save_reconcile_for_later'
14
- ? 'save_for_later'
15
- : action.reconcileAction, account_type: 'bank', bank_balance: (_a = balance === null || balance === void 0 ? void 0 : balance.amount) !== null && _a !== void 0 ? _a : 0, cleared_balance: localData.clearedBalance.amount, variance: localData.variance.amount, currency_code: balance === null || balance === void 0 ? void 0 : balance.currencyCode }, (initialClearedBalance != null && initialClearedBalance.amount != null
16
- ? {
17
- initial_cleared_balance: initialClearedBalance.amount,
18
- }
19
- : {}));
20
- if (method === 'POST') {
21
- payload = Object.assign(Object.assign({}, payload), { account_id: selectedAccountId, start_date: period.start, end_date: period.end });
22
- }
23
- if (action.reconcileAction === 'exclude') {
24
- payload = Object.assign(Object.assign({}, payload), { exclude_transaction_ids: [action.excludeTransactionId] });
25
- }
26
- const reconciledTransactionsPayload = createReconcileTransactionPayload(selectedTransactionIds, accountReconciliationEntity);
27
- const reviewTransactionsPayload = createReviewTransactionPayload(accountReconciliationEntity);
28
- return Object.assign(Object.assign({}, payload), { transactions: {
29
- reconcile: reconciledTransactionsPayload,
30
- review: reviewTransactionsPayload,
31
- } });
32
- }
33
- function createReconcileTransactionPayload(selectedIds, accountReconciliationEntity) {
34
- const matchedTransactionsPayload = [];
35
- const matchedReconcileTransactions = accountReconciliationEntity.transactionsToReconcile.map((transaction) => {
36
- return Object.assign(Object.assign({}, transaction), { isTransactionChecked: selectedIds.includes(transaction.id) });
37
- });
38
- matchedReconcileTransactions.forEach((transaction) => {
39
- const matchTransactionPayload = (0, reconciliationTransactionPayloads_1.toMatchedTransactionPayload)(transaction);
40
- matchedTransactionsPayload.push(matchTransactionPayload);
41
- });
42
- return matchedTransactionsPayload;
43
- }
44
- function createReviewTransactionPayload(accountReconciliationEntity) {
45
- const reviewTransactionsPayload = [];
46
- accountReconciliationEntity.transactionsToReview.forEach((transaction) => {
47
- const matchTransactionPayload = (0, accountReconPayload_1.toTransactionsToReviewPayload)(transaction);
48
- reviewTransactionsPayload.push(matchTransactionPayload);
49
- });
50
- return reviewTransactionsPayload;
51
- }
@@ -1,66 +0,0 @@
1
- import { Amount } from '../../../commonStateTypes/amount';
2
- import { FetchState, ID } from '../../../commonStateTypes/common';
3
- import { SortOrder } from '../../../commonStateTypes/selectorTypes/sortOrderTypes';
4
- import { MonthYearPeriod } from '../../../commonStateTypes/timePeriod';
5
- import { ZeniAPIStatus } from '../../../responsePayload';
6
- import { ReconciliationPayload } from '../payload/reconciliationPayload';
7
- import { ActionFetchStates, ReconReconcileSortKey, ReconReviewSortKey, ReconciliationReviewTabLocalData, ReconciliationTabsState, ReconciliationViewState, ReconciliationViewTabType, SaveReconcileDetailActionPayload, SaveReconciliationDetailFailurePayload, TransactionSummary } from '../types/reconciliationViewState';
8
- export declare const initialReconciliationTabsState: ReconciliationTabsState;
9
- export declare const initialActionFetchState: ActionFetchStates;
10
- export declare const initialState: ReconciliationViewState;
11
- export declare const fetchReconciliation: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedPeriod: MonthYearPeriod, accountId?: string | undefined, cacheOverride?: any, refreshViewInBackground?: any], {
12
- selectedPeriod: MonthYearPeriod;
13
- accountId: string | undefined;
14
- cacheOverride: any;
15
- refreshViewInBackground: any;
16
- }, "expenseAutomationReconciliationView/fetchReconciliation", never, never>, fetchReconciliationFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
17
- selectedPeriod: MonthYearPeriod;
18
- error: ZeniAPIStatus;
19
- refreshViewInBackground: boolean;
20
- accountId?: ID;
21
- reconciliationId?: ID;
22
- }, "expenseAutomationReconciliationView/fetchReconciliationFailure">, fetchReconciliationSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedPeriod: MonthYearPeriod, reconciliation: ReconciliationPayload, refreshViewInBackground?: any, accountId?: string | undefined, reconciliationId?: string | undefined], {
23
- selectedPeriod: MonthYearPeriod;
24
- accountId: string | undefined;
25
- refreshViewInBackground: any;
26
- reconciliation: ReconciliationPayload;
27
- reconciliationId: string | undefined;
28
- }, "expenseAutomationReconciliationView/fetchReconciliationSuccess", never, never>, saveReconciliationDetail: import("@reduxjs/toolkit").ActionCreatorWithPayload<SaveReconcileDetailActionPayload, "expenseAutomationReconciliationView/saveReconciliationDetail">, saveReconciliationDetailFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<SaveReconciliationDetailFailurePayload, "expenseAutomationReconciliationView/saveReconciliationDetailFailure">, updateSelectedAccountId: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
29
- selectedAccountId?: ID;
30
- }, "expenseAutomationReconciliationView/updateSelectedAccountId">, setConnectionInProgressForAccount: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
31
- accountId: ID;
32
- connectionInProgress: boolean;
33
- }, "expenseAutomationReconciliationView/setConnectionInProgressForAccount">, updateReconcileTabLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
34
- selectedTransactionIds: ID[];
35
- }, "expenseAutomationReconciliationView/updateReconcileTabLocalData">, updateReconcileTabListSortState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
36
- sortKey: ReconReconcileSortKey;
37
- sortOrder: SortOrder;
38
- }, "expenseAutomationReconciliationView/updateReconcileTabListSortState">, updateReconcileTabListScrollState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
39
- scrollYOffset: number;
40
- }, "expenseAutomationReconciliationView/updateReconcileTabListScrollState">, saveReconciliationDetailSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<SaveReconcileDetailActionPayload, "expenseAutomationReconciliationView/saveReconciliationDetailSuccess">, updateSelectedTab: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
41
- selectedTab: ReconciliationViewTabType;
42
- }, "expenseAutomationReconciliationView/updateSelectedTab">, updateBalancesLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
43
- clearedBalance: Amount;
44
- variance: Amount;
45
- variancePercentage: number;
46
- payments: TransactionSummary;
47
- deposits: TransactionSummary;
48
- }, "expenseAutomationReconciliationView/updateBalancesLocalData">, initialiseLocalDataForSelectedAccountId: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationReconciliationView/initialiseLocalDataForSelectedAccountId">, clearExpenseAutomationReconciliationView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationReconciliationView/clearExpenseAutomationReconciliationView">, updateSelectedDrawerAccountId: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
49
- selectedDrawerAccountId?: ID;
50
- }, "expenseAutomationReconciliationView/updateSelectedDrawerAccountId">, updateReviewTabSortState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
51
- sortKey: ReconReviewSortKey;
52
- sortOrder: SortOrder;
53
- }, "expenseAutomationReconciliationView/updateReviewTabSortState">, initializeReconciliationReviewTabLocalData: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[localData: Record<string, ReconciliationReviewTabLocalData>], {
54
- localData: Record<string, ReconciliationReviewTabLocalData>;
55
- }, "expenseAutomationReconciliationView/initializeReconciliationReviewTabLocalData", never, never>, updateReviewTabLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
56
- data: ReconciliationReviewTabLocalData;
57
- transactionId: ID;
58
- }, "expenseAutomationReconciliationView/updateReviewTabLocalData">, saveReconciliationReview: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: string], {
59
- transactionId: string;
60
- }, "expenseAutomationReconciliationView/saveReconciliationReview", never, never>, updateSaveReconciliationReviewFetchStatus: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
61
- transactionId: ID;
62
- fetchState: FetchState;
63
- error?: ZeniAPIStatus;
64
- }, "expenseAutomationReconciliationView/updateSaveReconciliationReviewFetchStatus">;
65
- declare const _default: import("redux").Reducer<ReconciliationViewState>;
66
- export default _default;