@zeniai/client-epic-state 4.15.26 → 4.15.27

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 (124) 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 +1 -0
  5. package/lib/configureStore.js +2 -1
  6. package/lib/entity/account/accountState.d.ts +1 -1
  7. package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
  8. package/lib/entity/accountRecon/accountReconPayload.d.ts +70 -0
  9. package/lib/entity/accountRecon/accountReconPayload.js +125 -0
  10. package/lib/entity/accountRecon/accountReconReducer.d.ts +16 -0
  11. package/lib/entity/accountRecon/accountReconReducer.js +71 -0
  12. package/lib/entity/accountRecon/accountReconSelector.d.ts +28 -0
  13. package/lib/entity/accountRecon/accountReconSelector.js +44 -0
  14. package/lib/entity/accountRecon/accountReconState.d.ts +70 -0
  15. package/lib/entity/accountRecon/accountReconState.js +28 -0
  16. package/lib/entity/class/classReducer.d.ts +4 -4
  17. package/lib/entity/class/classState.d.ts +1 -1
  18. package/lib/entity/customer/customerPayload.d.ts +1 -1
  19. package/lib/entity/customer/customerPayload.js +16 -6
  20. package/lib/entity/forecast/forecastState.d.ts +1 -1
  21. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  22. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  23. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  24. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  25. package/lib/entity/snackbar/snackbarTypes.js +4 -0
  26. package/lib/entity/task/taskState.d.ts +1 -1
  27. package/lib/entity/tenant/clearAllEpic.d.ts +4 -2
  28. package/lib/entity/tenant/clearAllEpic.js +4 -0
  29. package/lib/entity/tenant/tenantReducer.d.ts +1 -1
  30. package/lib/entity/tenant/tenantReducer.js +7 -2
  31. package/lib/entity/transaction/payloadTypes/customerTransactionPayload.d.ts +1 -1
  32. package/lib/entity/transaction/payloadTypes/customerTransactionPayload.js +1 -2
  33. package/lib/entity/transaction/payloadTypes/reconciliationTransactionPayloads.d.ts +35 -0
  34. package/lib/entity/transaction/payloadTypes/reconciliationTransactionPayloads.js +53 -0
  35. package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +2 -0
  36. package/lib/entity/transaction/payloadTypes/transactionPayload.js +7 -3
  37. package/lib/entity/transaction/payloadTypes/vendorTransactionPayload.d.ts +9 -1
  38. package/lib/entity/transaction/payloadTypes/vendorTransactionPayload.js +23 -2
  39. package/lib/entity/transaction/stateTypes/reconciliationTransaction.d.ts +32 -0
  40. package/lib/entity/transaction/stateTypes/reconciliationTransaction.js +10 -0
  41. package/lib/entity/transaction/stateTypes/transaction.d.ts +3 -1
  42. package/lib/entity/transaction/stateTypes/transactionType.d.ts +1 -1
  43. package/lib/entity/transaction/stateTypes/transactionType.js +1 -0
  44. package/lib/entity/transaction/stateTypes/vendorTransaction.d.ts +5 -0
  45. package/lib/entity/transaction/stateTypes/vendorTransaction.js +5 -1
  46. package/lib/entity/transaction/toSupportedTransaction.js +6 -1
  47. package/lib/entity/transaction/transactionReducer.d.ts +17 -0
  48. package/lib/entity/transaction/transactionReducer.js +47 -2
  49. package/lib/entity/transaction/transactionSelector.d.ts +2 -0
  50. package/lib/entity/transaction/transactionSelector.js +5 -0
  51. package/lib/entity/transaction/transactionState.d.ts +6 -4
  52. package/lib/entity/vendorExpense/vendorExpenseSelector.d.ts +2 -2
  53. package/lib/epic.d.ts +6 -1
  54. package/lib/epic.js +6 -1
  55. package/lib/index.d.ts +14 -6
  56. package/lib/index.js +52 -27
  57. package/lib/reducer.d.ts +7 -1
  58. package/lib/reducer.js +6 -0
  59. package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
  60. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  61. package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
  62. package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
  63. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  64. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  65. package/lib/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewReducer.d.ts +2 -2
  66. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  67. package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.d.ts +15 -0
  68. package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +118 -0
  69. package/lib/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.d.ts +10 -0
  70. package/lib/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.js +49 -0
  71. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationDetailEpic.d.ts +14 -0
  72. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationDetailEpic.js +169 -0
  73. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.d.ts +9 -0
  74. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.js +154 -0
  75. package/lib/view/expenseAutomationView/epics/accountRecon/updateReconcileTabLocalDataEpic.d.ts +6 -0
  76. package/lib/view/expenseAutomationView/epics/accountRecon/updateReconcileTabLocalDataEpic.js +110 -0
  77. package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.d.ts +2 -1
  78. package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +24 -10
  79. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.d.ts +2 -1
  80. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +14 -0
  81. package/lib/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +20 -4
  82. package/lib/view/expenseAutomationView/expenseAutomationViewReducer.d.ts +2 -2
  83. package/lib/view/expenseAutomationView/expenseAutomationViewSelector.js +17 -2
  84. package/lib/view/expenseAutomationView/expenseAutomationViewState.d.ts +2 -2
  85. package/lib/view/expenseAutomationView/expenseAutomationViewState.js +1 -1
  86. package/lib/view/expenseAutomationView/helpers/reconciliationHelpers.d.ts +7 -0
  87. package/lib/view/expenseAutomationView/helpers/reconciliationHelpers.js +18 -0
  88. package/lib/view/expenseAutomationView/helpers/saveTransactionHelper.js +81 -30
  89. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  90. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +54 -10
  91. package/lib/view/expenseAutomationView/payload/reconciliationPayload.d.ts +28 -0
  92. package/lib/view/expenseAutomationView/payload/reconciliationPayload.js +51 -0
  93. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.d.ts +66 -0
  94. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.js +384 -0
  95. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +2 -1
  96. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +5 -4
  97. package/lib/view/expenseAutomationView/selectorTypes/expenseAutomationViewSelectorTypes.d.ts +2 -0
  98. package/lib/view/expenseAutomationView/selectorTypes/expenseAutomationViewSelectorTypes.js +1 -1
  99. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.d.ts +51 -0
  100. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.js +7 -0
  101. package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.d.ts +5 -0
  102. package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.js +250 -0
  103. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +103 -0
  104. package/lib/view/expenseAutomationView/types/reconciliationViewState.js +38 -0
  105. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +8 -0
  106. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  107. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  108. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  109. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  110. package/lib/view/spendManagement/billPay/billsBulkActionView/epics/validateBillsBulkActionEpic.ts.js +4 -3
  111. package/lib/view/spendManagement/plaidAccount/epic/plaidConnection/establishPlaidConnectionEpic.js +11 -3
  112. package/lib/view/spendManagement/plaidAccount/plaidAccountViewReducer.d.ts +2 -1
  113. package/lib/view/spendManagement/plaidAccount/plaidAccountViewReducer.js +3 -1
  114. package/lib/view/spendManagement/plaidAccount/plaidAccountViewState.d.ts +1 -1
  115. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  116. package/lib/view/topEx/topExSelector.d.ts +1 -1
  117. package/lib/view/transactionDetail/epics/saveTransactionHelper.js +13 -4
  118. package/lib/view/transactionDetail/epics/updateTransactionDetailEpic.js +16 -3
  119. package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +22 -5
  120. package/lib/view/transactionDetail/transactionDetailState.d.ts +1 -0
  121. package/lib/view/transactionDetail/transactionDetailTypes.d.ts +6 -0
  122. package/lib/view/vendorReviewView/vendorGlobalReviewView/vendorGlobalReviewViewState.d.ts +1 -1
  123. package/lib/zeniAPI.d.ts +1 -0
  124. package/package.json +2 -1
