@zeniai/client-epic-state 4.15.52 → 4.15.54

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 (240) hide show
  1. package/README.md +1 -19
  2. package/lib/commonPayloadTypes/recommendationPayload.d.ts +0 -1
  3. package/lib/commonStateTypes/common.d.ts +1 -1
  4. package/lib/commonStateTypes/fiscalYearHelpers/getFYMonths.d.ts +2 -2
  5. package/lib/commonStateTypes/fiscalYearHelpers/getFYQuarterAndYear.d.ts +2 -2
  6. package/lib/commonStateTypes/timePeriod.d.ts +7 -7
  7. package/lib/commonStateTypes/timePeriod.js +2 -2
  8. package/lib/commonStateTypes/viewAndReport/agingReportStateTypes.d.ts +1 -1
  9. package/lib/commonStateTypes/viewAndReport/agingReportStateTypes.js +1 -1
  10. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  11. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +0 -1
  12. package/lib/configureStore.js +1 -2
  13. package/lib/entity/account/accountSelector.d.ts +3 -3
  14. package/lib/entity/account/accountState.d.ts +1 -1
  15. package/lib/entity/account/pickAndMergeForecastAccountReport.d.ts +1 -1
  16. package/lib/entity/accountGroup/accountGroupSelector.d.ts +22 -22
  17. package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
  18. package/lib/entity/approvalRule/approvalRuleState.d.ts +2 -2
  19. package/lib/entity/billPay/billTransaction/billTransactionState.d.ts +4 -4
  20. package/lib/entity/chargeCard/chargeCard.d.ts +1 -1
  21. package/lib/entity/chargeCardTransaction/chargeCardTransaction.d.ts +1 -1
  22. package/lib/entity/class/classReducer.d.ts +4 -4
  23. package/lib/entity/class/classState.d.ts +1 -1
  24. package/lib/entity/company/companyReducer.js +1 -0
  25. package/lib/entity/customer/customerPayload.d.ts +1 -1
  26. package/lib/entity/customer/customerPayload.js +6 -16
  27. package/lib/entity/depositAccountTransaction/depositAccountTransaction.d.ts +1 -1
  28. package/lib/entity/entityApprovalStatus/entityApprovalStatusState.d.ts +2 -2
  29. package/lib/entity/file/fileState.d.ts +3 -3
  30. package/lib/entity/forecast/forecastState.d.ts +1 -1
  31. package/lib/entity/jeSchedules/jeSchedulesReducer.d.ts +2 -2
  32. package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +2 -2
  33. package/lib/entity/notification/types/notificationTypes.d.ts +2 -2
  34. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  35. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  36. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  37. package/lib/entity/snackbar/snackbarTypes.d.ts +2 -2
  38. package/lib/entity/snackbar/snackbarTypes.js +0 -4
  39. package/lib/entity/task/taskState.d.ts +3 -3
  40. package/lib/entity/tenant/clearAllEpic.d.ts +2 -4
  41. package/lib/entity/tenant/clearAllEpic.js +0 -4
  42. package/lib/entity/tenant/tenantReducer.d.ts +2 -2
  43. package/lib/entity/tenant/tenantReducer.js +9 -18
  44. package/lib/entity/tenant/tenantSelector.d.ts +0 -2
  45. package/lib/entity/tenant/tenantSelector.js +0 -6
  46. package/lib/entity/tenant/tenantState.d.ts +0 -3
  47. package/lib/entity/transaction/payloadTypes/customerTransactionPayload.d.ts +1 -1
  48. package/lib/entity/transaction/payloadTypes/customerTransactionPayload.js +2 -1
  49. package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +0 -2
  50. package/lib/entity/transaction/payloadTypes/transactionPayload.js +6 -9
  51. package/lib/entity/transaction/payloadTypes/vendorTransactionPayload.d.ts +1 -9
  52. package/lib/entity/transaction/payloadTypes/vendorTransactionPayload.js +2 -24
  53. package/lib/entity/transaction/stateTypes/attachment.d.ts +2 -2
  54. package/lib/entity/transaction/stateTypes/transaction.d.ts +1 -3
  55. package/lib/entity/transaction/stateTypes/transactionType.d.ts +1 -1
  56. package/lib/entity/transaction/stateTypes/transactionType.js +1 -1
  57. package/lib/entity/transaction/stateTypes/vendorTransaction.d.ts +0 -5
  58. package/lib/entity/transaction/stateTypes/vendorTransaction.js +1 -5
  59. package/lib/entity/transaction/toSupportedTransaction.js +1 -6
  60. package/lib/entity/transaction/transactionReducer.d.ts +0 -17
  61. package/lib/entity/transaction/transactionReducer.js +2 -47
  62. package/lib/entity/transaction/transactionSelector.d.ts +0 -2
  63. package/lib/entity/transaction/transactionSelector.js +0 -5
  64. package/lib/entity/transaction/transactionState.d.ts +4 -6
  65. package/lib/entity/vendorExpense/vendorExpenseReducer.js +1 -0
  66. package/lib/entity/vendorExpense/vendorExpenseSelector.d.ts +2 -2
  67. package/lib/epic.d.ts +1 -6
  68. package/lib/epic.js +1 -6
  69. package/lib/index.d.ts +14 -22
  70. package/lib/index.js +27 -57
  71. package/lib/init.d.ts +1 -2
  72. package/lib/init.js +2 -9
  73. package/lib/reducer.d.ts +1 -7
  74. package/lib/reducer.js +0 -6
  75. package/lib/responsePayload.d.ts +0 -2
  76. package/lib/responsePayload.js +1 -9
  77. package/lib/view/accountList/accountListReducer.js +3 -1
  78. package/lib/view/accountMappingView/accountMappingReducer.js +1 -0
  79. package/lib/view/apAgingView/apAgingDetail/apAgingDetailReducer.js +2 -1
  80. package/lib/view/auditReportView/auditReportViewReducer.d.ts +2 -2
  81. package/lib/view/auditReportView/auditReportViewState.d.ts +2 -2
  82. package/lib/view/balanceSheet/balanceSheetReducer.js +6 -1
  83. package/lib/view/bankAccountView/bankAccountViewReducer.js +1 -0
  84. package/lib/view/billPayCard/billPayCardSelector.d.ts +2 -2
  85. package/lib/view/cardBalance/cardBalanceSelector.d.ts +3 -3
  86. package/lib/view/cashBalance/cashBalanceSelector.d.ts +3 -3
  87. package/lib/view/cashFlow/cashFlowReducer.js +4 -1
  88. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +2 -2
  89. package/lib/view/cashPosition/cashPositionReducer.js +1 -0
  90. package/lib/view/cashPosition/cashPositionSelector.d.ts +2 -2
  91. package/lib/view/common/reportsHelpers.d.ts +1 -1
  92. package/lib/view/commonVendorView/transactionVendorView/epics/saveTransactionVendorEpic.js +2 -20
  93. package/lib/view/commonVendorView/vendorView/epics/fetchAndUpdateVendorRecommendationsEpic.js +3 -1
  94. package/lib/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewReducer.d.ts +2 -2
  95. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +2 -2
  96. package/lib/view/companyView/companyViewReducer.d.ts +1 -1
  97. package/lib/view/companyView/companyViewReducer.js +10 -1
  98. package/lib/view/companyView/types/cockpitTypes.d.ts +3 -3
  99. package/lib/view/companyView/types/companyPassport/companyUsersLocalData.d.ts +1 -1
  100. package/lib/view/dashboard/dashboardEpic.js +2 -0
  101. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  102. package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.d.ts +1 -2
  103. package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +10 -24
  104. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.d.ts +1 -2
  105. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +0 -14
  106. package/lib/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +7 -30
  107. package/lib/view/expenseAutomationView/expenseAutomationViewReducer.d.ts +2 -2
  108. package/lib/view/expenseAutomationView/expenseAutomationViewReducer.js +5 -1
  109. package/lib/view/expenseAutomationView/expenseAutomationViewSelector.js +2 -17
  110. package/lib/view/expenseAutomationView/expenseAutomationViewState.d.ts +2 -2
  111. package/lib/view/expenseAutomationView/expenseAutomationViewState.js +1 -1
  112. package/lib/view/expenseAutomationView/helpers/saveTransactionHelper.js +53 -53
  113. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  114. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +10 -86
  115. package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.d.ts +11 -11
  116. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +1 -12
  117. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +7 -66
  118. package/lib/view/expenseAutomationView/selectorTypes/expenseAutomationViewSelectorTypes.d.ts +0 -2
  119. package/lib/view/expenseAutomationView/selectorTypes/expenseAutomationViewSelectorTypes.js +1 -1
  120. package/lib/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +2 -5
  121. package/lib/view/expenseAutomationView/types/fluxAnalysisViewState.d.ts +1 -1
  122. package/lib/view/expenseAutomationView/types/missingReceiptsViewState.d.ts +1 -1
  123. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +2 -12
  124. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  125. package/lib/view/financeStatement/financeStatementReducer.js +4 -1
  126. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +4 -4
  127. package/lib/view/netBurnOrIncome/netBurnOrIncomeReducer.js +10 -3
  128. package/lib/view/netBurnOrIncomeClassesView/netBurnOrIncomeClassesViewReducer.js +6 -1
  129. package/lib/view/netBurnOrIncomeStoryCard/netBurnOrIncomeStoryCardReducer.js +1 -0
  130. package/lib/view/netBurnOrIncomeStoryCard/netBurnOrIncomeStoryCardState.d.ts +1 -1
  131. package/lib/view/notificationView/notificationViewReducer.d.ts +8 -8
  132. package/lib/view/notificationView/notificationViewState.d.ts +2 -2
  133. package/lib/view/onboardingView/cockpitView/onboardingCockpitViewReducer.js +3 -0
  134. package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.d.ts +2 -2
  135. package/lib/view/opEx/opExForTimeFrameEpic.js +1 -1
  136. package/lib/view/opEx/opExReducer.js +14 -4
  137. package/lib/view/opExByVendor/opExByVendorReducer.js +3 -1
  138. package/lib/view/opExByVendor/opExByVendorState.d.ts +1 -1
  139. package/lib/view/opExClassesView/opExClassesViewReducer.js +6 -1
  140. package/lib/view/people/fetchPeopleEpic.js +3 -1
  141. package/lib/view/people/invitePeopleEpic.js +3 -1
  142. package/lib/view/people/inviteZeniPeopleEpic.js +3 -1
  143. package/lib/view/people/peopleReducer.js +1 -0
  144. package/lib/view/people/peopleSaveUpdatesEpic.js +1 -1
  145. package/lib/view/profitAndLoss/profitAndLossReducer.js +6 -1
  146. package/lib/view/profitAndLossClassesView/profitAndLossClassesViewReducer.js +6 -1
  147. package/lib/view/recommendation/recommendationReducer.js +4 -1
  148. package/lib/view/referralView/referralState.d.ts +1 -1
  149. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +2 -2
  150. package/lib/view/reportUIOptions/reportUIOptionsReducer.d.ts +8 -8
  151. package/lib/view/reportUIOptions/updateReportUIOptionThisPeriodEpic.js +3 -1
  152. package/lib/view/revenue/revenueReducer.js +10 -3
  153. package/lib/view/revenueClassesView/revenueClassesViewReducer.js +6 -1
  154. package/lib/view/scheduleView/scheduleAccruedDetailView/LinkBillExpenseView/linkBillExpense.d.ts +1 -1
  155. package/lib/view/scheduleView/scheduleDetailView/scheduleDetailReducer.d.ts +4 -4
  156. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +2 -2
  157. package/lib/view/settingsView/settingsViewReducer.js +1 -0
  158. package/lib/view/settingsView/settingsViewState.d.ts +1 -1
  159. package/lib/view/spendManagement/billPay/billList/billListReducer.d.ts +1 -1
  160. package/lib/view/spendManagement/billPay/billList/billListReducer.js +1 -0
  161. package/lib/view/spendManagement/billPay/billList/billListState.d.ts +2 -2
  162. package/lib/view/spendManagement/billPay/billPayConfig/billPayConfigState.d.ts +1 -1
  163. package/lib/view/spendManagement/billPay/billPayConfig/billPayConfigState.js +6 -0
  164. package/lib/view/spendManagement/billPay/billsBulkActionView/billsBulkActionViewReducer.d.ts +2 -2
  165. package/lib/view/spendManagement/billPay/billsBulkActionView/epics/validateBillsBulkActionEpic.ts.js +3 -4
  166. package/lib/view/spendManagement/billPay/editBillView/epics/fetchBillAndInitializeLocalStoreEpic.js +3 -1
  167. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetail.d.ts +2 -2
  168. package/lib/view/spendManagement/commonHistoryView/commonHistory.d.ts +1 -1
  169. package/lib/view/spendManagement/commonSetup/setupViewReducer.d.ts +7 -7
  170. package/lib/view/spendManagement/commonSetup/setupViewState.d.ts +1 -1
  171. package/lib/view/spendManagement/plaidAccount/epic/plaidConnection/establishPlaidConnectionEpic.js +3 -11
  172. package/lib/view/spendManagement/plaidAccount/plaidAccountViewReducer.d.ts +10 -11
  173. package/lib/view/spendManagement/plaidAccount/plaidAccountViewReducer.js +1 -3
  174. package/lib/view/spendManagement/plaidAccount/plaidAccountViewState.d.ts +1 -1
  175. package/lib/view/spendManagement/reimbursement/editRemiView/epics/fetchRecommendationsAndUpdateMerchantRecommendationsEpic.js +6 -2
  176. package/lib/view/spendManagement/reimbursement/editRemiView/epics/fetchRemiAndInitializeLocalStoreEpic.js +3 -1
  177. package/lib/view/spendManagement/reimbursement/remiListView/remiListReducer.d.ts +1 -1
  178. package/lib/view/spendManagement/reimbursement/remiListView/remiListReducer.js +1 -0
  179. package/lib/view/spendManagement/reimbursement/remiListView/remiListState.d.ts +4 -4
  180. package/lib/view/spendManagement/reimbursement/remisBulkActionView/remisBulkActionViewReducer.d.ts +2 -2
  181. package/lib/view/subscriptionView/subscriptionViewReducer.js +1 -0
  182. package/lib/view/subscriptionView/types/subscriptionTypes.js +1 -0
  183. package/lib/view/taskManager/taskListView/epics/dragNDropTasksEpic.js +3 -1
  184. package/lib/view/taskManager/taskListView/taskList.d.ts +3 -3
  185. package/lib/view/taskManager/taskListView/taskListSelector.d.ts +1 -1
  186. package/lib/view/tasksCard/fetchTasksCardEpic.js +2 -1
  187. package/lib/view/tasksCard/tasksCardSelector.d.ts +2 -2
  188. package/lib/view/tasksCard/tasksCardSelector.js +1 -1
  189. package/lib/view/topEx/topExSelector.d.ts +3 -3
  190. package/lib/view/transactionDetail/epics/saveTransactionHelper.js +59 -34
  191. package/lib/view/transactionDetail/epics/updateTransactionDetailEpic.js +4 -22
  192. package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +13 -66
  193. package/lib/view/transactionDetail/transactionDetailReducer.d.ts +4 -13
  194. package/lib/view/transactionDetail/transactionDetailReducer.js +21 -51
  195. package/lib/view/transactionDetail/transactionDetailState.d.ts +2 -3
  196. package/lib/view/transactionDetail/transactionDetailTypes.d.ts +0 -8
  197. package/lib/view/transactionList/transactionListByEntitySelector.js +2 -0
  198. package/lib/view/transactionList/transactionListReducer.js +6 -4
  199. package/lib/view/trendWithTransactions/trendWithTransactionsReducer.js +1 -0
  200. package/lib/view/userFinancialAccount/userFinancialAccountReducer.js +3 -1
  201. package/lib/view/vendorFiling1099/vendorFiling1099List/vendorFiling1099ListState.d.ts +1 -1
  202. package/lib/view/vendorReviewView/vendorFirstReviewView/vendorFirstReviewViewState.d.ts +1 -1
  203. package/lib/view/vendorReviewView/vendorGlobalReviewView/vendorGlobalReviewViewState.d.ts +1 -1
  204. package/lib/zeniAPI.d.ts +0 -1
  205. package/lib/zeniUrl.d.ts +1 -1
  206. package/package.json +13 -14
  207. package/lib/entity/accountRecon/accountReconPayload.d.ts +0 -71
  208. package/lib/entity/accountRecon/accountReconPayload.js +0 -131
  209. package/lib/entity/accountRecon/accountReconReducer.d.ts +0 -16
  210. package/lib/entity/accountRecon/accountReconReducer.js +0 -71
  211. package/lib/entity/accountRecon/accountReconSelector.d.ts +0 -34
  212. package/lib/entity/accountRecon/accountReconSelector.js +0 -47
  213. package/lib/entity/accountRecon/accountReconState.d.ts +0 -76
  214. package/lib/entity/accountRecon/accountReconState.js +0 -35
  215. package/lib/entity/transaction/payloadTypes/reconciliationTransactionPayloads.d.ts +0 -35
  216. package/lib/entity/transaction/payloadTypes/reconciliationTransactionPayloads.js +0 -53
  217. package/lib/entity/transaction/stateTypes/reconciliationTransaction.d.ts +0 -32
  218. package/lib/entity/transaction/stateTypes/reconciliationTransaction.js +0 -10
  219. package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.d.ts +0 -15
  220. package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +0 -118
  221. package/lib/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.d.ts +0 -10
  222. package/lib/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.js +0 -49
  223. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationDetailEpic.d.ts +0 -14
  224. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationDetailEpic.js +0 -178
  225. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.d.ts +0 -9
  226. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.js +0 -154
  227. package/lib/view/expenseAutomationView/epics/accountRecon/updateReconcileTabLocalDataEpic.d.ts +0 -6
  228. package/lib/view/expenseAutomationView/epics/accountRecon/updateReconcileTabLocalDataEpic.js +0 -110
  229. package/lib/view/expenseAutomationView/helpers/reconciliationHelpers.d.ts +0 -7
  230. package/lib/view/expenseAutomationView/helpers/reconciliationHelpers.js +0 -18
  231. package/lib/view/expenseAutomationView/payload/reconciliationPayload.d.ts +0 -28
  232. package/lib/view/expenseAutomationView/payload/reconciliationPayload.js +0 -51
  233. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.d.ts +0 -66
  234. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.js +0 -384
  235. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.d.ts +0 -53
  236. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.js +0 -7
  237. package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.d.ts +0 -5
  238. package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.js +0 -278
  239. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +0 -103
  240. package/lib/view/expenseAutomationView/types/reconciliationViewState.js +0 -37
