@zeniai/client-epic-state 4.20.3-betaSS12 → 4.20.3-betaSS14

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 (431) hide show
  1. package/lib/common/aiCfo/aiCfoSuggestedQuestionsPageContext.d.ts +19 -0
  2. package/lib/common/aiCfo/aiCfoSuggestedQuestionsPageContext.js +2 -0
  3. package/lib/commonPayloadTypes/subAccountView/reportBySubAccountPayload.d.ts +2 -0
  4. package/lib/commonStateTypes/animations.d.ts +1 -1
  5. package/lib/commonStateTypes/animations.js +4 -0
  6. package/lib/commonStateTypes/coaBalance/coaBalancesFilterProjectView.d.ts +13 -0
  7. package/lib/commonStateTypes/coaBalance/coaBalancesFilterProjectView.js +9 -0
  8. package/lib/commonStateTypes/common.d.ts +1 -1
  9. package/lib/commonStateTypes/projectView/projectViewParentID.d.ts +5 -0
  10. package/lib/commonStateTypes/projectView/projectViewParentID.js +2 -0
  11. package/lib/commonStateTypes/viewAndReport/reportIDHelper.d.ts +1 -0
  12. package/lib/commonStateTypes/viewAndReport/reportIDHelper.js +3 -1
  13. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  14. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +2 -0
  15. package/lib/entity/account/accountPayload.d.ts +2 -0
  16. package/lib/entity/account/accountReducer.d.ts +5 -2
  17. package/lib/entity/account/accountReducer.js +13 -5
  18. package/lib/entity/account/accountSelector.d.ts +7 -0
  19. package/lib/entity/account/accountSelector.js +4 -2
  20. package/lib/entity/account/accountState.d.ts +3 -1
  21. package/lib/entity/account/accountState.js +4 -1
  22. package/lib/entity/account/pickAndMergeForecastAccountReport.d.ts +1 -0
  23. package/lib/entity/account/subAccountSelector.d.ts +2 -0
  24. package/lib/entity/account/subAccountSelector.js +2 -0
  25. package/lib/entity/accountGroup/accountGroupSelector.d.ts +22 -0
  26. package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
  27. package/lib/entity/accountRecon/accountReconPayload.d.ts +1 -1
  28. package/lib/entity/accountRecon/accountReconPayload.js +4 -2
  29. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerPayload.d.ts +52 -0
  30. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerPayload.js +70 -0
  31. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerReducer.d.ts +10 -0
  32. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerReducer.js +51 -0
  33. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerSelector.d.ts +48 -0
  34. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerSelector.js +66 -0
  35. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerState.d.ts +52 -0
  36. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerState.js +37 -0
  37. package/lib/entity/aiCfo/aiCfoSelector.d.ts +1 -2
  38. package/lib/entity/billPay/billTransaction/billTransactionState.d.ts +4 -4
  39. package/lib/entity/chargeCard/chargeCard.d.ts +1 -1
  40. package/lib/entity/class/classReducer.d.ts +4 -4
  41. package/lib/entity/class/classState.d.ts +1 -1
  42. package/lib/entity/depositAccountTransaction/depositAccountTransaction.d.ts +1 -1
  43. package/lib/entity/entityApprovalStatus/entityApprovalStatusState.d.ts +2 -2
  44. package/lib/entity/forecast/forecastState.d.ts +1 -1
  45. package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +38 -0
  46. package/lib/entity/jeSchedules/jeSchedulesPayload.js +78 -0
  47. package/lib/entity/jeSchedules/jeSchedulesSelector.d.ts +4 -1
  48. package/lib/entity/jeSchedules/jeSchedulesSelector.js +5 -1
  49. package/lib/entity/jeSchedules/jeSchedulesState.d.ts +37 -0
  50. package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +1 -1
  51. package/lib/entity/project/projectPayload.d.ts +13 -0
  52. package/lib/entity/project/projectPayload.js +30 -0
  53. package/lib/entity/project/projectReducer.d.ts +10 -0
  54. package/lib/entity/project/projectReducer.js +31 -0
  55. package/lib/entity/project/projectSelector.d.ts +5 -0
  56. package/lib/entity/project/projectSelector.js +12 -0
  57. package/lib/entity/project/projectState.d.ts +13 -0
  58. package/lib/entity/project/projectState.js +2 -0
  59. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  60. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  61. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  62. package/lib/entity/sectionProjectView/sectionProjectView.d.ts +13 -0
  63. package/lib/entity/sectionProjectView/sectionProjectView.js +6 -0
  64. package/lib/entity/sectionProjectView/sectionProjectViewEpic.d.ts +6 -0
  65. package/lib/entity/sectionProjectView/sectionProjectViewEpic.js +56 -0
  66. package/lib/entity/sectionProjectView/sectionProjectViewHelper.d.ts +11 -0
  67. package/lib/entity/sectionProjectView/sectionProjectViewHelper.js +15 -0
  68. package/lib/entity/sectionProjectView/sectionProjectViewReducer.d.ts +15 -0
  69. package/lib/entity/sectionProjectView/sectionProjectViewReducer.js +64 -0
  70. package/lib/entity/sectionProjectView/sectionProjectViewSelector.d.ts +11 -0
  71. package/lib/entity/sectionProjectView/sectionProjectViewSelector.js +57 -0
  72. package/lib/entity/sectionProjectView/sectionProjectViewSelectorTypes.d.ts +16 -0
  73. package/lib/entity/sectionProjectView/sectionProjectViewSelectorTypes.js +2 -0
  74. package/lib/entity/sectionProjectView/sectionProjectViewState.d.ts +4 -0
  75. package/lib/entity/sectionProjectView/sectionProjectViewState.js +2 -0
  76. package/lib/entity/snackbar/snackbarTypes.d.ts +2 -2
  77. package/lib/entity/snackbar/snackbarTypes.js +10 -0
  78. package/lib/entity/tenant/clearAllEpic.d.ts +8 -2
  79. package/lib/entity/tenant/clearAllEpic.js +12 -0
  80. package/lib/entity/tenant/tenantPayload.d.ts +2 -0
  81. package/lib/entity/tenant/tenantReducer.d.ts +5 -2
  82. package/lib/entity/tenant/tenantReducer.js +10 -2
  83. package/lib/entity/tenant/tenantSelector.d.ts +2 -0
  84. package/lib/entity/tenant/tenantSelector.js +17 -1
  85. package/lib/entity/tenant/tenantState.d.ts +2 -0
  86. package/lib/entity/transaction/payloadTypes/scheduleTransactionPayload.d.ts +4 -1
  87. package/lib/entity/transaction/payloadTypes/scheduleTransactionPayload.js +1 -0
  88. package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +11 -0
  89. package/lib/entity/transaction/payloadTypes/transactionPayload.js +114 -1
  90. package/lib/entity/transaction/stateTypes/scheduleTransaction.d.ts +1 -0
  91. package/lib/entity/transaction/stateTypes/transaction.d.ts +11 -0
  92. package/lib/entity/transaction/stateTypes/transactionLine.d.ts +1 -1
  93. package/lib/entity/userRole/userRoleType.d.ts +2 -2
  94. package/lib/epic.d.ts +22 -2
  95. package/lib/epic.js +22 -2
  96. package/lib/esm/common/aiCfo/aiCfoSuggestedQuestionsPageContext.js +1 -0
  97. package/lib/esm/commonStateTypes/animations.js +4 -0
  98. package/lib/esm/commonStateTypes/coaBalance/coaBalancesFilterProjectView.js +5 -0
  99. package/lib/esm/commonStateTypes/projectView/projectViewParentID.js +1 -0
  100. package/lib/esm/commonStateTypes/viewAndReport/reportIDHelper.js +1 -0
  101. package/lib/esm/commonStateTypes/viewAndReport/viewAndReport.js +2 -0
  102. package/lib/esm/entity/account/accountReducer.js +12 -4
  103. package/lib/esm/entity/account/accountSelector.js +4 -2
  104. package/lib/esm/entity/account/accountState.js +4 -1
  105. package/lib/esm/entity/account/subAccountSelector.js +2 -0
  106. package/lib/esm/entity/accountRecon/accountReconPayload.js +4 -2
  107. package/lib/esm/entity/aiAccountantCustomer/aiAccountantCustomerPayload.js +64 -0
  108. package/lib/esm/entity/aiAccountantCustomer/aiAccountantCustomerReducer.js +47 -0
  109. package/lib/esm/entity/aiAccountantCustomer/aiAccountantCustomerSelector.js +62 -0
  110. package/lib/esm/entity/aiAccountantCustomer/aiAccountantCustomerState.js +31 -0
  111. package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +78 -0
  112. package/lib/esm/entity/jeSchedules/jeSchedulesSelector.js +5 -1
  113. package/lib/esm/entity/project/projectPayload.js +26 -0
  114. package/lib/esm/entity/project/projectReducer.js +27 -0
  115. package/lib/esm/entity/project/projectSelector.js +8 -0
  116. package/lib/esm/entity/project/projectState.js +1 -0
  117. package/lib/esm/entity/sectionProjectView/sectionProjectView.js +3 -0
  118. package/lib/esm/entity/sectionProjectView/sectionProjectViewEpic.js +52 -0
  119. package/lib/esm/entity/sectionProjectView/sectionProjectViewHelper.js +11 -0
  120. package/lib/esm/entity/sectionProjectView/sectionProjectViewReducer.js +60 -0
  121. package/lib/esm/entity/sectionProjectView/sectionProjectViewSelector.js +50 -0
  122. package/lib/esm/entity/sectionProjectView/sectionProjectViewSelectorTypes.js +1 -0
  123. package/lib/esm/entity/sectionProjectView/sectionProjectViewState.js +1 -0
  124. package/lib/esm/entity/snackbar/snackbarTypes.js +10 -0
  125. package/lib/esm/entity/tenant/clearAllEpic.js +12 -0
  126. package/lib/esm/entity/tenant/tenantReducer.js +9 -1
  127. package/lib/esm/entity/tenant/tenantSelector.js +14 -0
  128. package/lib/esm/entity/transaction/payloadTypes/scheduleTransactionPayload.js +1 -0
  129. package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +114 -1
  130. package/lib/esm/epic.js +22 -2
  131. package/lib/esm/index.js +32 -19
  132. package/lib/esm/reducer.js +20 -2
  133. package/lib/esm/view/aiAccountantView/aiAccountantViewPayload.js +2 -0
  134. package/lib/esm/view/aiAccountantView/aiAccountantViewReducer.js +152 -0
  135. package/lib/esm/view/aiAccountantView/aiAccountantViewSelector.js +77 -0
  136. package/lib/esm/view/aiAccountantView/aiAccountantViewState.js +11 -0
  137. package/lib/esm/view/aiAccountantView/epics/cancelAiAccountantOnboardingEpic.js +46 -0
  138. package/lib/esm/view/aiAccountantView/epics/fetchAiAccountantCustomersEpic.js +27 -0
  139. package/lib/esm/view/aiAccountantView/epics/fetchAiAccountantJobsEpic.js +47 -0
  140. package/lib/esm/view/aiAccountantView/epics/triggerAiAccountantJobEpic.js +76 -0
  141. package/lib/esm/view/aiCfoView/aiCfoViewReducer.js +82 -1
  142. package/lib/esm/view/aiCfoView/aiCfoViewSelector.js +8 -2
  143. package/lib/esm/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +29 -0
  144. package/lib/esm/view/classList/fetchClassListEpic.js +9 -2
  145. package/lib/esm/view/commonVendorView/vendorView/vendorViewSelector.js +18 -5
  146. package/lib/esm/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewSelector.js +6 -2
  147. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewReducer.js +19 -1
  148. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewSelector.js +3 -1
  149. package/lib/esm/view/companyTaskManagerView/epics/fetchTaskManagerMetricsEpic.js +17 -0
  150. package/lib/esm/view/companyView/companyViewReducer.js +26 -1
  151. package/lib/esm/view/companyView/epic/companyPassport/updateAccountingClassesEnabledEpic.js +61 -0
  152. package/lib/esm/view/companyView/types/companyPassport/companyPassportViewState.js +4 -0
  153. package/lib/esm/view/creditAgentView/creditAgentViewReducer.js +74 -76
  154. package/lib/esm/view/creditAgentView/creditAgentViewSelector.js +0 -1
  155. package/lib/esm/view/creditAgentView/creditAgentViewState.js +1 -28
  156. package/lib/esm/view/creditAgentView/epics/downloadCreditReportEpic.js +20 -17
  157. package/lib/esm/view/creditAgentView/epics/fetchCardProfilesEpic.js +5 -5
  158. package/lib/esm/view/creditAgentView/epics/fetchCreditAgentAccessEpic.js +8 -8
  159. package/lib/esm/view/creditAgentView/epics/fetchCreditAgentMacroEpic.js +7 -7
  160. package/lib/esm/view/creditAgentView/epics/saveCreditAgentMacroEpic.js +8 -3
  161. package/lib/esm/view/creditAgentView/epics/updateCardProfileEpic.js +5 -11
  162. package/lib/esm/view/expenseAutomationView/epics/accountRecon/excludeAccountFromReconciliationEpic.js +63 -0
  163. package/lib/esm/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +4 -9
  164. package/lib/esm/view/expenseAutomationView/epics/accountRecon/includeAccountInReconciliationEpic.js +65 -0
  165. package/lib/esm/view/expenseAutomationView/epics/jeSchedule/fetchJeSchedulesEpic.js +2 -2
  166. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/bulkUploadMatchResultToastEpic.js +33 -0
  167. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/bulkUploadReceiptsEpic.js +3 -3
  168. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/fetchBulkUploadBatchesEpic.js +6 -4
  169. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/fetchCompletedTransactionsEpic.js +20 -5
  170. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/refetchCompletedTransactionsOnBulkUploadSortEpic.js +12 -0
  171. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/restoreBulkUploadAutomatchingOnMountEpic.js +98 -0
  172. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.js +7 -13
  173. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/watchBulkUploadBatchStatusEpic.js +21 -5
  174. package/lib/esm/view/expenseAutomationView/expenseAutomationViewSelector.js +0 -1
  175. package/lib/esm/view/expenseAutomationView/helpers/bulkUploadTiming.js +16 -0
  176. package/lib/esm/view/expenseAutomationView/helpers/rollingCalendarDateRangeInclusive.js +13 -0
  177. package/lib/esm/view/expenseAutomationView/helpers/saveTransactionHelper.js +2 -2
  178. package/lib/esm/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -2
  179. package/lib/esm/view/expenseAutomationView/payload/missingReceiptsPayload.js +9 -0
  180. package/lib/esm/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +21 -1
  181. package/lib/esm/view/expenseAutomationView/reducers/missingReceiptsViewReducer.js +29 -6
  182. package/lib/esm/view/expenseAutomationView/reducers/reconciliationViewReducer.js +167 -3
  183. package/lib/esm/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.js +1 -2
  184. package/lib/esm/view/expenseAutomationView/selectors/fluxAnalysisViewSelector.js +10 -2
  185. package/lib/esm/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +63 -6
  186. package/lib/esm/view/expenseAutomationView/selectors/missingReceiptsSelector.js +14 -4
  187. package/lib/esm/view/expenseAutomationView/selectors/reconciliationViewSelector.js +136 -9
  188. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +15 -5
  189. package/lib/esm/view/expenseAutomationView/types/jeSchedulesViewState.js +24 -1
  190. package/lib/esm/view/financeStatement/financeStatementSelector.js +12 -1
  191. package/lib/esm/view/profitAndLossClassesView/profitAndLossClassesByClassHorizontalSelector.js +3 -0
  192. package/lib/esm/view/profitAndLossProjectView/profitAndLossForTimeframeProjectViewEpic.js +47 -0
  193. package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewEpic.js +30 -0
  194. package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewPayload.js +1 -0
  195. package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewReducer.js +113 -0
  196. package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewSelector.js +65 -0
  197. package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewSelectorTypes.js +1 -0
  198. package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewState.js +1 -0
  199. package/lib/esm/view/reportsResync/reportsClassViewRefetchingEpic.js +4 -0
  200. package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesPayload.js +26 -0
  201. package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesReducer.js +199 -0
  202. package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +52 -0
  203. package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesState.js +1 -0
  204. package/lib/esm/view/spendManagement/autotransferRules/epics/createAutoTransferRuleEpic.js +100 -0
  205. package/lib/esm/view/spendManagement/autotransferRules/epics/deleteAutoTransferRuleEpic.js +48 -0
  206. package/lib/esm/view/spendManagement/autotransferRules/epics/fetchAutoTransferReviewDetailEpic.js +36 -0
  207. package/lib/esm/view/spendManagement/autotransferRules/epics/fetchAutoTransferRuleHistory.js +45 -0
  208. package/lib/esm/view/spendManagement/autotransferRules/epics/fetchAutoTransferRulesEpic.js +50 -0
  209. package/lib/esm/view/spendManagement/autotransferRules/epics/updateAutoTransferRuleEpic.js +69 -0
  210. package/lib/esm/view/spendManagement/billPay/billDetailView/epics/fetchBillDetailEpic.js +5 -5
  211. package/lib/esm/view/spendManagement/billPay/billList/billListSelector.js +10 -0
  212. package/lib/esm/view/spendManagement/billPay/billList/billListState.js +1 -0
  213. package/lib/esm/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +7 -3
  214. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewSelector.js +5 -5
  215. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPayApproversDetailsEpic.js +7 -2
  216. package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +13 -6
  217. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardList.js +1 -0
  218. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +2 -0
  219. package/lib/esm/view/spendManagement/reimbursement/editRemiView/editRemiViewSelector.js +7 -4
  220. package/lib/esm/view/spendManagement/reimbursement/remiListView/remiListSelector.js +12 -0
  221. package/lib/esm/view/spendManagement/reimbursement/remiListView/remiListState.js +1 -0
  222. package/lib/esm/view/spendManagement/treasury/treasuryList/epics/fetchTreasuryDetailEpic.js +2 -2
  223. package/lib/esm/view/spendManagement/treasury/treasuryList/treasuryDetailReducer.js +2 -1
  224. package/lib/esm/view/spendManagement/zeniAccounts/zeniAccountList/zeniAccountListSelector.js +10 -3
  225. package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +2 -2
  226. package/lib/esm/view/transactionDetail/epics/saveTransactionHelper.js +2 -2
  227. package/lib/esm/view/transactionDetail/transactionDetailLocalDataHelper.js +16 -14
  228. package/lib/esm/view/transactionDetail/transactionDetailSelector.js +9 -2
  229. package/lib/esm/view/twoFactorAuthentication/resendOtpEpic.js +16 -2
  230. package/lib/index.d.ts +51 -28
  231. package/lib/index.js +117 -49
  232. package/lib/reducer.d.ts +20 -2
  233. package/lib/reducer.js +20 -2
  234. package/lib/view/aiAccountantView/aiAccountantViewPayload.d.ts +33 -0
  235. package/lib/view/aiAccountantView/aiAccountantViewPayload.js +8 -0
  236. package/lib/view/aiAccountantView/aiAccountantViewReducer.d.ts +29 -0
  237. package/lib/view/aiAccountantView/aiAccountantViewReducer.js +156 -0
  238. package/lib/view/aiAccountantView/aiAccountantViewSelector.d.ts +16 -0
  239. package/lib/view/aiAccountantView/aiAccountantViewSelector.js +83 -0
  240. package/lib/view/aiAccountantView/aiAccountantViewState.d.ts +26 -0
  241. package/lib/view/aiAccountantView/aiAccountantViewState.js +13 -0
  242. package/lib/view/aiAccountantView/epics/cancelAiAccountantOnboardingEpic.d.ts +33 -0
  243. package/lib/view/aiAccountantView/epics/cancelAiAccountantOnboardingEpic.js +50 -0
  244. package/lib/view/aiAccountantView/epics/fetchAiAccountantCustomersEpic.d.ts +23 -0
  245. package/lib/view/aiAccountantView/epics/fetchAiAccountantCustomersEpic.js +31 -0
  246. package/lib/view/aiAccountantView/epics/fetchAiAccountantJobsEpic.d.ts +33 -0
  247. package/lib/view/aiAccountantView/epics/fetchAiAccountantJobsEpic.js +51 -0
  248. package/lib/view/aiAccountantView/epics/triggerAiAccountantJobEpic.d.ts +28 -0
  249. package/lib/view/aiAccountantView/epics/triggerAiAccountantJobEpic.js +80 -0
  250. package/lib/view/aiCfoView/aiCfoViewPayload.d.ts +7 -0
  251. package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +15 -1
  252. package/lib/view/aiCfoView/aiCfoViewReducer.js +83 -2
  253. package/lib/view/aiCfoView/aiCfoViewSelector.d.ts +4 -1
  254. package/lib/view/aiCfoView/aiCfoViewSelector.js +9 -2
  255. package/lib/view/aiCfoView/aiCfoViewState.d.ts +15 -1
  256. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.d.ts +8 -0
  257. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +33 -0
  258. package/lib/view/auditReportView/auditReportViewState.d.ts +2 -2
  259. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  260. package/lib/view/cardBalance/cardBalanceSelector.d.ts +2 -1
  261. package/lib/view/cashBalance/cashBalanceSelector.d.ts +2 -1
  262. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  263. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  264. package/lib/view/classList/fetchClassListEpic.d.ts +1 -1
  265. package/lib/view/classList/fetchClassListEpic.js +8 -1
  266. package/lib/view/commonVendorView/vendorView/vendorViewSelector.d.ts +1 -0
  267. package/lib/view/commonVendorView/vendorView/vendorViewSelector.js +18 -5
  268. package/lib/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewSelector.d.ts +1 -0
  269. package/lib/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewSelector.js +6 -2
  270. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +2 -2
  271. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.js +20 -2
  272. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.d.ts +4 -1
  273. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.js +3 -1
  274. package/lib/view/companyTaskManagerView/companyTaskManagerViewState.d.ts +9 -1
  275. package/lib/view/companyTaskManagerView/epics/fetchTaskManagerMetricsEpic.d.ts +7 -0
  276. package/lib/view/companyTaskManagerView/epics/fetchTaskManagerMetricsEpic.js +21 -0
  277. package/lib/view/companyView/companyViewReducer.d.ts +6 -1
  278. package/lib/view/companyView/companyViewReducer.js +28 -2
  279. package/lib/view/companyView/epic/companyPassport/updateAccountingClassesEnabledEpic.d.ts +10 -0
  280. package/lib/view/companyView/epic/companyPassport/updateAccountingClassesEnabledEpic.js +65 -0
  281. package/lib/view/companyView/types/cockpitTypes.d.ts +6 -5
  282. package/lib/view/companyView/types/companyPassport/companyPassportViewState.d.ts +1 -0
  283. package/lib/view/companyView/types/companyPassport/companyPassportViewState.js +4 -0
  284. package/lib/view/creditAgentView/creditAgentViewPayload.d.ts +0 -36
  285. package/lib/view/creditAgentView/creditAgentViewReducer.d.ts +20 -9
  286. package/lib/view/creditAgentView/creditAgentViewReducer.js +77 -79
  287. package/lib/view/creditAgentView/creditAgentViewSelector.d.ts +0 -1
  288. package/lib/view/creditAgentView/creditAgentViewSelector.js +1 -2
  289. package/lib/view/creditAgentView/creditAgentViewState.d.ts +5 -46
  290. package/lib/view/creditAgentView/creditAgentViewState.js +0 -29
  291. package/lib/view/creditAgentView/epics/downloadCreditReportEpic.d.ts +20 -5
  292. package/lib/view/creditAgentView/epics/downloadCreditReportEpic.js +21 -16
  293. package/lib/view/creditAgentView/epics/fetchCardProfilesEpic.d.ts +4 -4
  294. package/lib/view/creditAgentView/epics/fetchCardProfilesEpic.js +4 -4
  295. package/lib/view/creditAgentView/epics/fetchCreditAgentAccessEpic.d.ts +6 -6
  296. package/lib/view/creditAgentView/epics/fetchCreditAgentAccessEpic.js +5 -5
  297. package/lib/view/creditAgentView/epics/fetchCreditAgentMacroEpic.d.ts +5 -5
  298. package/lib/view/creditAgentView/epics/fetchCreditAgentMacroEpic.js +5 -5
  299. package/lib/view/creditAgentView/epics/saveCreditAgentMacroEpic.js +8 -3
  300. package/lib/view/creditAgentView/epics/updateCardProfileEpic.d.ts +5 -5
  301. package/lib/view/creditAgentView/epics/updateCardProfileEpic.js +4 -10
  302. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  303. package/lib/view/expenseAutomationView/epics/accountRecon/excludeAccountFromReconciliationEpic.d.ts +9 -0
  304. package/lib/view/expenseAutomationView/epics/accountRecon/excludeAccountFromReconciliationEpic.js +67 -0
  305. package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +4 -9
  306. package/lib/view/expenseAutomationView/epics/accountRecon/includeAccountInReconciliationEpic.d.ts +10 -0
  307. package/lib/view/expenseAutomationView/epics/accountRecon/includeAccountInReconciliationEpic.js +69 -0
  308. package/lib/view/expenseAutomationView/epics/jeSchedule/fetchJeSchedulesEpic.js +2 -2
  309. package/lib/view/expenseAutomationView/epics/missingReceipts/bulkUploadMatchResultToastEpic.d.ts +13 -0
  310. package/lib/view/expenseAutomationView/epics/missingReceipts/bulkUploadMatchResultToastEpic.js +37 -0
  311. package/lib/view/expenseAutomationView/epics/missingReceipts/bulkUploadReceiptsEpic.js +2 -2
  312. package/lib/view/expenseAutomationView/epics/missingReceipts/fetchBulkUploadBatchesEpic.js +5 -3
  313. package/lib/view/expenseAutomationView/epics/missingReceipts/fetchCompletedTransactionsEpic.js +20 -5
  314. package/lib/view/expenseAutomationView/epics/missingReceipts/refetchCompletedTransactionsOnBulkUploadSortEpic.d.ts +10 -0
  315. package/lib/view/expenseAutomationView/epics/missingReceipts/refetchCompletedTransactionsOnBulkUploadSortEpic.js +16 -0
  316. package/lib/view/expenseAutomationView/epics/missingReceipts/restoreBulkUploadAutomatchingOnMountEpic.d.ts +18 -0
  317. package/lib/view/expenseAutomationView/epics/missingReceipts/restoreBulkUploadAutomatchingOnMountEpic.js +102 -0
  318. package/lib/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.js +7 -13
  319. package/lib/view/expenseAutomationView/epics/missingReceipts/watchBulkUploadBatchStatusEpic.d.ts +2 -2
  320. package/lib/view/expenseAutomationView/epics/missingReceipts/watchBulkUploadBatchStatusEpic.js +20 -4
  321. package/lib/view/expenseAutomationView/expenseAutomationViewSelector.js +0 -1
  322. package/lib/view/expenseAutomationView/helpers/bulkUploadTiming.d.ts +16 -0
  323. package/lib/view/expenseAutomationView/helpers/bulkUploadTiming.js +19 -0
  324. package/lib/view/expenseAutomationView/helpers/rollingCalendarDateRangeInclusive.d.ts +7 -0
  325. package/lib/view/expenseAutomationView/helpers/rollingCalendarDateRangeInclusive.js +16 -0
  326. package/lib/view/expenseAutomationView/helpers/saveTransactionHelper.js +2 -2
  327. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +2 -2
  328. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -2
  329. package/lib/view/expenseAutomationView/payload/jeSchedulesPayload.d.ts +1 -1
  330. package/lib/view/expenseAutomationView/payload/missingReceiptsPayload.d.ts +5 -0
  331. package/lib/view/expenseAutomationView/payload/missingReceiptsPayload.js +10 -0
  332. package/lib/view/expenseAutomationView/payload/reconciliationPayload.d.ts +45 -0
  333. package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.d.ts +2 -2
  334. package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +22 -2
  335. package/lib/view/expenseAutomationView/reducers/missingReceiptsViewReducer.d.ts +18 -2
  336. package/lib/view/expenseAutomationView/reducers/missingReceiptsViewReducer.js +30 -7
  337. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.d.ts +18 -4
  338. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.js +168 -4
  339. package/lib/view/expenseAutomationView/selectorTypes/jeSchedulesSelectorTypes.d.ts +2 -0
  340. package/lib/view/expenseAutomationView/selectorTypes/missingReceiptsSelectorTypes.d.ts +2 -0
  341. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.d.ts +7 -2
  342. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.js +2 -2
  343. package/lib/view/expenseAutomationView/selectors/fluxAnalysisViewSelector.js +10 -2
  344. package/lib/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +63 -6
  345. package/lib/view/expenseAutomationView/selectors/missingReceiptsSelector.js +14 -4
  346. package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.js +136 -9
  347. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +13 -3
  348. package/lib/view/expenseAutomationView/types/jeSchedulesViewState.d.ts +8 -0
  349. package/lib/view/expenseAutomationView/types/jeSchedulesViewState.js +27 -0
  350. package/lib/view/expenseAutomationView/types/missingReceiptsViewState.d.ts +5 -1
  351. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +14 -0
  352. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  353. package/lib/view/financeStatement/financeStatementSelector.d.ts +2 -0
  354. package/lib/view/financeStatement/financeStatementSelector.js +12 -1
  355. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  356. package/lib/view/profitAndLossClassesView/profitAndLossClassesByClassHorizontalSelector.js +3 -0
  357. package/lib/view/profitAndLossProjectView/profitAndLossForTimeframeProjectViewEpic.d.ts +9 -0
  358. package/lib/view/profitAndLossProjectView/profitAndLossForTimeframeProjectViewEpic.js +51 -0
  359. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewEpic.d.ts +6 -0
  360. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewEpic.js +34 -0
  361. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewPayload.d.ts +33 -0
  362. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewPayload.js +2 -0
  363. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewReducer.d.ts +33 -0
  364. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewReducer.js +117 -0
  365. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewSelector.d.ts +9 -0
  366. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewSelector.js +69 -0
  367. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewSelectorTypes.d.ts +19 -0
  368. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewSelectorTypes.js +2 -0
  369. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewState.d.ts +22 -0
  370. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewState.js +2 -0
  371. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  372. package/lib/view/reportsResync/reportsClassViewRefetchingEpic.d.ts +2 -1
  373. package/lib/view/reportsResync/reportsClassViewRefetchingEpic.js +4 -0
  374. package/lib/view/reportsResync/reportsResyncReducer.d.ts +2 -2
  375. package/lib/view/reviewCompanyView/reviewCompanyViewState.d.ts +1 -1
  376. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  377. package/lib/view/spendManagement/autotransferRules/autoTransferRulesPayload.d.ts +75 -0
  378. package/lib/view/spendManagement/autotransferRules/autoTransferRulesPayload.js +30 -0
  379. package/lib/view/spendManagement/autotransferRules/autoTransferRulesReducer.d.ts +50 -0
  380. package/lib/view/spendManagement/autotransferRules/autoTransferRulesReducer.js +206 -0
  381. package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.d.ts +24 -0
  382. package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +61 -0
  383. package/lib/view/spendManagement/autotransferRules/autoTransferRulesState.d.ts +38 -0
  384. package/lib/view/spendManagement/autotransferRules/autoTransferRulesState.js +2 -0
  385. package/lib/view/spendManagement/autotransferRules/epics/createAutoTransferRuleEpic.d.ts +12 -0
  386. package/lib/view/spendManagement/autotransferRules/epics/createAutoTransferRuleEpic.js +106 -0
  387. package/lib/view/spendManagement/autotransferRules/epics/deleteAutoTransferRuleEpic.d.ts +8 -0
  388. package/lib/view/spendManagement/autotransferRules/epics/deleteAutoTransferRuleEpic.js +52 -0
  389. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferReviewDetailEpic.d.ts +7 -0
  390. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferReviewDetailEpic.js +40 -0
  391. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferRuleHistory.d.ts +7 -0
  392. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferRuleHistory.js +52 -0
  393. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferRulesEpic.d.ts +10 -0
  394. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferRulesEpic.js +54 -0
  395. package/lib/view/spendManagement/autotransferRules/epics/updateAutoTransferRuleEpic.d.ts +8 -0
  396. package/lib/view/spendManagement/autotransferRules/epics/updateAutoTransferRuleEpic.js +73 -0
  397. package/lib/view/spendManagement/billPay/billDetailView/epics/fetchBillDetailEpic.js +5 -5
  398. package/lib/view/spendManagement/billPay/billList/billListReducer.d.ts +1 -1
  399. package/lib/view/spendManagement/billPay/billList/billListSelector.js +10 -0
  400. package/lib/view/spendManagement/billPay/billList/billListState.d.ts +2 -2
  401. package/lib/view/spendManagement/billPay/billList/billListState.js +1 -0
  402. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +7 -3
  403. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewSelector.js +5 -5
  404. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPayApproversDetailsEpic.js +7 -2
  405. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +13 -6
  406. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailReducer.d.ts +4 -4
  407. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
  408. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.js +1 -0
  409. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +2 -0
  410. package/lib/view/spendManagement/reimbursement/editRemiView/editRemiViewSelector.js +6 -3
  411. package/lib/view/spendManagement/reimbursement/remiListView/remiListReducer.d.ts +1 -1
  412. package/lib/view/spendManagement/reimbursement/remiListView/remiListSelector.d.ts +1 -0
  413. package/lib/view/spendManagement/reimbursement/remiListView/remiListSelector.js +12 -0
  414. package/lib/view/spendManagement/reimbursement/remiListView/remiListState.d.ts +4 -4
  415. package/lib/view/spendManagement/reimbursement/remiListView/remiListState.js +1 -0
  416. package/lib/view/spendManagement/treasury/treasuryList/epics/fetchTreasuryDetailEpic.js +2 -2
  417. package/lib/view/spendManagement/treasury/treasuryList/treasuryDetailReducer.d.ts +2 -1
  418. package/lib/view/spendManagement/treasury/treasuryList/treasuryDetailReducer.js +2 -1
  419. package/lib/view/spendManagement/zeniAccounts/zeniAccountList/zeniAccountListSelector.d.ts +9 -1
  420. package/lib/view/spendManagement/zeniAccounts/zeniAccountList/zeniAccountListSelector.js +10 -3
  421. package/lib/view/subscriptionView/types/subscriptionTypes.d.ts +1 -1
  422. package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +2 -2
  423. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  424. package/lib/view/topEx/topExSelector.d.ts +1 -1
  425. package/lib/view/transactionDetail/epics/saveTransactionHelper.js +2 -2
  426. package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +16 -14
  427. package/lib/view/transactionDetail/transactionDetailSelector.d.ts +1 -0
  428. package/lib/view/transactionDetail/transactionDetailSelector.js +9 -2
  429. package/lib/view/twoFactorAuthentication/resendOtpEpic.d.ts +1 -1
  430. package/lib/view/twoFactorAuthentication/resendOtpEpic.js +15 -1
  431. package/package.json +1 -1