@@ -19,7 +19,29 @@ const toTransactionDetailLocalData = (transaction) => {
19
19
  logo: transaction.logo,
20
20
  }
21
21
  : undefined;
22
+ transactionLocal.customer =
23
+ transaction.customerId != null &&
24
+ transaction.customerName != null &&
25
+ Boolean(transaction.customerId) === true &&
26
+ Boolean(transaction.customerName) === true
27
+ ? {
28
+ id: transaction.customerId,
29
+ name: transaction.customerName,
30
+ logo: transaction.logo,
31
+ }
32
+ : undefined;
22
33
  transactionLocal.vendorUpdates = undefined;
34
+ if ((0, vendorTransaction_1.isVendorTransactionWithCustomer)(transaction) &&
35
+ transaction.customerName != null) {
36
+ transactionLocal.customerUpdates = {
37
+ id: transaction.customerId,
38
+ name: transaction.customerName,
39
+ qboId: transaction.customerId,
40
+ };
41
+ }
42
+ else {
43
+ transactionLocal.customerUpdates = undefined;
44
+ }
23
45
  transactionLocal.lineItemById =
24
46
  transaction.lines != null && transaction.lines.length > 0
25
47
  ? buildLineItemById(transaction, transaction.recommendations)
@@ -53,7 +75,16 @@ const buildLineItemById = (transaction, recommendations) => {
53
75
  logo: accountLine.vendor.logo,
54
76
  }