@@ -9,14 +9,10 @@ const expenseAutomationViewReducer_1 = require("../../expenseAutomationViewReduc
9
9
  const fluxAnalysisViewReducer_1 = require("../../reducers/fluxAnalysisViewReducer");
10
10
  const jeSchedulesViewReducer_1 = require("../../reducers/jeSchedulesViewReducer");
11
11
  const missingReceiptsViewReducer_1 = require("../../reducers/missingReceiptsViewReducer");
12
- const reconciliationViewReducer_1 = require("../../reducers/reconciliationViewReducer");
13
12
  const transactionsViewReducer_1 = require("../../reducers/transactionsViewReducer");
14
13
  const fetchAllExpenseAutomationTabsEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(expenseAutomationViewReducer_1.fetchAllExpenseAutomationTabs.match), (0, operators_1.switchMap)((action) => {
15
- var _a, _b;
16
14
  const { cacheOverride, refreshViewInBackground } = action.payload;
17
15
  const state = state$.value;
18
- const { monthEndCloseChecksState } = state;
19
- const { monthEndCloseChecksByTenantId } = monthEndCloseChecksState;
20
16
  const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state);
21
17
  const companyId = currentTenant.companyId;
22
18
  const selectedPeriod = state.expenseAutomationViewState.selectedPeriodByTenantId[currentTenant.tenantId];
@@ -25,24 +21,22 @@ const fetchAllExpenseAutomationTabsEpic = (actions$, state$) => actions$.pipe((0
25
21
  const timePeriodStart = (0, timePeriod_1.toAbsoluteDay)(period.start);
26
22
  const timePeriodEnd = (0, timePeriod_1.toAbsoluteDay)(period.end);
27
23
  const monthYearPeriodId = (0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod);
28
- const monthEndCheckState = (_a = monthEndCloseChecksByTenantId === null || monthEndCloseChecksByTenantId === void 0 ? void 0 : monthEndCloseChecksByTenantId[currentTenant.tenantId]) === null || _a === void 0 ? void 0 : _a[monthYearPeriodId];
29
- const reconciliationEnabled = (_b = monthEndCheckState === null || monthEndCheckState === void 0 ? void 0 : monthEndCheckState.monthEndCloseCheckList.some((list) => list.id === 'reconciliation')) !== null && _b !== void 0 ? _b : false;
30
24
  if (timePeriodStart == null ||
31
25
  timePeriodEnd == null ||
32
26
  companyId == null) {
33
27
  throw Error(`Invalid start - ${timePeriodStart} and end - ${timePeriodEnd} period from given ${selectedPeriod}`);
34
28
  }
35
29
  if (cacheOverride === true) {
36
- const actions = [];
37
- actions.push((0, transactionsViewReducer_1.fetchTransactionCategorizationView)(selectedTransactionCategorizationTab, { start: timePeriodStart, end: timePeriodEnd }, cacheOverride, false, undefined, undefined, refreshViewInBackground), (0, missingReceiptsViewReducer_1.fetchMissingReceipts)({ start: timePeriodStart, end: timePeriodEnd }, {
38
- amount: 75.0,
39
- currencyCode: 'USD',
40
- currencySymbol: '$',
41
- }, cacheOverride, refreshViewInBackground), (0, fluxAnalysisViewReducer_1.fetchFluxAnalysisView)(selectedPeriod, cacheOverride, refreshViewInBackground, null), (0, jeSchedulesViewReducer_1.fetchJeSchedulesPage)({ start: timePeriodStart, end: timePeriodEnd }, cacheOverride));
42
- if (reconciliationEnabled) {
43
- actions.push((0, reconciliationViewReducer_1.fetchReconciliation)(selectedPeriod, undefined, cacheOverride, refreshViewInBackground));
44
- }
45
- return (0, rxjs_1.from)(actions);
30
+ return (0, rxjs_1.from)([
31
+ (0, transactionsViewReducer_1.fetchTransactionCategorizationView)(selectedTransactionCategorizationTab, { start: timePeriodStart, end: timePeriodEnd }, cacheOverride, false, undefined, undefined, refreshViewInBackground),
32
+ (0, missingReceiptsViewReducer_1.fetchMissingReceipts)({ start: timePeriodStart, end: timePeriodEnd }, {
33
+ amount: 75.0,
34
+ currencyCode: 'USD',
35
+ currencySymbol: '$',
36
+ }, cacheOverride, refreshViewInBackground),
37
+ (0, fluxAnalysisViewReducer_1.fetchFluxAnalysisView)(selectedPeriod, cacheOverride, refreshViewInBackground, null),
38
+ (0, jeSchedulesViewReducer_1.fetchJeSchedulesPage)({ start: timePeriodStart, end: timePeriodEnd }, cacheOverride),
39
+ ]);
46
40
  }
47
41
  else {
48
42
  const fetchActions = [];
@@ -74,14 +68,6 @@ const fetchAllExpenseAutomationTabsEpic = (actions$, state$) => actions$.pipe((0
74
68
  null)) {
75
69
  fetchActions.push((0, jeSchedulesViewReducer_1.fetchJeSchedulesPage)({ start: timePeriodStart, end: timePeriodEnd }, cacheOverride));
76
70
  }
77
- if (state.expenseAutomationReconciliationViewState.fetchState !==
78
- 'In-Progress' &&
79
- state.expenseAutomationReconciliationViewState
80
- .accountReconciliationRecordsBySelectedPeriod[monthYearPeriodId] ==
81
- null &&
82
- reconciliationEnabled) {
83
- fetchActions.push((0, reconciliationViewReducer_1.fetchReconciliation)(selectedPeriod, undefined, cacheOverride, refreshViewInBackground));
84
- }
85
71
  if (state.expenseAutomationTransactionsViewState
86
72
  .transactionCategorizationView[selectedTransactionCategorizationTab]
87
73
  .fetchState !== 'In-Progress' &&
@@ -7,7 +7,6 @@ import { refreshExpenseAutomationCurrentTab } from '../../expenseAutomationViewR
7
7
  import { fetchFluxAnalysisView } from '../../reducers/fluxAnalysisViewReducer';
8
8
  import { fetchJeSchedulesPage } from '../../reducers/jeSchedulesViewReducer';
9
9
  import { fetchMissingReceipts } from '../../reducers/missingReceiptsViewReducer';
10
- import { fetchReconciliation } from '../../reducers/reconciliationViewReducer';
11
10
  import { fetchTransactionCategorizationView } from '../../reducers/transactionsViewReducer';
12
- export type ActionType = ReturnType<typeof refreshExpenseAutomationCurrentTab> | ReturnType<typeof fetchCompanyMonthEndReportView> | ReturnType<typeof fetchCompanyMonthEndReportTemplates> | ReturnType<typeof fetchMissingReceipts> | ReturnType<typeof fetchMonthEndCloseChecks> | ReturnType<typeof fetchFluxAnalysisView> | ReturnType<typeof fetchReconciliation> | ReturnType<typeof fetchJeSchedulesPage> | ReturnType<typeof fetchTransactionCategorizationView>;
11
+ export type ActionType = ReturnType<typeof refreshExpenseAutomationCurrentTab> | ReturnType<typeof fetchCompanyMonthEndReportView> | ReturnType<typeof fetchCompanyMonthEndReportTemplates> | ReturnType<typeof fetchMissingReceipts> | ReturnType<typeof fetchMonthEndCloseChecks> | ReturnType<typeof fetchFluxAnalysisView> | ReturnType<typeof fetchJeSchedulesPage> | ReturnType<typeof fetchTransactionCategorizationView>;
13
12
  export declare const refreshExpenseAutomationCurrentTabEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>) => Observable<ActionType>;
@@ -10,7 +10,6 @@ const expenseAutomationViewReducer_1 = require("../../expenseAutomationViewReduc
10
10
  const fluxAnalysisViewReducer_1 = require("../../reducers/fluxAnalysisViewReducer");
11
11
  const jeSchedulesViewReducer_1 = require("../../reducers/jeSchedulesViewReducer");
12
12
  const missingReceiptsViewReducer_1 = require("../../reducers/missingReceiptsViewReducer");
13
- const reconciliationViewReducer_1 = require("../../reducers/reconciliationViewReducer");
14
13
  const transactionsViewReducer_1 = require("../../reducers/transactionsViewReducer");
15
14
  const refreshExpenseAutomationCurrentTabEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(expenseAutomationViewReducer_1.refreshExpenseAutomationCurrentTab.match), (0, operators_1.switchMap)(() => {
16
15
  const state = state$.value;
@@ -19,7 +18,6 @@ const refreshExpenseAutomationCurrentTabEpic = (actions$, state$) => actions$.pi
19
18
  const { selectedTransactionCategorizationTab } = state.expenseAutomationTransactionsViewState;
20
19
  const { selectedPeriodByTenantId, currentSelectedView } = state.expenseAutomationViewState;
21
20
  const selectedPeriod = selectedPeriodByTenantId[currentTenant.tenantId];
22
- const { selectedAccountId } = state.expenseAutomationReconciliationViewState;
23
21
  const period = (0, timePeriod_1.convertToPeriod)(selectedPeriod);
24
22
  const timePeriodStart = (0, timePeriod_1.toAbsoluteDay)(period.start);
25
23
  const timePeriodEnd = (0, timePeriod_1.toAbsoluteDay)(period.end);
@@ -50,18 +48,6 @@ const refreshExpenseAutomationCurrentTabEpic = (actions$, state$) => actions$.pi
50
48
  (0, companyMonthEndReportViewReducer_1.fetchCompanyMonthEndReportView)(true, companyId, currentTenant.tenantId),
51
49
  (0, companyMonthEndReportViewReducer_1.fetchCompanyMonthEndReportTemplates)(companyId, currentTenant.tenantId),
52
50
  ]);
53
- case 'reconciliation': {
54
- if (selectedAccountId != null) {
55
- return (0, rxjs_1.from)([
56
- (0, reconciliationViewReducer_1.fetchReconciliation)(selectedPeriod, selectedAccountId, true, true),
57
- ]);
58
- }
59
- else {
60
- return (0, rxjs_1.from)([
61
- (0, reconciliationViewReducer_1.fetchReconciliation)(selectedPeriod, undefined, true, true),
62
- ]);
63
- }
64
- }
65
51
  case 'transaction_categorization':
66
52
  default:
67
53
  return (0, rxjs_1.from)([
@@ -40,17 +40,13 @@ const updateTransactionCategorizationEpic = (actions$, state$, zeniAPI) => actio
40
40
  }));
41
41
  exports.updateTransactionCategorizationEpic = updateTransactionCategorizationEpic;
42
42
  function prepareTransactionPayload(selectedTab, transactionState, vendorState, transactionsViewState, transactionId, saveUpdates) {
43
- var _a, _b, _c;
43
+ var _a;
44
44
  const detail = (0, transactionSelector_1.getSupportedTransactionById)(transactionState, transactionId);
45
45
  const tranDetail = (0, get_1.default)(transactionsViewState.transactionCategorizationView[selectedTab]
46
46
  .transactionReviewLocalDataById, transactionId, undefined);
47
47
  const tranVendorUpdates = (_a = tranDetail === null || tranDetail === void 0 ? void 0 : tranDetail.transactionReviewLocalData) === null || _a === void 0 ? void 0 : _a.vendorUpdates;
48
- const tranCustomerUpdates = (_b = tranDetail === null || tranDetail === void 0 ? void 0 : tranDetail.transactionReviewLocalData) === null || _b === void 0 ? void 0 : _b.customerUpdates;
49
- const tranSelectedEntity = (_c = tranDetail === null || tranDetail === void 0 ? void 0 : tranDetail.transactionReviewLocalData) === null || _c === void 0 ? void 0 : _c.selectedEntity;
50
48
  let vendorUpdates = undefined;
51
- if ((tranVendorUpdates === null || tranVendorUpdates === void 0 ? void 0 : tranVendorUpdates.qboId) != null &&
52
- tranSelectedEntity != null &&
53
- tranSelectedEntity.type === 'vendor') {
49
+ if ((tranVendorUpdates === null || tranVendorUpdates === void 0 ? void 0 : tranVendorUpdates.qboId) != null) {
54
50
  const vendor = (0, vendorSelector_1.getVendorByVendorId)(vendorState, tranVendorUpdates.qboId);
55
51
  if (vendor != null) {
56
52
  vendorUpdates = {
@@ -65,23 +61,8 @@ function prepareTransactionPayload(selectedTab, transactionState, vendorState, t
65
61
  };
66
62
  }
67
63
  }
68
- let customerUpdates = undefined;
69
- if (tranSelectedEntity != null && tranSelectedEntity.type === 'customer') {
70
- if ((tranCustomerUpdates === null || tranCustomerUpdates === void 0 ? void 0 : tranCustomerUpdates.qboId) != null) {
71
- customerUpdates = {
72
- id: tranCustomerUpdates.qboId,
73
- name: tranCustomerUpdates.name,
74
- };
75
- }
76
- else {
77
- customerUpdates = {
78
- id: tranSelectedEntity.id,
79
- name: tranSelectedEntity.name,
80
- };
81
- }
82
- }
83
64
  if (detail != null) {
84
- const transUpdates = toTransactionUpdatePayload(saveUpdates.updates, detail, vendorUpdates, customerUpdates, tranSelectedEntity);
65
+ const transUpdates = toTransactionUpdatePayload(saveUpdates.updates, detail, vendorUpdates);
85
66
  const entityUpdates = toEntityUpdatePayload(saveUpdates.entityRelatedUpdates);
86
67
  return {
87
68
  entity_related_updates: entityUpdates,
@@ -110,10 +91,12 @@ function preparePayload(selectedTab, transactionState, vendorState, transactions
110
91
  return payload;
111
92
  }
112
93
  }
113
- const toTransactionUpdatePayload = (updates, detail, vendorUpdates, customerUpdates, tranSelectedEntity) => {
94
+ const toTransactionUpdatePayload = (updates, detail, vendorUpdates) => {
114
95
  var _a, _b;
115
96
  const transaction = Object.assign({}, detail);
116
97
  transaction.memo = (_a = updates.memo) !== null && _a !== void 0 ? _a : '';
98
+ transaction.vendorId = vendorUpdates === null || vendorUpdates === void 0 ? void 0 : vendorUpdates.id;
99
+ transaction.vendorName = vendorUpdates === null || vendorUpdates === void 0 ? void 0 : vendorUpdates.name;
117
100
  const recommendationUpdates = {};
118
101
  for (const key in updates.updatesByLineId) {
119
102
  const lineUpdates = updates.updatesByLineId[key];
@@ -150,17 +133,11 @@ const toTransactionUpdatePayload = (updates, detail, vendorUpdates, customerUpda
150
133
  transaction.lines = newLineMap;
151
134
  }
152
135
  transaction.recommendations = recommendationUpdates;
153
- // Added this check because now customer are also part of Expense,Journal Entry and Check type of transactions
154
136
  if ((0, customerTransaction_1.isCustomerTransaction)(transaction)) {
155
137
  return (0, customerTransactionPayload_1.toCustomerTransactionPayload)(transaction);
156
138
  }
157
139
  else if ((0, vendorTransaction_1.isVendorTransaction)(transaction)) {
158
- if (tranSelectedEntity != null && tranSelectedEntity.type === 'customer') {
159
- return (0, vendorTransactionPayload_1.toVendorTransactionWithCustomerPayload)(transaction, customerUpdates);
160
- }
161
- else {
162
- return (0, vendorTransactionPayload_1.toVendorTransactionPayload)(transaction, vendorUpdates);
163
- }
140
+ return (0, vendorTransactionPayload_1.toVendorTransactionPayload)(transaction, vendorUpdates);
164
141
  }
165
142
  else if ((0, otherTransaction_1.isTransferTransaction)(transaction)) {
166
143
  return (0, otherTransactionPayload_1.toTransferTransactionPayload)(transaction);
@@ -8,8 +8,8 @@ export declare const fetchAllExpenseAutomationTabs: import("@reduxjs/toolkit").A
8
8
  }, "expenseAutomationView/fetchAllExpenseAutomationTabs", never, never>, updateCurrentSelectedPeriod: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, newSelectedPeriod: MonthYearPeriod], {
9
9
  newSelectedPeriod: MonthYearPeriod;
10
10
  tenantId: string;
11
- }, "expenseAutomationView/updateCurrentSelectedPeriod", never, never>, updateCurrentSelectedView: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[newSelectedView: "transaction_categorization" | "je_schedules" | "reconciliation" | "missing_receipts" | "flux_analysis" | "month_end_insights"], {
12
- newSelectedView: "transaction_categorization" | "je_schedules" | "reconciliation" | "missing_receipts" | "flux_analysis" | "month_end_insights";
11
+ }, "expenseAutomationView/updateCurrentSelectedPeriod", never, never>, updateCurrentSelectedView: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[newSelectedView: "transaction_categorization" | "je_schedules" | "account_recon" | "missing_receipts" | "flux_analysis" | "month_end_insights"], {
12
+ newSelectedView: "transaction_categorization" | "je_schedules" | "account_recon" | "missing_receipts" | "flux_analysis" | "month_end_insights";
13
13
  }, "expenseAutomationView/updateCurrentSelectedView", never, never>, clearExpenseAutomationView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationView/clearExpenseAutomationView">, initializeSelectedPeriodForTenants: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
14
14
  selectedPeriodByTenantId: Record<ID, MonthYearPeriod>;
15
15
  }, "expenseAutomationView/initializeSelectedPeriodForTenants">, refreshExpenseAutomationCurrentTab: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationView/refreshExpenseAutomationCurrentTab">;
@@ -22,7 +22,11 @@ const expenseAutomationView = (0, toolkit_1.createSlice)({
22
22
  reducer() {
23
23
  //do nothing
24
24
  },
25
- prepare(cacheOverride = false, refreshViewInBackground = false) {
25
+ prepare(
26
+ // eslint-disable-next-line @typescript-eslint/no-inferrable-types
27
+ cacheOverride = false,
28
+ // eslint-disable-next-line @typescript-eslint/no-inferrable-types
29
+ refreshViewInBackground = false) {
26
30
  return {
27
31
  payload: { cacheOverride, refreshViewInBackground },
28
32
  };
@@ -11,7 +11,6 @@ const expenseAutomationViewSelectorTypes_1 = require("./selectorTypes/expenseAut
11
11
  const fluxAnalysisViewSelector_1 = require("./selectors/fluxAnalysisViewSelector");
12
12
  const jeSchedulesViewSelector_1 = require("./selectors/jeSchedulesViewSelector");
13
13
  const missingReceiptsSelector_1 = require("./selectors/missingReceiptsSelector");
14
- const reconciliationViewSelector_1 = require("./selectors/reconciliationViewSelector");
15
14
  const transactionCategorizationSelector_1 = require("./selectors/transactionCategorizationSelector");
16
15
  const isPreviousStepDisabled = (selectedTransactionCategorizationTab, allSteps, stepIndex, currentTenant, selectedPeriod, userAllowedToAccessMonthEndInsights, reportEmailSentDate, auditSummary) => {
17
16
  if (stepIndex === 0) {
@@ -25,7 +24,7 @@ const isPreviousStepDisabled = (selectedTransactionCategorizationTab, allSteps,
25
24
  };
26
25
  function getExpenseAutomationView(state) {
27
26
  var _a, _b, _c;
28
- const { expenseAutomationViewState, tenantState, expenseAutomationMissingReceiptsViewState, expenseAutomationJESchedulesViewState, expenseAutomationTransactionsViewState, expenseAutomationReconciliationViewState, monthEndCloseChecksState, companyState, } = state;
27
+ const { expenseAutomationViewState, tenantState, expenseAutomationMissingReceiptsViewState, expenseAutomationJESchedulesViewState, expenseAutomationTransactionsViewState, monthEndCloseChecksState, companyState, } = state;
29
28
  const { loggedInUser, currentTenantId } = tenantState;
30
29
  const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state);
31
30
  const { currentSelectedView, selectedPeriodByTenantId } = expenseAutomationViewState;
@@ -43,15 +42,9 @@ function getExpenseAutomationView(state) {
43
42
  const missingReceipts = (0, missingReceiptsSelector_1.getExpenseAutomationMissingReceiptsView)(state);
44
43
  const fluxAnalysis = (0, fluxAnalysisViewSelector_1.getExpenseAutomationFluxAnalysisView)(state);
45
44
  const monthEndInsights = (0, companyMonthEndReportViewSelector_1.getCompanyMonthEndReportSelectorView)(state, currentTenant.companyId, loggedInUser);
46
- const reconciliation = (0, reconciliationViewSelector_1.getExpenseAutomationReconciliationView)(state);
47
45
  const expenseAutomationTransactionsView = (0, transactionCategorizationSelector_1.getExpenseAutomationTransactionView)(state);
48
46
  const jeSchedules = (0, jeSchedulesViewSelector_1.getExpenseAutomationJESchedulesView)(state);
49
47
  switch (currentSelectedView) {
50
- case 'reconciliation':
51
- currentSelectedViewFetchState = reconciliation.fetchStatus;
52
- currentSelectedViewBackgroundRefreshFetchState =
53
- reconciliation.refreshStatus;
54
- break;
55
48
  case 'flux_analysis':
56
49
  currentSelectedViewFetchState = fluxAnalysis.fetchStatus;
57
50
  currentSelectedViewBackgroundRefreshFetchState =
@@ -97,7 +90,6 @@ function getExpenseAutomationView(state) {
97
90
  expenseAutomationJESchedulesViewState,
98
91
  monthEndCloseChecksView,
99
92
  expenseAutomationTransactionsView,
100
- expenseAutomationReconciliationViewState,
101
93
  ];
102
94
  let allSteps = [];
103
95
  let auditSummary = undefined;
@@ -130,9 +122,6 @@ function getExpenseAutomationView(state) {
130
122
  ? (0, monthEndCloseChecksViewSelector_1.isMonthEndInsightDisabled)(currentTenant, selectedPeriod, userAllowedToAccessMonthEndInsights, auditSummary)
131
123
  : true });
132
124
  return;
133
- case 'reconciliation':
134
- allStepsOriginal[index] = Object.assign(Object.assign({}, stepDetail), { completionStatus: reconciliation.completionStatus });
135
- return;
136
125
  case 'flux_analysis':
137
126
  default:
138
127
  allStepsOriginal[index] = Object.assign(Object.assign({}, stepDetail), { completionStatus: fluxAnalysis.completionStatus });
@@ -142,10 +131,7 @@ function getExpenseAutomationView(state) {
142
131
  allSteps.forEach((stepDetail, index, allStepsOriginal) => {
143
132
  allStepsOriginal[index] = Object.assign(Object.assign({}, stepDetail), { isNextDisabled: index === allStepsOriginal.length - 1
144
133
  ? allStepsOriginal[0].isDisabled
145
- : stepDetail.step === 'reconciliation' &&
146
- reconciliation.selectedTab === 'review'
147
- ? false
148
- : allStepsOriginal[index + 1].isDisabled, isPrevDisabled: isPreviousStepDisabled(selectedTransactionCategorizationTab, allStepsOriginal, index, currentTenant, selectedPeriod, userAllowedToAccessMonthEndInsights, reportEmailSentDate, auditSummary) });
134
+ : allStepsOriginal[index + 1].isDisabled, isPrevDisabled: isPreviousStepDisabled(selectedTransactionCategorizationTab, allStepsOriginal, index, currentTenant, selectedPeriod, userAllowedToAccessMonthEndInsights, reportEmailSentDate, auditSummary) });
149
135
  });
150
136
  }
151
137
  const reducedFetchStatus = (0, reduceFetchState_1.reduceAnyFetchState)(fetchStateVariables); // Add more states
@@ -160,7 +146,6 @@ function getExpenseAutomationView(state) {
160
146
  jeSchedules,
161
147
  transactionView: expenseAutomationTransactionsView,
162
148
  missingReceipts,
163
- reconciliation,
164
149
  currentSelectedViewFetchState,
165
150
  currentSelectedViewBackgroundRefreshFetchState,
166
151
  fluxAnalysis,
@@ -1,7 +1,7 @@
1
1
  import { FetchStateAndError, FetchedState, ID } from '../../commonStateTypes/common';
2
2
  import { MonthYearPeriod } from '../../commonStateTypes/timePeriod';
3
- export declare const EXPENSE_AUTOMATION_VIEW_TYPES: readonly ["transaction_categorization", "je_schedules", "reconciliation", "missing_receipts", "flux_analysis", "month_end_insights"];
4
- export declare const toExpenseAutomationViewType: (v: string) => "transaction_categorization" | "je_schedules" | "reconciliation" | "missing_receipts" | "flux_analysis" | "month_end_insights";
3
+ export declare const EXPENSE_AUTOMATION_VIEW_TYPES: readonly ["transaction_categorization", "je_schedules", "account_recon", "missing_receipts", "flux_analysis", "month_end_insights"];
4
+ export declare const toExpenseAutomationViewType: (v: string) => "transaction_categorization" | "je_schedules" | "account_recon" | "missing_receipts" | "flux_analysis" | "month_end_insights";
5
5
  export type ExpenseAutomationViewType = ReturnType<typeof toExpenseAutomationViewType>;
6
6
  export interface ExpenseAutomationViewState extends FetchedState {
7
7
  saveStatus: FetchStateAndError;
@@ -5,7 +5,7 @@ const stringToUnion_1 = require("../../commonStateTypes/stringToUnion");
5
5
  exports.EXPENSE_AUTOMATION_VIEW_TYPES = [
6
6
  'transaction_categorization',
7
7
  'je_schedules',
8
- 'reconciliation',
8
+ 'account_recon', // Not part of scope in v1
9
9
  'missing_receipts',
10
10
  'flux_analysis',
11
11
  'month_end_insights',
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toTransactionUpdatesFromTransactionCategorizationLocalData = void 0;
4
+ const entity_1 = require("../../../entity/genericEntity/entity");
4
5
  const vendorTransaction_1 = require("../../../entity/transaction/stateTypes/vendorTransaction");
5
6
  const recommendationState_1 = require("../../recommendation/recommendationState");
6
7
  const saveTransactionHelper_1 = require("../../transactionDetail/epics/saveTransactionHelper");
@@ -9,7 +10,7 @@ const saveTransactionHelper_1 = require("../../transactionDetail/epics/saveTrans
9
10
  * @param transactionCategorizationLocalData
10
11
  */
11
12
  const toTransactionUpdatesFromTransactionCategorizationLocalData = (transactionCategorizationLocalData, transaction, uncategorizedIncomeExpense) => {
12
- var _a;
13
+ var _a, _b, _c;
13
14
  const updates = {
14
15
  updatesByLineId: {},
15
16
  };
@@ -18,24 +19,25 @@ const toTransactionUpdatesFromTransactionCategorizationLocalData = (transactionC
18
19
  const isTransactionMisCategorized = (0, saveTransactionHelper_1.isTransactionMiscategorized)(transaction, true);
19
20
  const isTransactionUnCategorized = (0, saveTransactionHelper_1.isTransactionUncategorized)(transaction, uncategorizedIncomeExpense);
20
21
  updates.memo = transactionCategorizationLocalData.memo;
21
- const currentSelectedEntity = transactionCategorizationLocalData.selectedEntity;
22
- if ((0, vendorTransaction_1.isVendorTransaction)(transaction) === true &&
23
- currentSelectedEntity != null &&
24
- currentSelectedEntity.type === 'vendor') {
25
- updates.vendorId = currentSelectedEntity.qboId;
26
- }
27
- if ((0, vendorTransaction_1.isVendorTransactionWithCustomer)(transaction) === true &&
28
- currentSelectedEntity != null &&
29
- currentSelectedEntity.type === 'customer') {
30
- updates.customerId = currentSelectedEntity.qboId;
22
+ if ((0, vendorTransaction_1.isVendorTransaction)(transaction) === true) {
23
+ updates.vendorId = (_a = transactionCategorizationLocalData.vendorUpdates) === null || _a === void 0 ? void 0 : _a.id;
31
24
  }
25
+ const entity = transaction.vendorId != null
26
+ ? {
27
+ id: transaction.vendorId,
28
+ name: (_b = transaction.vendorName) !== null && _b !== void 0 ? _b : '',
29
+ type: (0, entity_1.toEntityType)('vendor'),
30
+ qboId: transaction.vendorId,
31
+ zeniId: transaction.vendorId,
32
+ }
33
+ : undefined;
32
34
  let lastUpdatedCategory;
33
35
  let lastUpdatedClass;
34
- (_a = transaction.lines) === null || _a === void 0 ? void 0 : _a.forEach((line) => {
35
- var _a, _b, _c, _d;
36
- const currentSelectedEntityLine = transactionCategorizationLocalData.lineItemById[line.id]
37
- .selectedEntityLine;
38
- const entityDetails = getEntityDetails(currentSelectedEntity, transactionCategorizationLocalData.lineItemById[line.id], transactionCategorizationLocalData.vendorUpdates, transactionCategorizationLocalData.customerUpdates, currentSelectedEntityLine);
36
+ // single recommendation to just pick the last recommendation in the list of lines
37
+ (_c = transaction.lines) === null || _c === void 0 ? void 0 : _c.forEach((line) => {
38
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
39
+ const updatedEntityId = (_a = transactionCategorizationLocalData.vendorUpdates) === null || _a === void 0 ? void 0 : _a.qboId;
40
+ const entityDetails = getEntityDetails(entity, transactionCategorizationLocalData.lineItemById[line.id], transactionCategorizationLocalData.vendorUpdates);
39
41
  if (line.type === 'transaction_with_account_and_class_line' ||
40
42
  line.type === 'transaction_with_product_or_service_line' ||
41
43
  line.type === 'journal_entry_transaction_line') {
@@ -48,25 +50,24 @@ const toTransactionUpdatesFromTransactionCategorizationLocalData = (transactionC
48
50
  };
49
51
  if (line.type === 'journal_entry_transaction_line' ||
50
52
  line.platformLineDetailType === 'deposit_line_detail') {
51
- updatesByLineId[line.id] = Object.assign(Object.assign({}, updatesByLineId[line.id]), { vendor: currentSelectedEntityLine != null &&
52
- currentSelectedEntityLine.type === 'vendor'
53
- ? lineItem.vendor
54
- : undefined, customer: currentSelectedEntityLine != null &&
55
- currentSelectedEntityLine.type === 'customer'
56
- ? lineItem.customer
57
- : undefined });
53
+ updatesByLineId[line.id] = Object.assign(Object.assign({}, updatesByLineId[line.id]), { vendor: lineItem.vendor });
58
54
  }
59
55
  let hasCategoryChanged = false;
60
56
  let hasClassChanged = false;
61
57
  const accountLine = line;
62
58
  hasCategoryChanged =
63
- ((_a = lineItem.account) === null || _a === void 0 ? void 0 : _a.qboId) !== accountLine.account.qboId &&
64
- Boolean((_b = lineItem.account) === null || _b === void 0 ? void 0 : _b.qboId);
59
+ ((_b = lineItem.account) === null || _b === void 0 ? void 0 : _b.qboId) !== accountLine.account.qboId &&
60
+ Boolean((_c = lineItem.account) === null || _c === void 0 ? void 0 : _c.qboId);
65
61
  hasClassChanged =
66
- Boolean((_c = lineItem.class) === null || _c === void 0 ? void 0 : _c.qboId) &&
67
- ((_d = lineItem.class) === null || _d === void 0 ? void 0 : _d.qboId) !== accountLine.class.qboId;
62
+ Boolean((_d = lineItem.class) === null || _d === void 0 ? void 0 : _d.qboId) &&
63
+ ((_e = lineItem.class) === null || _e === void 0 ? void 0 : _e.qboId) !== accountLine.class.qboId;
68
64
  const recommendedAccountBase = (0, saveTransactionHelper_1.toRecommendedAccountBase)(lineItem.amount.amount, lineItem.account);
69
65
  const recommendedClassBase = (0, saveTransactionHelper_1.toRecommendedClassBase)(lineItem.amount.amount, lineItem.class);
66
+ const updatedLineEntityId = ((_f = accountLine.vendor) === null || _f === void 0 ? void 0 : _f.id) != null
67
+ ? ((_g = accountLine.vendor) === null || _g === void 0 ? void 0 : _g.id) != ((_h = lineItem.vendor) === null || _h === void 0 ? void 0 : _h.id)
68
+ ? (_j = lineItem.vendor) === null || _j === void 0 ? void 0 : _j.id
69
+ : (_k = accountLine.vendor) === null || _k === void 0 ? void 0 : _k.id
70
+ : undefined;
70
71
  if (entityDetails != null &&
71
72
  (hasCategoryChanged === true || hasClassChanged === true)) {
72
73
  lastUpdatedCategory =
@@ -79,9 +80,24 @@ const toTransactionUpdatesFromTransactionCategorizationLocalData = (transactionC
79
80
  account: lastUpdatedCategory,
80
81
  class: lastUpdatedClass,
81
82
  };
82
- if (recommended.class != null || recommended.account != null) {
83
- const entityId = entityDetails.entityId;
84
- doUpdateEntityUpdates(entityUpdates, entityId, entityDetails.entityType, recommended, false, undefined);
83
+ if (recommended.class != null ||
84
+ recommended.account != null ||
85
+ updatedEntityId != null) {
86
+ const vendorIdToUpdate = (_l = transactionCategorizationLocalData.vendorUpdates) === null || _l === void 0 ? void 0 : _l.qboId;
87
+ let entityId = entityDetails.entityId;
88
+ if (line.type === 'journal_entry_transaction_line' ||
89
+ line.platformLineDetailType === 'deposit_line_detail') {
90
+ const entityId = (_m = accountLine.vendor) === null || _m === void 0 ? void 0 : _m.id;
91
+ if (entityId != null) {
92
+ doUpdateEntityUpdates(entityUpdates, entityId, entityDetails.entityType, recommended, false, updatedLineEntityId);
93
+ }
94
+ }
95
+ else {
96
+ if (vendorIdToUpdate != null) {
97
+ entityId = vendorIdToUpdate;
98
+ }
99
+ doUpdateEntityUpdates(entityUpdates, entityId, entityDetails.entityType, recommended, false, updatedEntityId);
100
+ }
85
101
  }
86
102
  }
87
103
  }
@@ -119,45 +135,29 @@ const doUpdateEntityUpdates = (entityUpdates, entityId, entityType, recommendati
119
135
  entityUpdates[entityKey] = Object.assign(Object.assign({}, entityUpdate), { recommendations: recommendation });
120
136
  }
121
137
  };
122
- const getEntityDetails = (entity, lineItemLocalData, vendorUpdates, customerUpdates, currentSelectedEntityLine) => {
123
- var _a, _b, _c, _d, _e, _f;
138
+ const getEntityDetails = (entity, lineItemLocalData, vendorUpdates) => {
139
+ var _a, _b, _c;
124
140
  if (entity != null) {
125
141
  return {
126
142
  entityId: (_a = entity.qboId) !== null && _a !== void 0 ? _a : entity.id,
127
143
  entityType: entity.type,
128
144
  };
129
145
  }
130
- if (vendorUpdates != null && vendorUpdates.id != null) {
131
- return {
132
- entityId: vendorUpdates.id,
133
- entityType: 'vendor',
134
- };
135
- }
136
- if (customerUpdates != null && customerUpdates.id != null) {
137
- return {
138
- entityId: customerUpdates.id,
139
- entityType: 'customer',
140
- };
141
- }
142
146
  if (lineItemLocalData.lineEntity != null) {
143
147
  return {
144
148
  entityId: (_b = lineItemLocalData.lineEntity.qboId) !== null && _b !== void 0 ? _b : lineItemLocalData.lineEntity.id,
145
149
  entityType: lineItemLocalData.vendor != null ? 'vendor' : 'customer',
146
150
  };
147
151
  }
148
- if (((_c = lineItemLocalData.customer) === null || _c === void 0 ? void 0 : _c.id) != null &&
149
- currentSelectedEntityLine != null &&
150
- currentSelectedEntityLine.type === 'customer') {
152
+ if (vendorUpdates != null && vendorUpdates.id != null) {
151
153
  return {
152
- entityId: (_d = currentSelectedEntityLine.qboId) !== null && _d !== void 0 ? _d : lineItemLocalData.customer.id,
153
- entityType: 'customer',
154
+ entityId: vendorUpdates.id,
155
+ entityType: 'vendor',
154
156
  };
155
157
  }
156
- if (((_e = lineItemLocalData.vendor) === null || _e === void 0 ? void 0 : _e.id) != null &&
157
- currentSelectedEntityLine != null &&
158
- currentSelectedEntityLine.type === 'vendor') {
158
+ if (((_c = lineItemLocalData.vendor) === null || _c === void 0 ? void 0 : _c.id) != null) {
159
159
  return {
160
- entityId: (_f = currentSelectedEntityLine.qboId) !== null && _f !== void 0 ? _f : lineItemLocalData.vendor.id,
160
+ entityId: lineItemLocalData.vendor.id,
161
161
  entityType: 'vendor',
162
162
  };
163
163
  }
@@ -8,6 +8,6 @@ import { UncategorizedAccounts } from '../../accountList/accountListSelector';
8
8
  import { TransactionReviewLocalData, TransactionsTabViewState } from '../types/transactionsViewState';
9
9
  export declare const MAX_SELECTION_LIMIT = 5;
10
10
  export declare const toTransactionDetailLocalData: (transaction: SupportedTransaction) => TransactionReviewLocalData;
11
- export declare const toSetAllLineItemsToCategoryClass: (draft: TransactionsTabViewState, transaction: SupportedTransaction, transactionId: ID, transactionLineId: ID, transactionDetailLocalData: TransactionReviewLocalData, updatedItem: "category" | "class", uncategorizedAccounts: UncategorizedAccounts, vendorId?: ID, customerId?: ID, selectedAccount?: AccountBase, selectedClassBase?: ClassBase) => TransactionReviewLocalData;
11
+ export declare const toSetAllLineItemsToCategoryClass: (draft: TransactionsTabViewState, transaction: SupportedTransaction, transactionId: ID, transactionLineId: ID, transactionDetailLocalData: TransactionReviewLocalData, updatedItem: "category" | "class", uncategorizedAccounts: UncategorizedAccounts, vendorId?: ID, selectedAccount?: AccountBase, selectedClassBase?: ClassBase) => TransactionReviewLocalData;
12
12
  export declare const setEntityRecommendationForLineIdInLocalData: (draft: TransactionsTabViewState, transaction: SupportedTransaction, transactionDetailLocalData: TransactionReviewLocalData, entity: Entity, recommendationLineIds: ID[], uncategorizedAccounts: UncategorizedAccounts, recommendationByLineId?: RecommendationByLineId) => TransactionReviewLocalData;
13
13
  export declare const checkIfAllLineItemsAreCategoryClassFilled: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionReviewLocalData, uncategorizedAccounts: UncategorizedAccounts) => boolean;