@@ -1,5 +1,26 @@
1
1
  import { createSlice } from '@reduxjs/toolkit';
2
- import { initialCreditAgentViewState, } from './creditAgentViewState';
2
+ export const initialCreditAgentViewState = {
3
+ access: {
4
+ fetchState: 'Not-Started',
5
+ isAllowed: null,
6
+ },
7
+ cardProfiles: {
8
+ downloadState: 'Not-Started',
9
+ error: undefined,
10
+ fetchState: 'Not-Started',
11
+ rows: [],
12
+ },
13
+ macro: {
14
+ data: null,
15
+ error: undefined,
16
+ fetchState: 'Not-Started',
17
+ updateState: 'Not-Started',
18
+ },
19
+ scheduleCron: {
20
+ error: undefined,
21
+ fetchState: 'Not-Started',
22
+ },
23
+ };
3
24
  const creditAgentView = createSlice({
4
25
  name: 'creditAgentView',
5
26
  initialState: initialCreditAgentViewState,
@@ -8,57 +29,22 @@ const creditAgentView = createSlice({
8
29
  draft.access.fetchState = 'In-Progress';
9
30
  draft.access.isAllowed = null;
10
31
  },
11
- fetchCreditAgentAccessCompleted(draft, action) {
32
+ fetchCreditAgentAccessSuccess(draft, action) {
12
33
  draft.access.fetchState = 'Completed';
13
34
  draft.access.isAllowed = action.payload;
14
35
  },
15
- fetchCreditAgentAccessFailed(draft) {
36
+ fetchCreditAgentAccessFailure(draft, action) {
16
37
  draft.access.fetchState = 'Error';
17
- draft.access.isAllowed = false;
18
- },
19
- fetchTenantCreditScoreReport(draft) {
20
- draft.report.fetchState = 'In-Progress';
21
- draft.report.error = undefined;
22
- },
23
- updateTenantCreditScoreReport(draft, action) {
24
- draft.report.fetchState = 'Completed';
25
- draft.report.error = undefined;
26
- draft.report.rows = action.payload.report.map((row) => ({
27
- customerName: row.customer_name,
28
- totalCashBalance: row.total_cash_balance,
29
- totalCardBalance: row.total_card_balance,
30
- cards: row.cards,
31
- controllerName: row.controller_name,
32
- period: row.period,
33
- runway: row.runway,
34
- burnRateMonthly: row.burn_rate_monthly,
35
- healthMonitorScore: row.health_monitor_score,
36
- creditScore: row.credit_score,
37
- confidence: row.confidence,
38
- creditAmount: row.credit_amount,
39
- creditLimit: row.credit_limit,
40
- conservativeLimitRationale: row.conservative_limit_rationale,
41
- liberalCreditLimit: row.liberal_credit_limit,
42
- liberalLimitRationale: row.liberal_limit_rationale,
43
- pros: row.pros,
44
- cons: row.cons,
45
- reasoning: row.reasoning,
46
- goingConcernAnalysis: row.going_concern_analysis,
47
- keyRatios: row.key_ratios,
48
- runDate: row.run_date,
49
- status: row.status,
50
- }));
51
- draft.report.count = action.payload.count;
52
- },
53
- updateTenantCreditScoreReportFailure(draft, action) {
54
- draft.report.fetchState = 'Error';
55
- draft.report.error = action.payload;
56
- },
57
- scheduleTenantCreditScoreCron(draft,
58
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
59
- _action) {
60
- draft.scheduleCron.fetchState = 'In-Progress';
61
- draft.scheduleCron.error = undefined;
38
+ draft.access.error = action.payload;
39
+ },
40
+ scheduleTenantCreditScoreCron: {
41
+ reducer(draft) {
42
+ draft.scheduleCron.fetchState = 'In-Progress';
43
+ draft.scheduleCron.error = undefined;
44
+ },
45
+ prepare(tenantId) {
46
+ return { payload: { tenantId } };
47
+ },
62
48
  },
63
49
  scheduleTenantCreditScoreCronSuccess(draft) {
64
50
  draft.scheduleCron.fetchState = 'Completed';
@@ -76,20 +62,23 @@ const creditAgentView = createSlice({
76
62
  draft.macro.fetchState = 'In-Progress';
77
63
  draft.macro.error = undefined;
78
64
  },
79
- updateCreditAgentMacro(draft, action) {
65
+ fetchCreditAgentMacroSuccess(draft, action) {
80
66
  draft.macro.fetchState = 'Completed';
81
67
  draft.macro.error = undefined;
82
68
  draft.macro.data = mapMacroPayload(action.payload);
83
69
  },
84
- updateCreditAgentMacroFailure(draft, action) {
70
+ fetchCreditAgentMacroFailure(draft, action) {
85
71
  draft.macro.fetchState = 'Error';
86
72
  draft.macro.error = action.payload;
87
73
  },
88
- saveCreditAgentMacro(draft,
89
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
90
- _action) {
91
- draft.macro.updateState = 'In-Progress';
92
- draft.macro.error = undefined;
74
+ saveCreditAgentMacro: {
75
+ reducer(draft) {
76
+ draft.macro.updateState = 'In-Progress';
77
+ draft.macro.error = undefined;
78
+ },
79
+ prepare(instructions) {
80
+ return { payload: { instructions } };
81
+ },
93
82
  },
94
83
  saveCreditAgentMacroSuccess(draft, action) {
95
84
  draft.macro.updateState = 'Completed';
@@ -108,40 +97,49 @@ const creditAgentView = createSlice({
108
97
  draft.cardProfiles.fetchState = 'In-Progress';
109
98
  draft.cardProfiles.error = undefined;
110
99
  },
111
- fetchCardProfilesCompleted(draft, action) {
100
+ fetchCardProfilesSuccess(draft, action) {
112
101
  draft.cardProfiles.fetchState = 'Completed';
113
102
  draft.cardProfiles.error = undefined;
114
103
  draft.cardProfiles.rows = action.payload;
115
104
  },
116
- fetchCardProfilesFailed(draft, action) {
105
+ fetchCardProfilesFailure(draft, action) {
117
106
  draft.cardProfiles.fetchState = 'Error';
118
107
  draft.cardProfiles.error = action.payload;
119
108
  },
120
- updateCardProfile(
121
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
122
- _draft,
123
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
124
- _action) {
125
- // action dispatched to trigger the epic; no optimistic state update needed
109
+ updateCardProfile: {
110
+ reducer() {
111
+ // action dispatched to trigger the epic; no optimistic state update needed
112
+ },
113
+ prepare(payload) {
114
+ return { payload };
115
+ },
126
116
  },
127
- updateCardProfileCompleted(draft, action) {
117
+ updateCardProfileSuccess(draft, action) {
128
118
  const { tenantNamespace, profile } = action.payload;
129
119
  draft.cardProfiles.rows = draft.cardProfiles.rows.map((row) => row.tenantNamespace === tenantNamespace ? { ...row, ...profile } : row);
130
120
  },
131
- updateCardProfileFailed(
132
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
133
- _draft,
134
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
135
- _action) {
136
- // noop — the epic will surface the error via alert
121
+ updateCardProfileFailure: {
122
+ reducer() {
123
+ // noop — the epic will surface the error via alert
124
+ },
125
+ prepare(payload) {
126
+ return { payload };
127
+ },
137
128
  },
138
129
  downloadCreditReport(draft) {
139
130
  draft.cardProfiles.downloadState = 'In-Progress';
140
131
  },
141
- downloadCreditReportCompleted(draft) {
142
- draft.cardProfiles.downloadState = 'Completed';
143
- },
144
- downloadCreditReportFailed(draft) {
132
+ // Payload carries the CSV string so the consuming app can trigger the actual
133
+ // file download using its platform-appropriate mechanism (browser Blob / RN file API).
134
+ downloadCreditReportSuccess: {
135
+ reducer(draft) {
136
+ draft.cardProfiles.downloadState = 'Completed';
137
+ },
138
+ prepare(csv) {
139
+ return { payload: { csv } };
140
+ },
141
+ },
142
+ downloadCreditReportFailure(draft) {
145
143
  draft.cardProfiles.downloadState = 'Error';
146
144
  },
147
145
  },
@@ -158,7 +156,7 @@ export function mapCardTenantProfileRowPayload(row) {
158
156
  recommendedAmount: row.recommended_amount ?? null,
159
157
  reportDate: row.report_date ?? null,
160
158
  tenantId: row.tenant_id ?? null,
161
- tenantNamespace: String(row.tenant_namespace ?? ''),
159
+ tenantNamespace: row.tenant_namespace,
162
160
  updatedByName: row.updated_by_name ?? null,
163
161
  updatedByUserId: row.updated_by_user_id ?? null,
164
162
  updatedOn: row.updated_on ?? null,
@@ -178,6 +176,6 @@ function mapMacroPayload(payload) {
178
176
  updatedAt: payload.updated_at,
179
177
  };
180
178
  }
181
- export const { fetchCreditAgentAccess, fetchCreditAgentAccessCompleted, fetchCreditAgentAccessFailed, fetchTenantCreditScoreReport, updateTenantCreditScoreReport, updateTenantCreditScoreReportFailure, scheduleTenantCreditScoreCron, scheduleTenantCreditScoreCronSuccess, scheduleTenantCreditScoreCronFailure, resetScheduleCronState, fetchCreditAgentMacro, updateCreditAgentMacro, updateCreditAgentMacroFailure, saveCreditAgentMacro, saveCreditAgentMacroSuccess, saveCreditAgentMacroFailure, resetSaveMacroState, fetchCardProfiles, fetchCardProfilesCompleted, fetchCardProfilesFailed, updateCardProfile, updateCardProfileCompleted, updateCardProfileFailed, downloadCreditReport, downloadCreditReportCompleted, downloadCreditReportFailed, } = creditAgentView.actions;
179
+ export const { fetchCreditAgentAccess, fetchCreditAgentAccessSuccess, fetchCreditAgentAccessFailure, scheduleTenantCreditScoreCron, scheduleTenantCreditScoreCronSuccess, scheduleTenantCreditScoreCronFailure, resetScheduleCronState, fetchCreditAgentMacro, fetchCreditAgentMacroSuccess, fetchCreditAgentMacroFailure, saveCreditAgentMacro, saveCreditAgentMacroSuccess, saveCreditAgentMacroFailure, resetSaveMacroState, fetchCardProfiles, fetchCardProfilesSuccess, fetchCardProfilesFailure, updateCardProfile, updateCardProfileSuccess, updateCardProfileFailure, downloadCreditReport, downloadCreditReportSuccess, downloadCreditReportFailure, } = creditAgentView.actions;
182
180
  export { initialCreditAgentViewState as initialState };
183
181
  export default creditAgentView.reducer;
@@ -1,6 +1,5 @@
1
1
  import { createSelector } from '@reduxjs/toolkit';
2
2
  const getCreditAgentViewState = (state) => state.creditAgentViewState;
3
- export const getCreditAgentReport = createSelector(getCreditAgentViewState, (creditAgentViewState) => creditAgentViewState.report);
4
3
  export const getCreditAgentMacro = createSelector(getCreditAgentViewState, (creditAgentViewState) => creditAgentViewState.macro);
5
4
  export const getScheduleCronState = createSelector(getCreditAgentViewState, (creditAgentViewState) => creditAgentViewState.scheduleCron);
6
5
  export const getCardProfilesData = createSelector(getCreditAgentViewState, (creditAgentViewState) => creditAgentViewState.cardProfiles);
@@ -1,28 +1 @@
1
- export const initialCreditAgentViewState = {
2
- access: {
3
- fetchState: 'Not-Started',
4
- isAllowed: null,
5
- },
6
- cardProfiles: {
7
- downloadState: 'Not-Started',
8
- error: undefined,
9
- fetchState: 'Not-Started',
10
- rows: [],
11
- },
12
- macro: {
13
- data: null,
14
- error: undefined,
15
- fetchState: 'Not-Started',
16
- updateState: 'Not-Started',
17
- },
18
- report: {
19
- count: 0,
20
- error: undefined,
21
- fetchState: 'Not-Started',
22
- rows: [],
23
- },
24
- scheduleCron: {
25
- error: undefined,
26
- fetchState: 'Not-Started',
27
- },
28
- };
1
+ export {};
@@ -1,7 +1,7 @@
1
1
  import { of } from 'rxjs';
2
2
  import { catchError, filter, switchMap } from 'rxjs/operators';
3
- import { downloadCreditReport, downloadCreditReportCompleted, downloadCreditReportFailed, } from '../creditAgentViewReducer';
4
- const CSV_HEADERS = [
3
+ import { downloadCreditReport, downloadCreditReportFailure, downloadCreditReportSuccess, } from '../creditAgentViewReducer';
4
+ export const CSV_HEADERS = [
5
5
  'Customer Name',
6
6
  'Card Status',
7
7
  'Credit Limit ($)',
@@ -15,7 +15,7 @@ const CSV_HEADERS = [
15
15
  'Updated By',
16
16
  'Updated On',
17
17
  ];
18
- function rowToCsvLine(row) {
18
+ export function rowToCsvLine(row) {
19
19
  const fields = [
20
20
  row.customerName,
21
21
  row.cardStatus,
@@ -37,23 +37,26 @@ function rowToCsvLine(row) {
37
37
  })
38
38
  .join(',');
39
39
  }
40
+ export function buildCsvString(rows) {
41
+ const csvLines = [CSV_HEADERS.join(','), ...rows.map(rowToCsvLine)];
42
+ return csvLines.join('\n');
43
+ }
44
+ /**
45
+ * Epic: gather rows from state and emit downloadCreditReportSuccess with CSV data.
46
+ *
47
+ * This epic intentionally does NOT touch the DOM (no Blob, no document, no
48
+ * URL.createObjectURL). Those browser-only APIs would break SSR and React Native
49
+ * consumers of this shared package. The consuming web app should listen for
50
+ * downloadCreditReportSuccess and perform the actual file-save using its own
51
+ * platform-appropriate mechanism.
52
+ */
40
53
  export const downloadCreditReportEpic = (actions$, state$, _zeniAPI) => actions$.pipe(filter(downloadCreditReport.match), switchMap(() => {
41
54
  try {
42
55
  const rows = state$.value.creditAgentViewState.cardProfiles.rows;
43
- const csvLines = [CSV_HEADERS.join(','), ...rows.map(rowToCsvLine)];
44
- const csv = csvLines.join('\n');
45
- const blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' });
46
- const objectUrl = URL.createObjectURL(blob);
47
- const link = document.createElement('a');
48
- link.href = objectUrl;
49
- link.setAttribute('download', 'card-tenant-profiles.csv');
50
- document.body.appendChild(link);
51
- link.click();
52
- document.body.removeChild(link);
53
- URL.revokeObjectURL(objectUrl);
54
- return of(downloadCreditReportCompleted());
56
+ const csv = buildCsvString(rows);
57
+ return of(downloadCreditReportSuccess(csv));
55
58
  }
56
59
  catch {
57
- return of(downloadCreditReportFailed());
60
+ return of(downloadCreditReportFailure());
58
61
  }
59
- }), catchError(() => of(downloadCreditReportFailed())));
62
+ }), catchError(() => of(downloadCreditReportFailure())));
@@ -1,16 +1,16 @@
1
1
  import { of } from 'rxjs';
2
2
  import { catchError, filter, switchMap, mergeMap } from 'rxjs/operators';
3
3
  import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
4
- import { fetchCardProfiles, fetchCardProfilesCompleted, fetchCardProfilesFailed, mapCardTenantProfileRowPayload, } from '../creditAgentViewReducer';
4
+ import { fetchCardProfiles, fetchCardProfilesFailure, fetchCardProfilesSuccess, mapCardTenantProfileRowPayload, } from '../creditAgentViewReducer';
5
5
  export const fetchCardProfilesEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchCardProfiles.match), switchMap(() => {
6
6
  const url = `${zeniAPI.apiEndPoints.cardMicroServiceBaseUrl}/1.0/cockpit/card-tenant-profiles`;
7
7
  return zeniAPI.getJSON(url).pipe(mergeMap((response) => {
8
- if (isSuccessResponse(response) && response.data != null) {
8
+ if (isSuccessResponse(response)) {
9
9
  const rows = (response.data.rows ?? []).map(mapCardTenantProfileRowPayload);
10
- return of(fetchCardProfilesCompleted(rows));
10
+ return of(fetchCardProfilesSuccess(rows));
11
11
  }
12
12
  else {
13
- return of(fetchCardProfilesFailed(response.status));
13
+ return of(fetchCardProfilesFailure(response.status));
14
14
  }
15
- }), catchError((error) => of(fetchCardProfilesFailed(createZeniAPIStatus('Unexpected error', 'REST API call errored out: ' + JSON.stringify(error))))));
15
+ }), catchError((error) => of(fetchCardProfilesFailure(createZeniAPIStatus('Unexpected error', 'REST API call errored out: ' + JSON.stringify(error))))));
16
16
  }));
@@ -1,13 +1,13 @@
1
1
  import { of } from 'rxjs';
2
- import { catchError, filter, switchMap } from 'rxjs/operators';
3
- import { isSuccessResponse } from '../../../responsePayload';
4
- import { fetchCreditAgentAccess, fetchCreditAgentAccessCompleted, fetchCreditAgentAccessFailed, } from '../creditAgentViewReducer';
5
- export const fetchCreditAgentAccessEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchCreditAgentAccess.match), switchMap(() => {
2
+ import { catchError, filter, switchMap, withLatestFrom } from 'rxjs/operators';
3
+ import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
4
+ import { fetchCreditAgentAccess, fetchCreditAgentAccessFailure, fetchCreditAgentAccessSuccess, } from '../creditAgentViewReducer';
5
+ export const fetchCreditAgentAccessEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(fetchCreditAgentAccess.match), withLatestFrom(state$), filter(([, state]) => state.creditAgentViewState.access.fetchState !== 'In-Progress'), switchMap(() => {
6
6
  const url = `${zeniAPI.apiEndPoints.cardMicroServiceBaseUrl}/1.0/cockpit/cards-cockpit-access`;
7
7
  return zeniAPI.getJSON(url).pipe(switchMap((response) => {
8
- if (isSuccessResponse(response) && response.data != null) {
9
- return of(fetchCreditAgentAccessCompleted(response.data.is_allowed === true));
8
+ if (isSuccessResponse(response)) {
9
+ return of(fetchCreditAgentAccessSuccess(response.data.is_allowed === true));
10
10
  }
11
- return of(fetchCreditAgentAccessCompleted(false));
12
- }), catchError(() => of(fetchCreditAgentAccessFailed())));
11
+ return of(fetchCreditAgentAccessFailure(response.status));
12
+ }), catchError((error) => of(fetchCreditAgentAccessFailure(createZeniAPIStatus('Unexpected error', 'REST API call errored out: ' + JSON.stringify(error))))));
13
13
  }));
@@ -1,15 +1,15 @@
1
1
  import { of } from 'rxjs';
2
- import { catchError, filter, switchMap, mergeMap } from 'rxjs/operators';
2
+ import { catchError, filter, switchMap, mergeMap, withLatestFrom } from 'rxjs/operators';
3
3
  import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
4
- import { fetchCreditAgentMacro, updateCreditAgentMacro, updateCreditAgentMacroFailure, } from '../creditAgentViewReducer';
5
- export const fetchCreditAgentMacroEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchCreditAgentMacro.match), switchMap(() => {
4
+ import { fetchCreditAgentMacro, fetchCreditAgentMacroFailure, fetchCreditAgentMacroSuccess, } from '../creditAgentViewReducer';
5
+ export const fetchCreditAgentMacroEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(fetchCreditAgentMacro.match), withLatestFrom(state$), filter(([, state]) => state.creditAgentViewState.macro.fetchState !== 'In-Progress'), switchMap(() => {
6
6
  const url = `${zeniAPI.apiEndPoints.aiCfoMicroServiceBaseUrl}/1.0/macros/credit-agent`;
7
7
  return zeniAPI.getJSON(url).pipe(mergeMap((response) => {
8
- if (isSuccessResponse(response) && response.data != null) {
9
- return of(updateCreditAgentMacro(response.data));
8
+ if (isSuccessResponse(response)) {
9
+ return of(fetchCreditAgentMacroSuccess(response.data));
10
10
  }
11
11
  else {
12
- return of(updateCreditAgentMacroFailure(response.status));
12
+ return of(fetchCreditAgentMacroFailure(response.status));
13
13
  }
14
- }), catchError((error) => of(updateCreditAgentMacroFailure(createZeniAPIStatus('Unexpected error', 'REST API call errored out: ' + JSON.stringify(error))))));
14
+ }), catchError((error) => of(fetchCreditAgentMacroFailure(createZeniAPIStatus('Unexpected error', 'REST API call errored out: ' + JSON.stringify(error))))));
15
15
  }));
@@ -5,14 +5,19 @@ import { saveCreditAgentMacro, saveCreditAgentMacroFailure, saveCreditAgentMacro
5
5
  export const saveCreditAgentMacroEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(saveCreditAgentMacro.match), switchMap((action) => {
6
6
  const { instructions } = action.payload;
7
7
  const existingMacro = state$.value.creditAgentViewState.macro.data;
8
+ // Fail fast if macro has not been loaded yet — avoids overwriting server-side
9
+ // name/description fields with empty defaults.
10
+ if (existingMacro == null) {
11
+ return of(saveCreditAgentMacroFailure(createZeniAPIStatus('Save failed', 'Cannot save macro: macro data has not been loaded yet.')));
12
+ }
8
13
  const url = `${zeniAPI.apiEndPoints.aiCfoMicroServiceBaseUrl}/1.0/macros/credit-agent`;
9
14
  const body = {
10
15
  instructions,
11
- name: existingMacro?.name ?? 'credit-agent',
12
- description: existingMacro?.description ?? '',
16
+ name: existingMacro.name,
17
+ description: existingMacro.description,
13
18
  };
14
19
  return zeniAPI.putAndGetJSON(url, body).pipe(mergeMap((response) => {
15
- if (isSuccessResponse(response) && response.data != null) {
20
+ if (isSuccessResponse(response)) {
16
21
  return of(saveCreditAgentMacroSuccess(response.data));
17
22
  }
18
23
  else {
@@ -1,7 +1,7 @@
1
1
  import { of } from 'rxjs';
2
2
  import { catchError, filter, switchMap, mergeMap } from 'rxjs/operators';
3
3
  import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
4
- import { updateCardProfile, updateCardProfileCompleted, updateCardProfileFailed, mapCardTenantProfileRowPayload, } from '../creditAgentViewReducer';
4
+ import { updateCardProfile, updateCardProfileFailure, updateCardProfileSuccess, mapCardTenantProfileRowPayload, } from '../creditAgentViewReducer';
5
5
  export const updateCardProfileEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(updateCardProfile.match), switchMap((action) => {
6
6
  const { tenantNamespace, update } = action.payload;
7
7
  const url = `${zeniAPI.apiEndPoints.cardMicroServiceBaseUrl}/1.0/cockpit/card-tenant-profiles`;
@@ -23,19 +23,13 @@ export const updateCardProfileEpic = (actions$, _state$, zeniAPI) => actions$.pi
23
23
  return zeniAPI.putAndGetJSON(url, body).pipe(mergeMap((response) => {
24
24
  if (isSuccessResponse(response) && response.data?.profile != null) {
25
25
  const mapped = mapCardTenantProfileRowPayload(response.data.profile);
26
- return of(updateCardProfileCompleted({
27
- profile: {
28
- cardStatus: mapped.cardStatus,
29
- creditLimit: mapped.creditLimit,
30
- updatedByName: mapped.updatedByName,
31
- updatedByUserId: mapped.updatedByUserId,
32
- updatedOn: mapped.updatedOn,
33
- },
26
+ return of(updateCardProfileSuccess({
27
+ profile: mapped,
34
28
  tenantNamespace,
35
29
  }));
36
30
  }
37
31
  else {
38
- return of(updateCardProfileFailed(response.status));
32
+ return of(updateCardProfileFailure(response.status));
39
33
  }
40
- }), catchError((error) => of(updateCardProfileFailed(createZeniAPIStatus('Unexpected error', 'REST API call errored out: ' + JSON.stringify(error))))));
34
+ }), catchError((error) => of(updateCardProfileFailure(createZeniAPIStatus('Unexpected error', 'REST API call errored out: ' + JSON.stringify(error))))));
41
35
  }));
@@ -0,0 +1,63 @@
1
+ import { of } from 'rxjs';
2
+ import { catchError, filter, mergeMap } from 'rxjs/operators';
3
+ import { changeAccountKey } from '../../../../entity/account/accountReducer';
4
+ import { getAccountKey } from '../../../../entity/account/accountState';
5
+ import { getAccountReconByAccountIdAndSelectedPeriod } from '../../../../entity/accountRecon/accountReconSelector';
6
+ import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
7
+ import { getCurrentTenant } from '../../../../entity/tenant/tenantSelector';
8
+ import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
9
+ import { excludeAccountFromReconciliation, excludeAccountFromReconciliationFailure, excludeAccountFromReconciliationSuccess, } from '../../reducers/reconciliationViewReducer';
10
+ export const excludeAccountFromReconciliationEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(excludeAccountFromReconciliation.match), mergeMap((action) => {
11
+ const { accountId } = action.payload;
12
+ const state = state$.value;
13
+ const currentTenant = getCurrentTenant(state);
14
+ const selectedPeriod = state.expenseAutomationViewState.selectedPeriodByTenantId[currentTenant.tenantId];
15
+ const reconciliationData = getAccountReconByAccountIdAndSelectedPeriod(state, accountId, selectedPeriod);
16
+ const payload = {
17
+ account_id: accountId,
18
+ bank_balance: reconciliationData?.balance?.amount ?? null,
19
+ cleared_balance: reconciliationData?.clearedBalance?.amount ?? null,
20
+ variance: reconciliationData?.variance?.amount ?? null,
21
+ };
22
+ const apiUrl = `${zeniAPI.apiEndPoints.reconciliationMicroServiceBaseUrl}/1.0/reconciliation/excluded-accounts`;
23
+ return zeniAPI
24
+ .postAndGetJSON(apiUrl, payload)
25
+ .pipe(mergeMap((response) => {
26
+ if (isSuccessResponse(response)) {
27
+ const newAccountKey = getAccountKey('excluded_account_reconciliation', accountId);
28
+ const oldAccountKey = getAccountKey('account_reconciliation', accountId);
29
+ return of(excludeAccountFromReconciliationSuccess({
30
+ account: response.data?.excluded_account ?? undefined,
31
+ selectedPeriod,
32
+ }), changeAccountKey({
33
+ oldKey: oldAccountKey,
34
+ newKey: newAccountKey,
35
+ }), openSnackbar({
36
+ messageSection: 'account_excluded_from_reconciliation',
37
+ messageText: 'success',
38
+ type: 'success',
39
+ variables: [
40
+ {
41
+ variableName: '_account-name_',
42
+ variableValue: reconciliationData?.account.accountName ?? '',
43
+ },
44
+ ],
45
+ }));
46
+ }
47
+ else {
48
+ return of(excludeAccountFromReconciliationFailure({
49
+ error: response.status,
50
+ }), openSnackbar({
51
+ messageSection: 'account_excluded_from_reconciliation',
52
+ messageText: 'failed',
53
+ type: 'error',
54
+ }));
55
+ }
56
+ }), catchError((error) => of(excludeAccountFromReconciliationFailure({
57
+ error: createZeniAPIStatus('Unexpected Error', `Exclude account from reconciliation REST API call errored out ${JSON.stringify(error)}`),
58
+ }), openSnackbar({
59
+ messageSection: 'account_excluded_from_reconciliation',
60
+ messageText: 'failed',
61
+ type: 'error',
62
+ }))));
63
+ }));
@@ -53,22 +53,17 @@ export const fetchReconciliationViewEpic = (actions$, state$, zeniAPI) => action
53
53
  return zeniAPI.getJSON(apiUrl).pipe(mergeMap((response) => {
54
54
  if (isSuccessResponse(response) && response.data != null) {
55
55
  const updateActions = [];
56
- updateActions.push(updateAccounts(response.data.accounts, 'account_reconciliation'));
57
- updateActions.push(updateAllUsers({
56
+ const allTransactionsPerRecon = getAllReviewTransactionsFromReconcilePayload(response.data.reconciliation);
57
+ updateActions.push(updateAccounts(response.data.accounts, 'account_reconciliation'), updateAccounts(response.data.excluded_accounts ?? [], 'excluded_account_reconciliation'), updateAllUsers({
58
58
  users: response.data.users ?? [],
59
59
  updateType: 'merge',
60
- }));
61
- updateActions.push(updateFiles({ files: response.data.files ?? [] }));
62
- const allTransactionsPerRecon = getAllReviewTransactionsFromReconcilePayload(response.data.reconciliation);
63
- updateActions.push(updateMultipleReconcileTransactions(allTransactionsPerRecon, 'merge'));
64
- updateActions.push(updateAccountRecon(selectedPeriod, response.data.reconciliation));
60
+ }), updateFiles({ files: response.data.files ?? [] }), updateMultipleReconcileTransactions(allTransactionsPerRecon, 'merge'), updateAccountRecon(selectedPeriod, response.data.reconciliation));
65
61
  const reviewTabLocalData = prepareReviewTabLocalData(response.data.reconciliation[0]?.transactions?.review ?? []);
66
62
  if (accountId != null) {
67
63
  const selectedTransactionIds = getTransactionIdFromCheckedMatchedTransactionPayload(response.data.reconciliation[0].transactions.reconcile);
68
64
  updateActions.push(updateReconcileTabLocalData({
69
65
  selectedTransactionIds: selectedTransactionIds,
70
- }));
71
- updateActions.push(initializeReconciliationReviewTabLocalData(reviewTabLocalData));
66
+ }), initializeReconciliationReviewTabLocalData(reviewTabLocalData));
72
67
  }
73
68
  updateActions.push(fetchReconciliationSuccess(selectedPeriod, response.data, refreshViewInBackground, accountId));
74
69
  return from(updateActions);
@@ -0,0 +1,65 @@
1
+ import { of } from 'rxjs';
2
+ import { catchError, filter, mergeMap } from 'rxjs/operators';
3
+ import { convertToPeriod } from '../../../../commonStateTypes/timePeriod';
4
+ import { changeAccountKey } from '../../../../entity/account/accountReducer';
5
+ import { getAccountBase } from '../../../../entity/account/accountSelector';
6
+ import { getAccountKey } from '../../../../entity/account/accountState';
7
+ import { updateAccountRecon } from '../../../../entity/accountRecon/accountReconReducer';
8
+ import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
9
+ import { getCurrentTenant } from '../../../../entity/tenant/tenantSelector';
10
+ import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
11
+ import { includeAccountInReconciliation, includeAccountInReconciliationFailure, includeAccountInReconciliationSuccess, } from '../../reducers/reconciliationViewReducer';
12
+ export const includeAccountInReconciliationEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(includeAccountInReconciliation.match), mergeMap((action) => {
13
+ const { accountId } = action.payload;
14
+ const state = state$.value;
15
+ const currentTenant = getCurrentTenant(state);
16
+ const selectedPeriod = state.expenseAutomationViewState.selectedPeriodByTenantId[currentTenant.tenantId];
17
+ const account = getAccountBase(state.accountState, accountId, 'excluded_account_reconciliation');
18
+ const period = convertToPeriod(selectedPeriod, true);
19
+ const query = JSON.stringify({
20
+ start_date: period.start,
21
+ end_date: period.end,
22
+ });
23
+ const apiUrl = `${zeniAPI.apiEndPoints.reconciliationMicroServiceBaseUrl}/1.0/reconciliation/excluded-accounts/${accountId}?query=${encodeURIComponent(query)}`;
24
+ return zeniAPI
25
+ .deleteAndGetJSON(apiUrl)
26
+ .pipe(mergeMap((response) => {
27
+ if (isSuccessResponse(response) && response.data != null) {
28
+ const reconciliation = response.data.reconciliation;
29
+ const oldAccountKey = getAccountKey('excluded_account_reconciliation', reconciliation.account_id);
30
+ const newAccountKey = getAccountKey('account_reconciliation', reconciliation.account_id);
31
+ return of(updateAccountRecon(selectedPeriod, [reconciliation]), includeAccountInReconciliationSuccess({
32
+ reconciliation,
33
+ selectedPeriod,
34
+ }), changeAccountKey({
35
+ oldKey: oldAccountKey,
36
+ newKey: newAccountKey,
37
+ }), openSnackbar({
38
+ messageSection: 'account_included_in_reconciliation',
39
+ messageText: 'success',
40
+ type: 'success',
41
+ variables: [
42
+ {
43
+ variableName: '_account-name_',
44
+ variableValue: account?.accountName ?? '',
45
+ },
46
+ ],
47
+ }));
48
+ }
49
+ else {
50
+ return of(includeAccountInReconciliationFailure({
51
+ error: response.status,
52
+ }), openSnackbar({
53
+ messageSection: 'account_included_in_reconciliation',
54
+ messageText: 'failed',
55
+ type: 'error',
56
+ }));
57
+ }
58
+ }), catchError((error) => of(includeAccountInReconciliationFailure({
59
+ error: createZeniAPIStatus('Unexpected Error', `Include account in reconciliation REST API call errored out ${JSON.stringify(error)}`),
60
+ }), openSnackbar({
61
+ messageSection: 'account_included_in_reconciliation',
62
+ messageText: 'failed',
63
+ type: 'error',
64
+ }))));
65
+ }));
@@ -21,13 +21,13 @@ export const fetchJeSchedulesEpic = (actions$, state$, zeniAPI) => actions$.pipe
21
21
  if (isSuccessResponse(response) && response.data != null) {
22
22
  const updateActions = [];
23
23
  updateActions.push(updateJESchedules([
24
- ...response.data.draft_je_schedules,
24
+ ...response.data.je_schedules,
25
25
  ...response.data.failed_je_postings.je_schedules,
26
26
  ]), updateJESchedulesDetails([...response.data.failed_je_postings.je_schedules], response.data.failed_je_postings.scheduled_journal_entries), initializeJeScheduleLocalData([
27
27
  ...response.data.failed_je_postings.je_schedules,
28
28
  ]));
29
29
  updateActions.push(fetchJeSchedulesSuccess({
30
- jeSchedules: [...response.data.draft_je_schedules],
30
+ jeSchedules: [...response.data.je_schedules],
31
31
  failedJeSchedules: [
32
32
  ...response.data.failed_je_postings.je_schedules,
33
33
  ],