55
77
  : undefined;
56
- record.customer = accountLine.customer;
78
+ record.customer =
79
+ accountLine.customer != null &&
80
+ Boolean(accountLine.customer.id) === true &&
81
+ Boolean(accountLine.customer.name) === true
82
+ ? {
83
+ id: accountLine.customer.id,
84
+ name: accountLine.customer.name,
85
+ logo: accountLine.customer.logo,
86
+ }
87
+ : undefined;
57
88
  record.billable = accountLine.billable;
58
89
  record.categorizationStatus = accountLine.categorizationStatus;
59
90
  record.reviewPendingReasons = accountLine.reviewPendingReasons;
@@ -89,7 +120,7 @@ const buildLineItemById = (transaction, recommendations) => {
89
120
  });
90
121
  return lineItemData;
91
122
  };
92
- const toSetAllLineItemsToCategoryClass = (draft, transaction, transactionId, transactionLineId, transactionDetailLocalData, updatedItem, uncategorizedAccounts, vendorId, selectedAccount, selectedClassBase) => {
123
+ const toSetAllLineItemsToCategoryClass = (draft, transaction, transactionId, transactionLineId, transactionDetailLocalData, updatedItem, uncategorizedAccounts, vendorId, customerId, selectedAccount, selectedClassBase) => {
93
124
  const newLineItems = {};
94
125
  let selectedCheckBoxTransactionIds = draft.selectedCheckBoxTransactionIds;
95
126
  if (transaction.lines != null) {
@@ -124,8 +155,11 @@ const toSetAllLineItemsToCategoryClass = (draft, transaction, transactionId, tra
124
155
  }
125
156
  }
126
157
  else {
127
- if ((transactionDetailLocalData.vendor != null &&
128
- transactionDetailLocalData.vendor.id === vendorId) ||
158
+ if ((transactionDetailLocalData.customer != null &&
159
+ transactionDetailLocalData.customer.id === customerId) ||
160
+ (record.customer != null && record.customer.id === customerId) ||
161
+ (transactionDetailLocalData.vendor != null &&
162
+ transactionDetailLocalData.vendor.id === vendorId) ||
129
163
  (record.vendor != null && record.vendor.id === vendorId)) {
130
164
  // if the vendor is same, then set the account and class with the selected ones and add the transaction to the selected list
131
165
  if (selectedAccount != null &&
@@ -174,7 +208,7 @@ const toSetAllLineItemsToCategoryClass = (draft, transaction, transactionId, tra
174
208
  }
175
209
  });
176
210
  }
177
- const newLocalData = Object.assign(Object.assign({}, transactionsViewState_1.initialSupportedTransactionCategorization.transactionReviewLocalData), { sortedLineItems: transactionDetailLocalData.sortedLineItems, memo: transactionDetailLocalData.memo, lineItemById: newLineItems, transactionDate: transactionDetailLocalData.transactionDate, transactionType: transactionDetailLocalData.transactionType, transactionTypeName: transactionDetailLocalData.transactionTypeName, vendor: transactionDetailLocalData.vendor, vendorUpdates: transactionDetailLocalData.vendorUpdates, vendorDetails: transactionDetailLocalData.vendorDetails });
211
+ const newLocalData = Object.assign(Object.assign({}, transactionsViewState_1.initialSupportedTransactionCategorization.transactionReviewLocalData), { sortedLineItems: transactionDetailLocalData.sortedLineItems, memo: transactionDetailLocalData.memo, lineItemById: newLineItems, transactionDate: transactionDetailLocalData.transactionDate, transactionType: transactionDetailLocalData.transactionType, transactionTypeName: transactionDetailLocalData.transactionTypeName, vendor: transactionDetailLocalData.vendor, customer: transactionDetailLocalData.customer, vendorUpdates: transactionDetailLocalData.vendorUpdates, customerUpdates: transactionDetailLocalData.customerUpdates, vendorDetails: transactionDetailLocalData.vendorDetails, customerDetails: transactionDetailLocalData.customerDetails });
178
212
  if (!(0, exports.checkIfAllLineItemsAreCategoryClassFilled)(transaction, newLocalData, uncategorizedAccounts)) {
179
213
  selectedCheckBoxTransactionIds = selectedCheckBoxTransactionIds.filter((id) => id !== transaction.id);
180
214
  }
@@ -238,7 +272,7 @@ const setEntityRecommendationForLineIdInLocalData = (draft, transaction, transac
238
272
  const newLineItem = newLineItems[matchingEntityLineId];
239
273
  newLineItems[matchingEntityLineId] = Object.assign(Object.assign({}, newLineItem), { class: matchingRecord.class, account: matchingRecord.account, lineEntity: matchingRecord.lineEntity });
240
274
  }
241
- const newLocalData = Object.assign(Object.assign({}, transactionsViewState_1.initialSupportedTransactionCategorization.transactionReviewLocalData), { sortedLineItems: transactionDetailLocalData.sortedLineItems, memo: transactionDetailLocalData.memo, lineItemById: newLineItems, transactionDate: transactionDetailLocalData.transactionDate, transactionType: transactionDetailLocalData.transactionType, transactionTypeName: transactionDetailLocalData.transactionTypeName, vendorUpdates: transactionDetailLocalData.vendorUpdates, vendorDetails: transactionDetailLocalData.vendorDetails, vendor: transactionDetailLocalData.vendor });
275
+ const newLocalData = Object.assign(Object.assign({}, transactionsViewState_1.initialSupportedTransactionCategorization.transactionReviewLocalData), { sortedLineItems: transactionDetailLocalData.sortedLineItems, memo: transactionDetailLocalData.memo, lineItemById: newLineItems, transactionDate: transactionDetailLocalData.transactionDate, transactionType: transactionDetailLocalData.transactionType, transactionTypeName: transactionDetailLocalData.transactionTypeName, vendorUpdates: transactionDetailLocalData.vendorUpdates, customerUpdates: transactionDetailLocalData.customerUpdates, vendorDetails: transactionDetailLocalData.vendorDetails, customerDetails: transactionDetailLocalData.customerDetails, vendor: transactionDetailLocalData.vendor, customer: transactionDetailLocalData.customer });
242
276
  if (!(0, exports.checkIfAllLineItemsAreCategoryClassFilled)(transaction, newLocalData, uncategorizedAccounts)) {
243
277
  selectedCheckBoxTransactionIds = selectedCheckBoxTransactionIds.filter((id) => id !== transaction.id);
244
278
  }
@@ -250,7 +284,7 @@ const checkIfAllLineItemsAreCategoryClassFilled = (transaction, transactionDetai
250
284
  const lineItems = Object.values(transactionDetailLocalData.lineItemById);
251
285
  const isVendorTransactionAvailable = (0, vendorTransaction_1.isVendorTransaction)(transaction);
252
286
  return lineItems.every((lineItem) => {
253
- var _a, _b, _c, _d, _e;
287
+ var _a, _b, _c;
254
288
  return lineItem.account != null &&
255
289
  Boolean(lineItem.account.qboId) === true &&
256
290
  lineItem.class != null &&
@@ -260,10 +294,20 @@ const checkIfAllLineItemsAreCategoryClassFilled = (transaction, transactionDetai
260
294
  (_b = uncategorizedAccounts.expense) === null || _b === void 0 ? void 0 : _b.qboId,
261
295
  (_c = uncategorizedAccounts.income) === null || _c === void 0 ? void 0 : _c.qboId,
262
296
  ].includes(lineItem.account.qboId)) &&
263
- (isVendorTransactionAvailable
264
- ? ((_d = transactionDetailLocalData.vendor) === null || _d === void 0 ? void 0 : _d.id) != null &&
297
+ ((isVendorTransactionAvailable
298
+ ? transactionDetailLocalData.vendor != null &&
299
+ transactionDetailLocalData.vendor.id != null &&
265
300
  Boolean(transactionDetailLocalData.vendor.id) === true
266
- : ((_e = lineItem.vendor) === null || _e === void 0 ? void 0 : _e.id) != null && Boolean(lineItem.vendor.id) === true);
301
+ : lineItem.vendor != null &&
302
+ lineItem.vendor.id != null &&
303
+ Boolean(lineItem.vendor.id) === true) ||
304
+ (isVendorTransactionAvailable
305
+ ? transactionDetailLocalData.customer != null &&
306
+ transactionDetailLocalData.customer.id != null &&
307
+ Boolean(transactionDetailLocalData.customer.id) === true
308
+ : lineItem.customer != null &&
309
+ lineItem.customer.id != null &&
310
+ Boolean(lineItem.customer.id) === true));
267
311
  });
268
312
  };
269
313
  exports.checkIfAllLineItemsAreCategoryClassFilled = checkIfAllLineItemsAreCategoryClassFilled;
@@ -0,0 +1,28 @@
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 AccountAndPaymentAccountPayload extends AccountPayload {
11
+ payment_account_id: string | null;
12
+ }
13
+ export interface ReconciliationPayload {
14
+ accounts: AccountAndPaymentAccountPayload[];
15
+ reconciliation: ReconciliationDataPayload[];
16
+ users: UserPayload[];
17
+ }
18
+ export type ReconciliationResponse = ZeniAPIResponse<ReconciliationPayload>;
19
+ export interface SaveReconciliationReviewPayload {
20
+ reconciliation: MatchedTransactionPayload;
21
+ }
22
+ export type SaveReconciliationReviewResponse = ZeniAPIResponse<SaveReconciliationReviewPayload>;
23
+ export declare function createSaveReconciliationPayloadBasedOnActionAndMethod(state: RootState, selectedPeriod: MonthYearPeriod, localData: BalancesLocalData, accountReconciliationEntity: AccountReconciliationEntity, action: SaveReconcileDetailActionPayload, method: 'PUT' | 'POST'): {
24
+ transactions: {
25
+ reconcile: MatchedTransactionPayload[];
26
+ review: TransactionsToReviewPayload[];
27
+ };
28
+ };
@@ -0,0 +1,51 @@
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 === void 0 ? void 0 : 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
+ }
@@ -0,0 +1,66 @@
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
+ reconciliation: ReconciliationPayload;
25
+ refreshViewInBackground: any;
26
+ accountId: string | undefined;
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;