@zeniai/client-epic-state 5.1.16 → 5.1.18-betaAA0

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 (345) hide show
  1. package/lib/commonStateTypes/viewAndReport/agingReportStateTypes.d.ts +1 -1
  2. package/lib/entity/customer/customerPayload.d.ts +7 -1
  3. package/lib/entity/customer/customerPayload.js +32 -9
  4. package/lib/entity/invoicing/coupon/couponReducer.d.ts +12 -0
  5. package/lib/entity/invoicing/coupon/couponReducer.js +33 -0
  6. package/lib/entity/invoicing/creditNote/creditNoteReducer.d.ts +12 -0
  7. package/lib/entity/invoicing/creditNote/creditNoteReducer.js +35 -0
  8. package/lib/entity/invoicing/customer/customerReducer.d.ts +12 -0
  9. package/lib/entity/invoicing/customer/customerReducer.js +33 -0
  10. package/lib/entity/invoicing/dunningCase/dunningCaseReducer.d.ts +12 -0
  11. package/lib/entity/invoicing/dunningCase/dunningCaseReducer.js +35 -0
  12. package/lib/entity/invoicing/invoice/invoiceReducer.d.ts +10 -0
  13. package/lib/entity/invoicing/invoice/invoiceReducer.js +36 -0
  14. package/lib/entity/invoicing/invoice/invoiceSelector.d.ts +5 -0
  15. package/lib/entity/invoicing/invoice/invoiceSelector.js +9 -0
  16. package/lib/entity/invoicing/invoice/invoiceState.d.ts +5 -0
  17. package/lib/entity/invoicing/invoice/invoiceState.js +2 -0
  18. package/lib/entity/invoicing/invoicingTypes.d.ts +766 -0
  19. package/lib/entity/invoicing/invoicingTypes.js +15 -0
  20. package/lib/entity/invoicing/plan/planReducer.d.ts +12 -0
  21. package/lib/entity/invoicing/plan/planReducer.js +33 -0
  22. package/lib/entity/invoicing/product/productReducer.d.ts +12 -0
  23. package/lib/entity/invoicing/product/productReducer.js +33 -0
  24. package/lib/entity/invoicing/subscription/subscriptionReducer.d.ts +12 -0
  25. package/lib/entity/invoicing/subscription/subscriptionReducer.js +35 -0
  26. package/lib/entity/invoicing/transaction/transactionReducer.d.ts +12 -0
  27. package/lib/entity/invoicing/transaction/transactionReducer.js +35 -0
  28. package/lib/entity/reimbursement/reimbursementPayload.js +2 -1
  29. package/lib/entity/task/taskState.d.ts +1 -1
  30. package/lib/entity/tenant/clearAllEpic.d.ts +39 -2
  31. package/lib/entity/tenant/clearAllEpic.js +82 -8
  32. package/lib/entity/tenant/tenantReducer.js +3 -3
  33. package/lib/entity/transaction/payloadTypes/transactionLinePayload.js +1 -1
  34. package/lib/entity/transaction/payloadTypes/vendorTransactionPayload.d.ts +1 -1
  35. package/lib/entity/transactionActivityLog/transactionActivityLogPayload.js +4 -1
  36. package/lib/epic.d.ts +31 -1
  37. package/lib/epic.js +32 -1
  38. package/lib/esm/entity/customer/customerPayload.js +30 -8
  39. package/lib/esm/entity/invoicing/coupon/couponReducer.js +29 -0
  40. package/lib/esm/entity/invoicing/creditNote/creditNoteReducer.js +31 -0
  41. package/lib/esm/entity/invoicing/customer/customerReducer.js +29 -0
  42. package/lib/esm/entity/invoicing/dunningCase/dunningCaseReducer.js +31 -0
  43. package/lib/esm/entity/invoicing/invoice/invoiceReducer.js +32 -0
  44. package/lib/esm/entity/invoicing/invoice/invoiceSelector.js +4 -0
  45. package/lib/esm/entity/invoicing/invoice/invoiceState.js +1 -0
  46. package/lib/esm/entity/invoicing/invoicingTypes.js +14 -0
  47. package/lib/esm/entity/invoicing/plan/planReducer.js +29 -0
  48. package/lib/esm/entity/invoicing/product/productReducer.js +29 -0
  49. package/lib/esm/entity/invoicing/subscription/subscriptionReducer.js +31 -0
  50. package/lib/esm/entity/invoicing/transaction/transactionReducer.js +31 -0
  51. package/lib/esm/entity/reimbursement/reimbursementPayload.js +3 -2
  52. package/lib/esm/entity/tenant/clearAllEpic.js +74 -0
  53. package/lib/esm/entity/tenant/tenantReducer.js +3 -3
  54. package/lib/esm/entity/transaction/payloadTypes/transactionLinePayload.js +2 -2
  55. package/lib/esm/entity/transactionActivityLog/transactionActivityLogPayload.js +5 -2
  56. package/lib/esm/epic.js +32 -1
  57. package/lib/esm/index.js +78 -0
  58. package/lib/esm/reducer.js +114 -0
  59. package/lib/esm/view/invoicing/analyticsView/analyticsViewEpics.js +42 -0
  60. package/lib/esm/view/invoicing/analyticsView/analyticsViewReducer.js +45 -0
  61. package/lib/esm/view/invoicing/analyticsView/analyticsViewSelector.js +10 -0
  62. package/lib/esm/view/invoicing/approvalAction/approvalActionEpic.js +28 -0
  63. package/lib/esm/view/invoicing/approvalAction/approvalActionReducer.js +36 -0
  64. package/lib/esm/view/invoicing/approvalAction/approvalActionSelector.js +5 -0
  65. package/lib/esm/view/invoicing/approvalsView/approvalsViewEpics.js +37 -0
  66. package/lib/esm/view/invoicing/approvalsView/approvalsViewReducer.js +62 -0
  67. package/lib/esm/view/invoicing/approvalsView/approvalsViewSelector.js +8 -0
  68. package/lib/esm/view/invoicing/auditView/auditViewEpics.js +46 -0
  69. package/lib/esm/view/invoicing/auditView/auditViewReducer.js +56 -0
  70. package/lib/esm/view/invoicing/auditView/auditViewSelector.js +8 -0
  71. package/lib/esm/view/invoicing/catalogView/catalogViewEpics.js +143 -0
  72. package/lib/esm/view/invoicing/catalogView/catalogViewReducer.js +162 -0
  73. package/lib/esm/view/invoicing/catalogView/catalogViewSelector.js +31 -0
  74. package/lib/esm/view/invoicing/catalogWrite/catalogWriteEpic.js +34 -0
  75. package/lib/esm/view/invoicing/catalogWrite/catalogWriteReducer.js +39 -0
  76. package/lib/esm/view/invoicing/catalogWrite/catalogWriteSelector.js +6 -0
  77. package/lib/esm/view/invoicing/couponView/couponViewEpics.js +83 -0
  78. package/lib/esm/view/invoicing/couponView/couponViewReducer.js +105 -0
  79. package/lib/esm/view/invoicing/couponView/couponViewSelector.js +18 -0
  80. package/lib/esm/view/invoicing/couponWrite/couponWriteEpic.js +29 -0
  81. package/lib/esm/view/invoicing/couponWrite/couponWriteReducer.js +36 -0
  82. package/lib/esm/view/invoicing/couponWrite/couponWriteSelector.js +5 -0
  83. package/lib/esm/view/invoicing/createInvoice/createInvoiceEpic.js +23 -0
  84. package/lib/esm/view/invoicing/createInvoice/createInvoiceReducer.js +36 -0
  85. package/lib/esm/view/invoicing/createInvoice/createInvoiceSelector.js +5 -0
  86. package/lib/esm/view/invoicing/creditNoteView/creditNoteViewEpics.js +87 -0
  87. package/lib/esm/view/invoicing/creditNoteView/creditNoteViewReducer.js +105 -0
  88. package/lib/esm/view/invoicing/creditNoteView/creditNoteViewSelector.js +20 -0
  89. package/lib/esm/view/invoicing/customerPaymentMethod/customerPaymentMethodEpic.js +63 -0
  90. package/lib/esm/view/invoicing/customerPaymentMethod/customerPaymentMethodReducer.js +84 -0
  91. package/lib/esm/view/invoicing/customerPaymentMethod/customerPaymentMethodSelector.js +7 -0
  92. package/lib/esm/view/invoicing/customerView/customerViewEpics.js +71 -0
  93. package/lib/esm/view/invoicing/customerView/customerViewReducer.js +90 -0
  94. package/lib/esm/view/invoicing/customerView/customerViewSelector.js +17 -0
  95. package/lib/esm/view/invoicing/customerWrite/customerWriteEpic.js +23 -0
  96. package/lib/esm/view/invoicing/customerWrite/customerWriteReducer.js +36 -0
  97. package/lib/esm/view/invoicing/customerWrite/customerWriteSelector.js +5 -0
  98. package/lib/esm/view/invoicing/dataImportAction/dataImportActionEpic.js +41 -0
  99. package/lib/esm/view/invoicing/dataImportAction/dataImportActionReducer.js +73 -0
  100. package/lib/esm/view/invoicing/dataImportAction/dataImportActionSelector.js +5 -0
  101. package/lib/esm/view/invoicing/dataImportView/dataImportViewEpics.js +41 -0
  102. package/lib/esm/view/invoicing/dataImportView/dataImportViewReducer.js +66 -0
  103. package/lib/esm/view/invoicing/dataImportView/dataImportViewSelector.js +6 -0
  104. package/lib/esm/view/invoicing/dunningAction/dunningActionEpic.js +28 -0
  105. package/lib/esm/view/invoicing/dunningAction/dunningActionReducer.js +36 -0
  106. package/lib/esm/view/invoicing/dunningAction/dunningActionSelector.js +5 -0
  107. package/lib/esm/view/invoicing/dunningCaseView/dunningCaseViewEpics.js +85 -0
  108. package/lib/esm/view/invoicing/dunningCaseView/dunningCaseViewReducer.js +105 -0
  109. package/lib/esm/view/invoicing/dunningCaseView/dunningCaseViewSelector.js +20 -0
  110. package/lib/esm/view/invoicing/invoiceAction/invoiceActionEpic.js +50 -0
  111. package/lib/esm/view/invoicing/invoiceAction/invoiceActionReducer.js +42 -0
  112. package/lib/esm/view/invoicing/invoiceAction/invoiceActionSelector.js +5 -0
  113. package/lib/esm/view/invoicing/invoiceDetail/fetchInvoiceDetailEpic.js +20 -0
  114. package/lib/esm/view/invoicing/invoiceDetail/invoiceDetailReducer.js +34 -0
  115. package/lib/esm/view/invoicing/invoiceDetail/invoiceDetailSelector.js +9 -0
  116. package/lib/esm/view/invoicing/invoiceDetail/invoiceDetailState.js +1 -0
  117. package/lib/esm/view/invoicing/invoiceList/fetchInvoiceCountsEpic.js +32 -0
  118. package/lib/esm/view/invoicing/invoiceList/fetchInvoiceKPIsEpic.js +17 -0
  119. package/lib/esm/view/invoicing/invoiceList/fetchInvoiceListEpic.js +55 -0
  120. package/lib/esm/view/invoicing/invoiceList/invoiceListReducer.js +90 -0
  121. package/lib/esm/view/invoicing/invoiceList/invoiceListSelector.js +11 -0
  122. package/lib/esm/view/invoicing/invoiceList/invoiceListState.js +1 -0
  123. package/lib/esm/view/invoicing/invoicePdf/invoicePdfEpic.js +37 -0
  124. package/lib/esm/view/invoicing/invoicePdf/invoicePdfReducer.js +33 -0
  125. package/lib/esm/view/invoicing/invoicePdf/invoicePdfSelector.js +5 -0
  126. package/lib/esm/view/invoicing/invoicingApiHelper.js +38 -0
  127. package/lib/esm/view/invoicing/paymentAction/paymentActionEpic.js +28 -0
  128. package/lib/esm/view/invoicing/paymentAction/paymentActionReducer.js +36 -0
  129. package/lib/esm/view/invoicing/paymentAction/paymentActionSelector.js +5 -0
  130. package/lib/esm/view/invoicing/recordPayment/recordPaymentEpic.js +23 -0
  131. package/lib/esm/view/invoicing/recordPayment/recordPaymentReducer.js +36 -0
  132. package/lib/esm/view/invoicing/recordPayment/recordPaymentSelector.js +5 -0
  133. package/lib/esm/view/invoicing/reportsView/reportsViewEpics.js +28 -0
  134. package/lib/esm/view/invoicing/reportsView/reportsViewReducer.js +54 -0
  135. package/lib/esm/view/invoicing/reportsView/reportsViewSelector.js +13 -0
  136. package/lib/esm/view/invoicing/settingsView/settingsViewEpics.js +53 -0
  137. package/lib/esm/view/invoicing/settingsView/settingsViewReducer.js +69 -0
  138. package/lib/esm/view/invoicing/settingsView/settingsViewSelector.js +7 -0
  139. package/lib/esm/view/invoicing/subscriptionAction/subscriptionActionEpic.js +28 -0
  140. package/lib/esm/view/invoicing/subscriptionAction/subscriptionActionReducer.js +36 -0
  141. package/lib/esm/view/invoicing/subscriptionAction/subscriptionActionSelector.js +5 -0
  142. package/lib/esm/view/invoicing/subscriptionView/subscriptionViewEpics.js +85 -0
  143. package/lib/esm/view/invoicing/subscriptionView/subscriptionViewReducer.js +90 -0
  144. package/lib/esm/view/invoicing/subscriptionView/subscriptionViewSelector.js +19 -0
  145. package/lib/esm/view/invoicing/subscriptionWrite/subscriptionWriteEpic.js +25 -0
  146. package/lib/esm/view/invoicing/subscriptionWrite/subscriptionWriteReducer.js +36 -0
  147. package/lib/esm/view/invoicing/subscriptionWrite/subscriptionWriteSelector.js +5 -0
  148. package/lib/esm/view/invoicing/transactionView/transactionViewEpics.js +76 -0
  149. package/lib/esm/view/invoicing/transactionView/transactionViewReducer.js +90 -0
  150. package/lib/esm/view/invoicing/transactionView/transactionViewSelector.js +19 -0
  151. package/lib/index.d.ts +97 -0
  152. package/lib/index.js +365 -1
  153. package/lib/reducer.d.ts +114 -0
  154. package/lib/reducer.js +126 -12
  155. package/lib/view/invoicing/analyticsView/analyticsViewEpics.d.ts +7 -0
  156. package/lib/view/invoicing/analyticsView/analyticsViewEpics.js +46 -0
  157. package/lib/view/invoicing/analyticsView/analyticsViewReducer.d.ts +22 -0
  158. package/lib/view/invoicing/analyticsView/analyticsViewReducer.js +49 -0
  159. package/lib/view/invoicing/analyticsView/analyticsViewSelector.d.ts +10 -0
  160. package/lib/view/invoicing/analyticsView/analyticsViewSelector.js +20 -0
  161. package/lib/view/invoicing/approvalAction/approvalActionEpic.d.ts +8 -0
  162. package/lib/view/invoicing/approvalAction/approvalActionEpic.js +32 -0
  163. package/lib/view/invoicing/approvalAction/approvalActionReducer.d.ts +20 -0
  164. package/lib/view/invoicing/approvalAction/approvalActionReducer.js +40 -0
  165. package/lib/view/invoicing/approvalAction/approvalActionSelector.d.ts +3 -0
  166. package/lib/view/invoicing/approvalAction/approvalActionSelector.js +9 -0
  167. package/lib/view/invoicing/approvalsView/approvalsViewEpics.d.ts +7 -0
  168. package/lib/view/invoicing/approvalsView/approvalsViewEpics.js +41 -0
  169. package/lib/view/invoicing/approvalsView/approvalsViewReducer.d.ts +33 -0
  170. package/lib/view/invoicing/approvalsView/approvalsViewReducer.js +66 -0
  171. package/lib/view/invoicing/approvalsView/approvalsViewSelector.d.ts +9 -0
  172. package/lib/view/invoicing/approvalsView/approvalsViewSelector.js +16 -0
  173. package/lib/view/invoicing/auditView/auditViewEpics.d.ts +7 -0
  174. package/lib/view/invoicing/auditView/auditViewEpics.js +50 -0
  175. package/lib/view/invoicing/auditView/auditViewReducer.d.ts +36 -0
  176. package/lib/view/invoicing/auditView/auditViewReducer.js +60 -0
  177. package/lib/view/invoicing/auditView/auditViewSelector.d.ts +9 -0
  178. package/lib/view/invoicing/auditView/auditViewSelector.js +16 -0
  179. package/lib/view/invoicing/catalogView/catalogViewEpics.d.ts +14 -0
  180. package/lib/view/invoicing/catalogView/catalogViewEpics.js +152 -0
  181. package/lib/view/invoicing/catalogView/catalogViewReducer.d.ts +76 -0
  182. package/lib/view/invoicing/catalogView/catalogViewReducer.js +166 -0
  183. package/lib/view/invoicing/catalogView/catalogViewSelector.d.ts +22 -0
  184. package/lib/view/invoicing/catalogView/catalogViewSelector.js +52 -0
  185. package/lib/view/invoicing/catalogWrite/catalogWriteEpic.d.ts +9 -0
  186. package/lib/view/invoicing/catalogWrite/catalogWriteEpic.js +38 -0
  187. package/lib/view/invoicing/catalogWrite/catalogWriteReducer.d.ts +21 -0
  188. package/lib/view/invoicing/catalogWrite/catalogWriteReducer.js +43 -0
  189. package/lib/view/invoicing/catalogWrite/catalogWriteSelector.d.ts +6 -0
  190. package/lib/view/invoicing/catalogWrite/catalogWriteSelector.js +12 -0
  191. package/lib/view/invoicing/couponView/couponViewEpics.d.ts +11 -0
  192. package/lib/view/invoicing/couponView/couponViewEpics.js +90 -0
  193. package/lib/view/invoicing/couponView/couponViewReducer.d.ts +42 -0
  194. package/lib/view/invoicing/couponView/couponViewReducer.js +109 -0
  195. package/lib/view/invoicing/couponView/couponViewSelector.d.ts +14 -0
  196. package/lib/view/invoicing/couponView/couponViewSelector.js +31 -0
  197. package/lib/view/invoicing/couponWrite/couponWriteEpic.d.ts +8 -0
  198. package/lib/view/invoicing/couponWrite/couponWriteEpic.js +33 -0
  199. package/lib/view/invoicing/couponWrite/couponWriteReducer.d.ts +17 -0
  200. package/lib/view/invoicing/couponWrite/couponWriteReducer.js +40 -0
  201. package/lib/view/invoicing/couponWrite/couponWriteSelector.d.ts +4 -0
  202. package/lib/view/invoicing/couponWrite/couponWriteSelector.js +10 -0
  203. package/lib/view/invoicing/createInvoice/createInvoiceEpic.d.ts +8 -0
  204. package/lib/view/invoicing/createInvoice/createInvoiceEpic.js +27 -0
  205. package/lib/view/invoicing/createInvoice/createInvoiceReducer.d.ts +34 -0
  206. package/lib/view/invoicing/createInvoice/createInvoiceReducer.js +40 -0
  207. package/lib/view/invoicing/createInvoice/createInvoiceSelector.d.ts +4 -0
  208. package/lib/view/invoicing/createInvoice/createInvoiceSelector.js +10 -0
  209. package/lib/view/invoicing/creditNoteView/creditNoteViewEpics.d.ts +11 -0
  210. package/lib/view/invoicing/creditNoteView/creditNoteViewEpics.js +94 -0
  211. package/lib/view/invoicing/creditNoteView/creditNoteViewReducer.d.ts +43 -0
  212. package/lib/view/invoicing/creditNoteView/creditNoteViewReducer.js +109 -0
  213. package/lib/view/invoicing/creditNoteView/creditNoteViewSelector.d.ts +14 -0
  214. package/lib/view/invoicing/creditNoteView/creditNoteViewSelector.js +33 -0
  215. package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodEpic.d.ts +11 -0
  216. package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodEpic.js +70 -0
  217. package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodReducer.d.ts +42 -0
  218. package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodReducer.js +88 -0
  219. package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodSelector.d.ts +10 -0
  220. package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodSelector.js +17 -0
  221. package/lib/view/invoicing/customerView/customerViewEpics.d.ts +10 -0
  222. package/lib/view/invoicing/customerView/customerViewEpics.js +77 -0
  223. package/lib/view/invoicing/customerView/customerViewReducer.d.ts +41 -0
  224. package/lib/view/invoicing/customerView/customerViewReducer.js +94 -0
  225. package/lib/view/invoicing/customerView/customerViewSelector.d.ts +13 -0
  226. package/lib/view/invoicing/customerView/customerViewSelector.js +29 -0
  227. package/lib/view/invoicing/customerWrite/customerWriteEpic.d.ts +8 -0
  228. package/lib/view/invoicing/customerWrite/customerWriteEpic.js +27 -0
  229. package/lib/view/invoicing/customerWrite/customerWriteReducer.d.ts +17 -0
  230. package/lib/view/invoicing/customerWrite/customerWriteReducer.js +40 -0
  231. package/lib/view/invoicing/customerWrite/customerWriteSelector.d.ts +4 -0
  232. package/lib/view/invoicing/customerWrite/customerWriteSelector.js +10 -0
  233. package/lib/view/invoicing/dataImportAction/dataImportActionEpic.d.ts +7 -0
  234. package/lib/view/invoicing/dataImportAction/dataImportActionEpic.js +45 -0
  235. package/lib/view/invoicing/dataImportAction/dataImportActionReducer.d.ts +23 -0
  236. package/lib/view/invoicing/dataImportAction/dataImportActionReducer.js +77 -0
  237. package/lib/view/invoicing/dataImportAction/dataImportActionSelector.d.ts +4 -0
  238. package/lib/view/invoicing/dataImportAction/dataImportActionSelector.js +9 -0
  239. package/lib/view/invoicing/dataImportView/dataImportViewEpics.d.ts +9 -0
  240. package/lib/view/invoicing/dataImportView/dataImportViewEpics.js +47 -0
  241. package/lib/view/invoicing/dataImportView/dataImportViewReducer.d.ts +15 -0
  242. package/lib/view/invoicing/dataImportView/dataImportViewReducer.js +70 -0
  243. package/lib/view/invoicing/dataImportView/dataImportViewSelector.d.ts +9 -0
  244. package/lib/view/invoicing/dataImportView/dataImportViewSelector.js +15 -0
  245. package/lib/view/invoicing/dunningAction/dunningActionEpic.d.ts +8 -0
  246. package/lib/view/invoicing/dunningAction/dunningActionEpic.js +32 -0
  247. package/lib/view/invoicing/dunningAction/dunningActionReducer.d.ts +21 -0
  248. package/lib/view/invoicing/dunningAction/dunningActionReducer.js +40 -0
  249. package/lib/view/invoicing/dunningAction/dunningActionSelector.d.ts +3 -0
  250. package/lib/view/invoicing/dunningAction/dunningActionSelector.js +9 -0
  251. package/lib/view/invoicing/dunningCaseView/dunningCaseViewEpics.d.ts +11 -0
  252. package/lib/view/invoicing/dunningCaseView/dunningCaseViewEpics.js +92 -0
  253. package/lib/view/invoicing/dunningCaseView/dunningCaseViewReducer.d.ts +42 -0
  254. package/lib/view/invoicing/dunningCaseView/dunningCaseViewReducer.js +109 -0
  255. package/lib/view/invoicing/dunningCaseView/dunningCaseViewSelector.d.ts +14 -0
  256. package/lib/view/invoicing/dunningCaseView/dunningCaseViewSelector.js +33 -0
  257. package/lib/view/invoicing/invoiceAction/invoiceActionEpic.d.ts +9 -0
  258. package/lib/view/invoicing/invoiceAction/invoiceActionEpic.js +55 -0
  259. package/lib/view/invoicing/invoiceAction/invoiceActionReducer.d.ts +26 -0
  260. package/lib/view/invoicing/invoiceAction/invoiceActionReducer.js +46 -0
  261. package/lib/view/invoicing/invoiceAction/invoiceActionSelector.d.ts +3 -0
  262. package/lib/view/invoicing/invoiceAction/invoiceActionSelector.js +9 -0
  263. package/lib/view/invoicing/invoiceDetail/fetchInvoiceDetailEpic.d.ts +8 -0
  264. package/lib/view/invoicing/invoiceDetail/fetchInvoiceDetailEpic.js +24 -0
  265. package/lib/view/invoicing/invoiceDetail/invoiceDetailReducer.d.ts +11 -0
  266. package/lib/view/invoicing/invoiceDetail/invoiceDetailReducer.js +38 -0
  267. package/lib/view/invoicing/invoiceDetail/invoiceDetailSelector.d.ts +5 -0
  268. package/lib/view/invoicing/invoiceDetail/invoiceDetailSelector.js +14 -0
  269. package/lib/view/invoicing/invoiceDetail/invoiceDetailState.d.ts +4 -0
  270. package/lib/view/invoicing/invoiceDetail/invoiceDetailState.js +2 -0
  271. package/lib/view/invoicing/invoiceList/fetchInvoiceCountsEpic.d.ts +7 -0
  272. package/lib/view/invoicing/invoiceList/fetchInvoiceCountsEpic.js +36 -0
  273. package/lib/view/invoicing/invoiceList/fetchInvoiceKPIsEpic.d.ts +7 -0
  274. package/lib/view/invoicing/invoiceList/fetchInvoiceKPIsEpic.js +21 -0
  275. package/lib/view/invoicing/invoiceList/fetchInvoiceListEpic.d.ts +8 -0
  276. package/lib/view/invoicing/invoiceList/fetchInvoiceListEpic.js +59 -0
  277. package/lib/view/invoicing/invoiceList/invoiceListReducer.d.ts +22 -0
  278. package/lib/view/invoicing/invoiceList/invoiceListReducer.js +94 -0
  279. package/lib/view/invoicing/invoiceList/invoiceListSelector.d.ts +11 -0
  280. package/lib/view/invoicing/invoiceList/invoiceListSelector.js +21 -0
  281. package/lib/view/invoicing/invoiceList/invoiceListState.d.ts +25 -0
  282. package/lib/view/invoicing/invoiceList/invoiceListState.js +2 -0
  283. package/lib/view/invoicing/invoicePdf/invoicePdfEpic.d.ts +7 -0
  284. package/lib/view/invoicing/invoicePdf/invoicePdfEpic.js +41 -0
  285. package/lib/view/invoicing/invoicePdf/invoicePdfReducer.d.ts +20 -0
  286. package/lib/view/invoicing/invoicePdf/invoicePdfReducer.js +37 -0
  287. package/lib/view/invoicing/invoicePdf/invoicePdfSelector.d.ts +3 -0
  288. package/lib/view/invoicing/invoicePdf/invoicePdfSelector.js +9 -0
  289. package/lib/view/invoicing/invoicingApiHelper.d.ts +22 -0
  290. package/lib/view/invoicing/invoicingApiHelper.js +44 -0
  291. package/lib/view/invoicing/paymentAction/paymentActionEpic.d.ts +8 -0
  292. package/lib/view/invoicing/paymentAction/paymentActionEpic.js +32 -0
  293. package/lib/view/invoicing/paymentAction/paymentActionReducer.d.ts +21 -0
  294. package/lib/view/invoicing/paymentAction/paymentActionReducer.js +40 -0
  295. package/lib/view/invoicing/paymentAction/paymentActionSelector.d.ts +3 -0
  296. package/lib/view/invoicing/paymentAction/paymentActionSelector.js +9 -0
  297. package/lib/view/invoicing/recordPayment/recordPaymentEpic.d.ts +8 -0
  298. package/lib/view/invoicing/recordPayment/recordPaymentEpic.js +27 -0
  299. package/lib/view/invoicing/recordPayment/recordPaymentReducer.d.ts +32 -0
  300. package/lib/view/invoicing/recordPayment/recordPaymentReducer.js +40 -0
  301. package/lib/view/invoicing/recordPayment/recordPaymentSelector.d.ts +4 -0
  302. package/lib/view/invoicing/recordPayment/recordPaymentSelector.js +10 -0
  303. package/lib/view/invoicing/reportsView/reportsViewEpics.d.ts +7 -0
  304. package/lib/view/invoicing/reportsView/reportsViewEpics.js +32 -0
  305. package/lib/view/invoicing/reportsView/reportsViewReducer.d.ts +20 -0
  306. package/lib/view/invoicing/reportsView/reportsViewReducer.js +58 -0
  307. package/lib/view/invoicing/reportsView/reportsViewSelector.d.ts +12 -0
  308. package/lib/view/invoicing/reportsView/reportsViewSelector.js +24 -0
  309. package/lib/view/invoicing/settingsView/settingsViewEpics.d.ts +10 -0
  310. package/lib/view/invoicing/settingsView/settingsViewEpics.js +60 -0
  311. package/lib/view/invoicing/settingsView/settingsViewReducer.d.ts +12 -0
  312. package/lib/view/invoicing/settingsView/settingsViewReducer.js +73 -0
  313. package/lib/view/invoicing/settingsView/settingsViewSelector.d.ts +7 -0
  314. package/lib/view/invoicing/settingsView/settingsViewSelector.js +14 -0
  315. package/lib/view/invoicing/subscriptionAction/subscriptionActionEpic.d.ts +8 -0
  316. package/lib/view/invoicing/subscriptionAction/subscriptionActionEpic.js +32 -0
  317. package/lib/view/invoicing/subscriptionAction/subscriptionActionReducer.d.ts +21 -0
  318. package/lib/view/invoicing/subscriptionAction/subscriptionActionReducer.js +40 -0
  319. package/lib/view/invoicing/subscriptionAction/subscriptionActionSelector.d.ts +3 -0
  320. package/lib/view/invoicing/subscriptionAction/subscriptionActionSelector.js +9 -0
  321. package/lib/view/invoicing/subscriptionView/subscriptionViewEpics.d.ts +10 -0
  322. package/lib/view/invoicing/subscriptionView/subscriptionViewEpics.js +91 -0
  323. package/lib/view/invoicing/subscriptionView/subscriptionViewReducer.d.ts +44 -0
  324. package/lib/view/invoicing/subscriptionView/subscriptionViewReducer.js +94 -0
  325. package/lib/view/invoicing/subscriptionView/subscriptionViewSelector.d.ts +13 -0
  326. package/lib/view/invoicing/subscriptionView/subscriptionViewSelector.js +31 -0
  327. package/lib/view/invoicing/subscriptionWrite/subscriptionWriteEpic.d.ts +8 -0
  328. package/lib/view/invoicing/subscriptionWrite/subscriptionWriteEpic.js +29 -0
  329. package/lib/view/invoicing/subscriptionWrite/subscriptionWriteReducer.d.ts +17 -0
  330. package/lib/view/invoicing/subscriptionWrite/subscriptionWriteReducer.js +40 -0
  331. package/lib/view/invoicing/subscriptionWrite/subscriptionWriteSelector.d.ts +4 -0
  332. package/lib/view/invoicing/subscriptionWrite/subscriptionWriteSelector.js +10 -0
  333. package/lib/view/invoicing/transactionView/transactionViewEpics.d.ts +10 -0
  334. package/lib/view/invoicing/transactionView/transactionViewEpics.js +82 -0
  335. package/lib/view/invoicing/transactionView/transactionViewReducer.d.ts +43 -0
  336. package/lib/view/invoicing/transactionView/transactionViewReducer.js +94 -0
  337. package/lib/view/invoicing/transactionView/transactionViewSelector.d.ts +13 -0
  338. package/lib/view/invoicing/transactionView/transactionViewSelector.js +31 -0
  339. package/lib/view/reviewCompanyView/reviewCompanyViewState.d.ts +1 -1
  340. package/lib/view/spendManagement/billPay/billList/billListReducer.d.ts +1 -1
  341. package/lib/view/spendManagement/billPay/billList/billListState.d.ts +1 -1
  342. package/lib/view/spendManagement/reimbursement/remiListView/remiListReducer.d.ts +1 -1
  343. package/lib/view/spendManagement/reimbursement/remiListView/remiListState.d.ts +3 -3
  344. package/lib/zeniAPI.d.ts +1 -0
  345. package/package.json +1 -1
@@ -33,6 +33,15 @@ import forecast, { initialState as initialForecastState, } from './entity/foreca
33
33
  import entity, { initialState as initialEntityState, } from './entity/genericEntity/entityReducer';
34
34
  import globalMerchant, { initialState as initialGlobalMerchantState, } from './entity/globalMerchant/globalMerchantReducer';
35
35
  import insights, { initialState as initialInsightState, } from './entity/insights/insightReducer';
36
+ import invoicingCoupon, { initialState as initialInvoicingCouponState, } from './entity/invoicing/coupon/couponReducer';
37
+ import invoicingCreditNote, { initialState as initialInvoicingCreditNoteState, } from './entity/invoicing/creditNote/creditNoteReducer';
38
+ import invoicingCustomer, { initialState as initialInvoicingCustomerState, } from './entity/invoicing/customer/customerReducer';
39
+ import invoicingDunningCase, { initialState as initialInvoicingDunningCaseState, } from './entity/invoicing/dunningCase/dunningCaseReducer';
40
+ import invoicingInvoice, { initialState as initialInvoicingInvoiceState, } from './entity/invoicing/invoice/invoiceReducer';
41
+ import invoicingPlan, { initialState as initialInvoicingPlanState, } from './entity/invoicing/plan/planReducer';
42
+ import invoicingProduct, { initialState as initialInvoicingProductState, } from './entity/invoicing/product/productReducer';
43
+ import invoicingSubscription, { initialState as initialInvoicingSubscriptionState, } from './entity/invoicing/subscription/subscriptionReducer';
44
+ import invoicingTransaction, { initialState as initialInvoicingTransactionState, } from './entity/invoicing/transaction/transactionReducer';
36
45
  import jeSchedules, { initialState as initialJESchedulesState, } from './entity/jeSchedules/jeSchedulesReducer';
37
46
  import merchant, { initialState as initialMerchantState, } from './entity/merchant/merchantReducer';
38
47
  import monthEndCloseChecks, { initialState as initialMonthEndCloseChecksState, } from './entity/monthEndCloseChecks/monthEndCloseChecksReducer';
@@ -117,6 +126,35 @@ import forecastList, { initialState as initialForecastListState, } from './view/
117
126
  import globalMerchantAutoComplete, { initialState as initialGlobalMerchantAutoCompleteState, } from './view/globalMerchantView/globalMerchantAutoCompleteView/globalMerchantAutoCompleteViewReducer';
118
127
  import globalMerchantView, { initialState as initialGlobalMerchantViewState, } from './view/globalMerchantView/globalMerchantViewReducer';
119
128
  import insightsCard, { initialState as initialInsightCardState, } from './view/insightsCard/insightsCardReducer';
129
+ import invoicingAnalyticsView, { initialState as initialInvoicingAnalyticsViewState, } from './view/invoicing/analyticsView/analyticsViewReducer';
130
+ import invoicingApprovalAction, { initialState as initialInvoicingApprovalActionState, } from './view/invoicing/approvalAction/approvalActionReducer';
131
+ import invoicingApprovalsView, { initialState as initialInvoicingApprovalsViewState, } from './view/invoicing/approvalsView/approvalsViewReducer';
132
+ import invoicingAuditView, { initialState as initialInvoicingAuditViewState, } from './view/invoicing/auditView/auditViewReducer';
133
+ import invoicingCatalogView, { initialState as initialInvoicingCatalogViewState, } from './view/invoicing/catalogView/catalogViewReducer';
134
+ import invoicingCatalogWrite, { initialState as initialInvoicingCatalogWriteState, } from './view/invoicing/catalogWrite/catalogWriteReducer';
135
+ import invoicingCouponWrite, { initialState as initialInvoicingCouponWriteState, } from './view/invoicing/couponWrite/couponWriteReducer';
136
+ import invoicingCouponView, { initialState as initialInvoicingCouponViewState, } from './view/invoicing/couponView/couponViewReducer';
137
+ import invoicingCreateInvoice, { initialState as initialInvoicingCreateInvoiceState, } from './view/invoicing/createInvoice/createInvoiceReducer';
138
+ import invoicingCreditNoteView, { initialState as initialInvoicingCreditNoteViewState, } from './view/invoicing/creditNoteView/creditNoteViewReducer';
139
+ import invoicingCustomerPaymentMethod, { initialState as initialInvoicingCustomerPaymentMethodState, } from './view/invoicing/customerPaymentMethod/customerPaymentMethodReducer';
140
+ import invoicingCustomerView, { initialState as initialInvoicingCustomerViewState, } from './view/invoicing/customerView/customerViewReducer';
141
+ import invoicingCustomerWrite, { initialState as initialInvoicingCustomerWriteState, } from './view/invoicing/customerWrite/customerWriteReducer';
142
+ import invoicingDataImportAction, { initialState as initialInvoicingDataImportActionState, } from './view/invoicing/dataImportAction/dataImportActionReducer';
143
+ import invoicingDataImportView, { initialState as initialInvoicingDataImportViewState, } from './view/invoicing/dataImportView/dataImportViewReducer';
144
+ import invoicingDunningAction, { initialState as initialInvoicingDunningActionState, } from './view/invoicing/dunningAction/dunningActionReducer';
145
+ import invoicingDunningCaseView, { initialState as initialInvoicingDunningCaseViewState, } from './view/invoicing/dunningCaseView/dunningCaseViewReducer';
146
+ import invoicingInvoiceAction, { initialState as initialInvoicingInvoiceActionState, } from './view/invoicing/invoiceAction/invoiceActionReducer';
147
+ import invoicingInvoiceDetail, { initialState as initialInvoicingInvoiceDetailState, } from './view/invoicing/invoiceDetail/invoiceDetailReducer';
148
+ import invoicingInvoiceList, { initialState as initialInvoicingInvoiceListState, } from './view/invoicing/invoiceList/invoiceListReducer';
149
+ import invoicingInvoicePdf, { initialState as initialInvoicingInvoicePdfState, } from './view/invoicing/invoicePdf/invoicePdfReducer';
150
+ import invoicingPaymentAction, { initialState as initialInvoicingPaymentActionState, } from './view/invoicing/paymentAction/paymentActionReducer';
151
+ import invoicingRecordPayment, { initialState as initialInvoicingRecordPaymentState, } from './view/invoicing/recordPayment/recordPaymentReducer';
152
+ import invoicingReportsView, { initialState as initialInvoicingReportsViewState, } from './view/invoicing/reportsView/reportsViewReducer';
153
+ import invoicingSettingsView, { initialState as initialInvoicingSettingsViewState, } from './view/invoicing/settingsView/settingsViewReducer';
154
+ import invoicingSubscriptionAction, { initialState as initialInvoicingSubscriptionActionState, } from './view/invoicing/subscriptionAction/subscriptionActionReducer';
155
+ import invoicingSubscriptionView, { initialState as initialInvoicingSubscriptionViewState, } from './view/invoicing/subscriptionView/subscriptionViewReducer';
156
+ import invoicingSubscriptionWrite, { initialState as initialInvoicingSubscriptionWriteState, } from './view/invoicing/subscriptionWrite/subscriptionWriteReducer';
157
+ import invoicingTransactionView, { initialState as initialInvoicingTransactionViewState, } from './view/invoicing/transactionView/transactionViewReducer';
120
158
  import monthEndCloseChecksView, { initialState as initialMonthEndCloseChecksViewState, } from './view/monthEndCloseChecksView/monthEndCloseChecksViewReducer';
121
159
  import netBurnOrIncome, { initialState as initialNetBurnOrIncomeWithForecastState, } from './view/netBurnOrIncome/netBurnOrIncomeReducer';
122
160
  import netBurnOrIncomeClassesView, { initialState as initialNetBurnOrIncomeClassesViewState, } from './view/netBurnOrIncomeClassesView/netBurnOrIncomeClassesViewReducer';
@@ -266,6 +304,15 @@ const initialEntitiesState = {
266
304
  forecastState: initialForecastState,
267
305
  globalMerchantState: initialGlobalMerchantState,
268
306
  insightState: initialInsightState,
307
+ invoicingCouponState: initialInvoicingCouponState,
308
+ invoicingCreditNoteState: initialInvoicingCreditNoteState,
309
+ invoicingCustomerState: initialInvoicingCustomerState,
310
+ invoicingDunningCaseState: initialInvoicingDunningCaseState,
311
+ invoicingInvoiceState: initialInvoicingInvoiceState,
312
+ invoicingPlanState: initialInvoicingPlanState,
313
+ invoicingProductState: initialInvoicingProductState,
314
+ invoicingSubscriptionState: initialInvoicingSubscriptionState,
315
+ invoicingTransactionState: initialInvoicingTransactionState,
269
316
  jeSchedulesState: initialJESchedulesState,
270
317
  merchantState: initialMerchantState,
271
318
  monthEndCloseChecksState: initialMonthEndCloseChecksState,
@@ -382,6 +429,35 @@ const initialViewsState = {
382
429
  globalMerchantAutoCompleteState: initialGlobalMerchantAutoCompleteState,
383
430
  globalMerchantViewState: initialGlobalMerchantViewState,
384
431
  insightsCardState: initialInsightCardState,
432
+ invoicingAnalyticsViewState: initialInvoicingAnalyticsViewState,
433
+ invoicingApprovalActionState: initialInvoicingApprovalActionState,
434
+ invoicingApprovalsViewState: initialInvoicingApprovalsViewState,
435
+ invoicingAuditViewState: initialInvoicingAuditViewState,
436
+ invoicingCatalogViewState: initialInvoicingCatalogViewState,
437
+ invoicingCatalogWriteState: initialInvoicingCatalogWriteState,
438
+ invoicingCouponWriteState: initialInvoicingCouponWriteState,
439
+ invoicingCouponViewState: initialInvoicingCouponViewState,
440
+ invoicingCreditNoteViewState: initialInvoicingCreditNoteViewState,
441
+ invoicingCreateInvoiceState: initialInvoicingCreateInvoiceState,
442
+ invoicingRecordPaymentState: initialInvoicingRecordPaymentState,
443
+ invoicingCustomerPaymentMethodState: initialInvoicingCustomerPaymentMethodState,
444
+ invoicingCustomerViewState: initialInvoicingCustomerViewState,
445
+ invoicingCustomerWriteState: initialInvoicingCustomerWriteState,
446
+ invoicingDataImportActionState: initialInvoicingDataImportActionState,
447
+ invoicingDataImportViewState: initialInvoicingDataImportViewState,
448
+ invoicingDunningActionState: initialInvoicingDunningActionState,
449
+ invoicingDunningCaseViewState: initialInvoicingDunningCaseViewState,
450
+ invoicingInvoiceActionState: initialInvoicingInvoiceActionState,
451
+ invoicingInvoiceDetailState: initialInvoicingInvoiceDetailState,
452
+ invoicingInvoiceListState: initialInvoicingInvoiceListState,
453
+ invoicingInvoicePdfState: initialInvoicingInvoicePdfState,
454
+ invoicingPaymentActionState: initialInvoicingPaymentActionState,
455
+ invoicingReportsViewState: initialInvoicingReportsViewState,
456
+ invoicingSettingsViewState: initialInvoicingSettingsViewState,
457
+ invoicingSubscriptionActionState: initialInvoicingSubscriptionActionState,
458
+ invoicingSubscriptionViewState: initialInvoicingSubscriptionViewState,
459
+ invoicingSubscriptionWriteState: initialInvoicingSubscriptionWriteState,
460
+ invoicingTransactionViewState: initialInvoicingTransactionViewState,
385
461
  internationalWireState: initialInternationalWireState,
386
462
  issueChargeCardState: issueChargeCardInitialstate,
387
463
  internationalWireVerificationState: initialInternationalWireVerificationState,
@@ -509,6 +585,15 @@ const entityReducers = {
509
585
  forecastState: forecast,
510
586
  globalMerchantState: globalMerchant,
511
587
  insightState: insights,
588
+ invoicingCouponState: invoicingCoupon,
589
+ invoicingCreditNoteState: invoicingCreditNote,
590
+ invoicingCustomerState: invoicingCustomer,
591
+ invoicingDunningCaseState: invoicingDunningCase,
592
+ invoicingInvoiceState: invoicingInvoice,
593
+ invoicingPlanState: invoicingPlan,
594
+ invoicingProductState: invoicingProduct,
595
+ invoicingSubscriptionState: invoicingSubscription,
596
+ invoicingTransactionState: invoicingTransaction,
512
597
  jeSchedulesState: jeSchedules,
513
598
  merchantState: merchant,
514
599
  monthEndCloseChecksState: monthEndCloseChecks,
@@ -624,6 +709,35 @@ const viewReducers = {
624
709
  globalMerchantAutoCompleteState: globalMerchantAutoComplete,
625
710
  globalMerchantViewState: globalMerchantView,
626
711
  insightsCardState: insightsCard,
712
+ invoicingAnalyticsViewState: invoicingAnalyticsView,
713
+ invoicingApprovalActionState: invoicingApprovalAction,
714
+ invoicingApprovalsViewState: invoicingApprovalsView,
715
+ invoicingAuditViewState: invoicingAuditView,
716
+ invoicingCatalogViewState: invoicingCatalogView,
717
+ invoicingCatalogWriteState: invoicingCatalogWrite,
718
+ invoicingCouponWriteState: invoicingCouponWrite,
719
+ invoicingCouponViewState: invoicingCouponView,
720
+ invoicingCreditNoteViewState: invoicingCreditNoteView,
721
+ invoicingCreateInvoiceState: invoicingCreateInvoice,
722
+ invoicingRecordPaymentState: invoicingRecordPayment,
723
+ invoicingCustomerPaymentMethodState: invoicingCustomerPaymentMethod,
724
+ invoicingCustomerViewState: invoicingCustomerView,
725
+ invoicingCustomerWriteState: invoicingCustomerWrite,
726
+ invoicingDataImportActionState: invoicingDataImportAction,
727
+ invoicingDataImportViewState: invoicingDataImportView,
728
+ invoicingDunningActionState: invoicingDunningAction,
729
+ invoicingDunningCaseViewState: invoicingDunningCaseView,
730
+ invoicingInvoiceActionState: invoicingInvoiceAction,
731
+ invoicingInvoiceDetailState: invoicingInvoiceDetail,
732
+ invoicingInvoiceListState: invoicingInvoiceList,
733
+ invoicingInvoicePdfState: invoicingInvoicePdf,
734
+ invoicingPaymentActionState: invoicingPaymentAction,
735
+ invoicingReportsViewState: invoicingReportsView,
736
+ invoicingSettingsViewState: invoicingSettingsView,
737
+ invoicingSubscriptionActionState: invoicingSubscriptionAction,
738
+ invoicingSubscriptionViewState: invoicingSubscriptionView,
739
+ invoicingSubscriptionWriteState: invoicingSubscriptionWrite,
740
+ invoicingTransactionViewState: invoicingTransactionView,
627
741
  internationalWireState: internationalWire,
628
742
  issueChargeCardState: issueChargeCards,
629
743
  internationalWireVerificationState: internationalWireVerification,
@@ -0,0 +1,42 @@
1
+ import { forkJoin, of } from 'rxjs';
2
+ import { catchError, filter, switchMap } from 'rxjs/operators';
3
+ import { createZeniAPIStatus, isSuccessResponse, } from '../../../responsePayload';
4
+ import { invoicingBaseUrl } from '../invoicingApiHelper';
5
+ import { fetchInvoicingAnalytics, updateInvoicingAnalytics, updateInvoicingAnalyticsFailure, } from './analyticsViewReducer';
6
+ const REVENUE_MONTHS = 12;
7
+ const MRR_MONTHS = 6;
8
+ function listData(response) {
9
+ return isSuccessResponse(response) && response.data != null
10
+ ? response.data
11
+ : [];
12
+ }
13
+ function optionalData(response) {
14
+ return isSuccessResponse(response) && response.data != null
15
+ ? response.data
16
+ : undefined;
17
+ }
18
+ export const fetchInvoicingAnalyticsEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchInvoicingAnalytics.match), switchMap((action) => {
19
+ const base = invoicingBaseUrl(zeniAPI);
20
+ const period = `year=${action.payload.year}&month=${action.payload.month}`;
21
+ return forkJoin([
22
+ zeniAPI.getJSON(`${base}/analytics/kpis?${period}`),
23
+ zeniAPI.getJSON(`${base}/analytics/revenue?months=${REVENUE_MONTHS}&${period}`),
24
+ zeniAPI.getJSON(`${base}/analytics/mrr?months=${MRR_MONTHS}&${period}`),
25
+ zeniAPI.getJSON(`${base}/analytics/churn?months=${MRR_MONTHS}&${period}`),
26
+ zeniAPI.getJSON(`${base}/analytics/plan-revenue?${period}`),
27
+ zeniAPI.getJSON(`${base}/analytics/dashboard-summary?${period}`),
28
+ ]).pipe(switchMap(([kpisRes, revenueRes, mrrRes, churnRes, planRes, summaryRes]) => {
29
+ if (!isSuccessResponse(kpisRes)) {
30
+ return of(updateInvoicingAnalyticsFailure(kpisRes.status));
31
+ }
32
+ return of(updateInvoicingAnalytics({
33
+ kpis: optionalData(kpisRes),
34
+ revenue: listData(revenueRes),
35
+ mrr: listData(mrrRes),
36
+ churn: listData(churnRes),
37
+ planRevenue: listData(planRes),
38
+ summary: optionalData(summaryRes),
39
+ }));
40
+ }), catchError((error) => of(updateInvoicingAnalyticsFailure(createZeniAPIStatus('Unexpected Error', 'Fetch analytics REST API call errored out ' +
41
+ JSON.stringify(error))))));
42
+ }));
@@ -0,0 +1,45 @@
1
+ import { createSlice } from '@reduxjs/toolkit';
2
+ export const initialState = {
3
+ fetchState: 'Not-Started',
4
+ error: undefined,
5
+ churn: [],
6
+ kpis: undefined,
7
+ mrr: [],
8
+ period: undefined,
9
+ planRevenue: [],
10
+ revenue: [],
11
+ summary: undefined,
12
+ hasValidState() {
13
+ return this.fetchState === 'Completed' && this.kpis != null;
14
+ },
15
+ };
16
+ const analyticsView = createSlice({
17
+ name: 'invoicingAnalyticsView',
18
+ initialState,
19
+ reducers: {
20
+ fetchInvoicingAnalytics(draft, action) {
21
+ draft.fetchState = 'In-Progress';
22
+ draft.error = undefined;
23
+ draft.period = action.payload;
24
+ },
25
+ updateInvoicingAnalytics(draft, action) {
26
+ draft.kpis = action.payload.kpis;
27
+ draft.revenue = action.payload.revenue;
28
+ draft.mrr = action.payload.mrr;
29
+ draft.churn = action.payload.churn;
30
+ draft.planRevenue = action.payload.planRevenue;
31
+ draft.summary = action.payload.summary;
32
+ draft.fetchState = 'Completed';
33
+ draft.error = undefined;
34
+ },
35
+ updateInvoicingAnalyticsFailure(draft, action) {
36
+ draft.fetchState = 'Error';
37
+ draft.error = action.payload;
38
+ },
39
+ clearInvoicingAnalytics(draft) {
40
+ Object.assign(draft, initialState);
41
+ },
42
+ },
43
+ });
44
+ export const { fetchInvoicingAnalytics, updateInvoicingAnalytics, updateInvoicingAnalyticsFailure, clearInvoicingAnalytics, } = analyticsView.actions;
45
+ export default analyticsView.reducer;
@@ -0,0 +1,10 @@
1
+ export const getInvoicingAnalyticsKPIs = (state) => state.invoicingAnalyticsViewState.kpis;
2
+ export const getInvoicingAnalyticsRevenue = (state) => state.invoicingAnalyticsViewState.revenue;
3
+ export const getInvoicingAnalyticsMRR = (state) => state.invoicingAnalyticsViewState.mrr;
4
+ export const getInvoicingAnalyticsChurn = (state) => state.invoicingAnalyticsViewState.churn;
5
+ export const getInvoicingAnalyticsPlanRevenue = (state) => state.invoicingAnalyticsViewState.planRevenue;
6
+ export const getInvoicingAnalyticsSummary = (state) => state.invoicingAnalyticsViewState.summary;
7
+ export const getInvoicingAnalyticsFetchState = (state) => ({
8
+ fetchState: state.invoicingAnalyticsViewState.fetchState,
9
+ error: state.invoicingAnalyticsViewState.error,
10
+ });
@@ -0,0 +1,28 @@
1
+ import { of } from 'rxjs';
2
+ import { catchError, filter, mergeMap } from 'rxjs/operators';
3
+ import { createZeniAPIStatus, isSuccessResponse, } from '../../../responsePayload';
4
+ import { invoicingBaseUrl } from '../invoicingApiHelper';
5
+ import { upsertInvoicingApproval } from '../approvalsView/approvalsViewReducer';
6
+ import { runInvoicingApprovalAction, runInvoicingApprovalActionFailure, runInvoicingApprovalActionSuccess, } from './approvalActionReducer';
7
+ export const runInvoicingApprovalActionEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(runInvoicingApprovalAction.match), mergeMap((action) => {
8
+ const { action: kind, approvalId } = action.payload;
9
+ const apiUrl = `${invoicingBaseUrl(zeniAPI)}/approvals/${encodeURIComponent(approvalId)}/${kind}`;
10
+ return zeniAPI
11
+ .postAndGetJSON(apiUrl, {})
12
+ .pipe(mergeMap((response) => {
13
+ if (isSuccessResponse(response) && response.data != null) {
14
+ return [
15
+ upsertInvoicingApproval(response.data),
16
+ runInvoicingApprovalActionSuccess({ approvalId }),
17
+ ];
18
+ }
19
+ return of(runInvoicingApprovalActionFailure({
20
+ error: response.status,
21
+ approvalId,
22
+ }));
23
+ }), catchError((error) => of(runInvoicingApprovalActionFailure({
24
+ error: createZeniAPIStatus('Unexpected Error', 'Approval action REST API call errored out ' +
25
+ JSON.stringify(error)),
26
+ approvalId,
27
+ }))));
28
+ }));
@@ -0,0 +1,36 @@
1
+ import { createSlice } from '@reduxjs/toolkit';
2
+ export const initialState = {
3
+ byApprovalId: {},
4
+ };
5
+ const approvalAction = createSlice({
6
+ name: 'invoicingApprovalAction',
7
+ initialState,
8
+ reducers: {
9
+ runInvoicingApprovalAction(draft, action) {
10
+ draft.byApprovalId[action.payload.approvalId] = {
11
+ fetchState: 'In-Progress',
12
+ error: undefined,
13
+ };
14
+ },
15
+ runInvoicingApprovalActionSuccess(draft, action) {
16
+ draft.byApprovalId[action.payload.approvalId] = {
17
+ fetchState: 'Completed',
18
+ error: undefined,
19
+ };
20
+ },
21
+ runInvoicingApprovalActionFailure(draft, action) {
22
+ draft.byApprovalId[action.payload.approvalId] = {
23
+ fetchState: 'Error',
24
+ error: action.payload.error,
25
+ };
26
+ },
27
+ clearInvoicingApprovalAction(draft, action) {
28
+ delete draft.byApprovalId[action.payload];
29
+ },
30
+ clearAllInvoicingApprovalActions(draft) {
31
+ draft.byApprovalId = {};
32
+ },
33
+ },
34
+ });
35
+ export const { runInvoicingApprovalAction, runInvoicingApprovalActionSuccess, runInvoicingApprovalActionFailure, clearInvoicingApprovalAction, clearAllInvoicingApprovalActions, } = approvalAction.actions;
36
+ export default approvalAction.reducer;
@@ -0,0 +1,5 @@
1
+ const NOT_STARTED = {
2
+ fetchState: 'Not-Started',
3
+ error: undefined,
4
+ };
5
+ export const getInvoicingApprovalActionState = (approvalId) => (state) => state.invoicingApprovalActionState.byApprovalId[approvalId] ?? NOT_STARTED;
@@ -0,0 +1,37 @@
1
+ import { of } from 'rxjs';
2
+ import { catchError, filter, switchMap } from 'rxjs/operators';
3
+ import { createZeniAPIStatus, isSuccessResponse, } from '../../../responsePayload';
4
+ import { INVOICING_LIST_PAGE_SIZE, applyListSortParams, invoicingBaseUrl, withQuery, } from '../invoicingApiHelper';
5
+ import { fetchInvoicingApprovals, updateInvoicingApprovals, updateInvoicingApprovalsFailure, } from './approvalsViewReducer';
6
+ const buildQuery = (filters, cursor, sort) => {
7
+ const params = new URLSearchParams();
8
+ if (filters.search != null && filters.search.length > 0) {
9
+ params.set('search', filters.search);
10
+ }
11
+ if (filters.status != null && filters.status.length > 0) {
12
+ params.set('status', filters.status);
13
+ }
14
+ params.set('limit', String(INVOICING_LIST_PAGE_SIZE));
15
+ if (cursor != null) {
16
+ params.set('cursor', cursor);
17
+ }
18
+ applyListSortParams(params, sort);
19
+ return params;
20
+ };
21
+ export const fetchInvoicingApprovalsEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchInvoicingApprovals.match), switchMap((action) => {
22
+ const { filters, cursor, keepExistingListItems, sort } = action.payload;
23
+ const apiUrl = withQuery(`${invoicingBaseUrl(zeniAPI)}/approvals`, buildQuery(filters, cursor, sort));
24
+ return zeniAPI
25
+ .getJSON(apiUrl)
26
+ .pipe(switchMap((response) => {
27
+ if (isSuccessResponse(response)) {
28
+ return of(updateInvoicingApprovals({
29
+ items: response.data?.items ?? [],
30
+ nextCursor: response.data?.next_cursor ?? null,
31
+ keepExistingListItems,
32
+ }));
33
+ }
34
+ return of(updateInvoicingApprovalsFailure(response.status));
35
+ }), catchError((error) => of(updateInvoicingApprovalsFailure(createZeniAPIStatus('Unexpected Error', 'Fetch approvals REST API call errored out ' +
36
+ JSON.stringify(error))))));
37
+ }));
@@ -0,0 +1,62 @@
1
+ import { createSlice } from '@reduxjs/toolkit';
2
+ export const initialState = {
3
+ fetchState: 'Not-Started',
4
+ error: undefined,
5
+ items: [],
6
+ nextCursor: null,
7
+ filters: {},
8
+ hasValidState() {
9
+ return this.fetchState === 'Completed';
10
+ },
11
+ };
12
+ const approvalsView = createSlice({
13
+ name: 'invoicingApprovalsView',
14
+ initialState,
15
+ reducers: {
16
+ fetchInvoicingApprovals: {
17
+ reducer(draft, action) {
18
+ if (!action.payload.keepExistingListItems) {
19
+ draft.items = [];
20
+ draft.nextCursor = null;
21
+ }
22
+ draft.filters = action.payload.filters;
23
+ draft.sort = action.payload.sort;
24
+ draft.fetchState = 'In-Progress';
25
+ draft.error = undefined;
26
+ },
27
+ prepare(payload) {
28
+ return {
29
+ payload: {
30
+ filters: payload.filters ?? {},
31
+ cursor: payload.cursor,
32
+ keepExistingListItems: payload.keepExistingListItems ?? false,
33
+ sort: payload.sort,
34
+ },
35
+ };
36
+ },
37
+ },
38
+ updateInvoicingApprovals(draft, action) {
39
+ draft.items = action.payload.keepExistingListItems
40
+ ? [...draft.items, ...action.payload.items]
41
+ : action.payload.items;
42
+ draft.nextCursor = action.payload.nextCursor;
43
+ draft.fetchState = 'Completed';
44
+ draft.error = undefined;
45
+ },
46
+ updateInvoicingApprovalsFailure(draft, action) {
47
+ draft.fetchState = 'Error';
48
+ draft.error = action.payload;
49
+ },
50
+ upsertInvoicingApproval(draft, action) {
51
+ const index = draft.items.findIndex((item) => item.id === action.payload.id);
52
+ if (index >= 0) {
53
+ draft.items[index] = action.payload;
54
+ }
55
+ },
56
+ clearInvoicingApprovalsView(draft) {
57
+ Object.assign(draft, initialState);
58
+ },
59
+ },
60
+ });
61
+ export const { fetchInvoicingApprovals, updateInvoicingApprovals, updateInvoicingApprovalsFailure, upsertInvoicingApproval, clearInvoicingApprovalsView, } = approvalsView.actions;
62
+ export default approvalsView.reducer;
@@ -0,0 +1,8 @@
1
+ export const getInvoicingApprovals = (state) => state.invoicingApprovalsViewState.items;
2
+ export const getInvoicingApprovalsFetchState = (state) => ({
3
+ fetchState: state.invoicingApprovalsViewState.fetchState,
4
+ error: state.invoicingApprovalsViewState.error,
5
+ });
6
+ export const getInvoicingApprovalsNextCursor = (state) => state.invoicingApprovalsViewState.nextCursor;
7
+ export const getInvoicingApprovalsHasMore = (state) => state.invoicingApprovalsViewState.nextCursor != null;
8
+ export const getInvoicingApprovalsFilters = (state) => state.invoicingApprovalsViewState.filters;
@@ -0,0 +1,46 @@
1
+ import { of } from 'rxjs';
2
+ import { catchError, filter, switchMap } from 'rxjs/operators';
3
+ import { createZeniAPIStatus, isSuccessResponse, } from '../../../responsePayload';
4
+ import { INVOICING_LIST_PAGE_SIZE, applyListSortParams, invoicingBaseUrl, withQuery, } from '../invoicingApiHelper';
5
+ import { fetchInvoicingAuditLog, updateInvoicingAuditLog, updateInvoicingAuditLogFailure, } from './auditViewReducer';
6
+ const buildQuery = (filters, cursor, sort) => {
7
+ const params = new URLSearchParams();
8
+ if (filters.search != null && filters.search.length > 0) {
9
+ params.set('search', filters.search);
10
+ }
11
+ if (filters.actor != null && filters.actor.length > 0) {
12
+ params.set('actor', filters.actor);
13
+ }
14
+ if (filters.action != null && filters.action.length > 0) {
15
+ params.set('action', filters.action);
16
+ }
17
+ if (filters.dateFrom != null && filters.dateFrom.length > 0) {
18
+ params.set('date_from', filters.dateFrom);
19
+ }
20
+ if (filters.dateTo != null && filters.dateTo.length > 0) {
21
+ params.set('date_to', filters.dateTo);
22
+ }
23
+ params.set('limit', String(INVOICING_LIST_PAGE_SIZE));
24
+ if (cursor != null) {
25
+ params.set('cursor', cursor);
26
+ }
27
+ applyListSortParams(params, sort);
28
+ return params;
29
+ };
30
+ export const fetchInvoicingAuditLogEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchInvoicingAuditLog.match), switchMap((action) => {
31
+ const { filters, cursor, keepExistingListItems, sort } = action.payload;
32
+ const apiUrl = withQuery(`${invoicingBaseUrl(zeniAPI)}/audit-log`, buildQuery(filters, cursor, sort));
33
+ return zeniAPI
34
+ .getJSON(apiUrl)
35
+ .pipe(switchMap((response) => {
36
+ if (isSuccessResponse(response)) {
37
+ return of(updateInvoicingAuditLog({
38
+ items: response.data?.items ?? [],
39
+ nextCursor: response.data?.next_cursor ?? null,
40
+ keepExistingListItems,
41
+ }));
42
+ }
43
+ return of(updateInvoicingAuditLogFailure(response.status));
44
+ }), catchError((error) => of(updateInvoicingAuditLogFailure(createZeniAPIStatus('Unexpected Error', 'Fetch audit log REST API call errored out ' +
45
+ JSON.stringify(error))))));
46
+ }));
@@ -0,0 +1,56 @@
1
+ import { createSlice } from '@reduxjs/toolkit';
2
+ export const initialState = {
3
+ fetchState: 'Not-Started',
4
+ error: undefined,
5
+ items: [],
6
+ nextCursor: null,
7
+ filters: {},
8
+ hasValidState() {
9
+ return this.fetchState === 'Completed';
10
+ },
11
+ };
12
+ const auditView = createSlice({
13
+ name: 'invoicingAuditView',
14
+ initialState,
15
+ reducers: {
16
+ fetchInvoicingAuditLog: {
17
+ reducer(draft, action) {
18
+ if (!action.payload.keepExistingListItems) {
19
+ draft.items = [];
20
+ draft.nextCursor = null;
21
+ }
22
+ draft.filters = action.payload.filters;
23
+ draft.sort = action.payload.sort;
24
+ draft.fetchState = 'In-Progress';
25
+ draft.error = undefined;
26
+ },
27
+ prepare(payload) {
28
+ return {
29
+ payload: {
30
+ filters: payload.filters ?? {},
31
+ cursor: payload.cursor,
32
+ keepExistingListItems: payload.keepExistingListItems ?? false,
33
+ sort: payload.sort,
34
+ },
35
+ };
36
+ },
37
+ },
38
+ updateInvoicingAuditLog(draft, action) {
39
+ draft.items = action.payload.keepExistingListItems
40
+ ? [...draft.items, ...action.payload.items]
41
+ : action.payload.items;
42
+ draft.nextCursor = action.payload.nextCursor;
43
+ draft.fetchState = 'Completed';
44
+ draft.error = undefined;
45
+ },
46
+ updateInvoicingAuditLogFailure(draft, action) {
47
+ draft.fetchState = 'Error';
48
+ draft.error = action.payload;
49
+ },
50
+ clearInvoicingAuditView(draft) {
51
+ Object.assign(draft, initialState);
52
+ },
53
+ },
54
+ });
55
+ export const { fetchInvoicingAuditLog, updateInvoicingAuditLog, updateInvoicingAuditLogFailure, clearInvoicingAuditView, } = auditView.actions;
56
+ export default auditView.reducer;
@@ -0,0 +1,8 @@
1
+ export const getInvoicingAuditLogItems = (state) => state.invoicingAuditViewState.items;
2
+ export const getInvoicingAuditLogFetchState = (state) => ({
3
+ fetchState: state.invoicingAuditViewState.fetchState,
4
+ error: state.invoicingAuditViewState.error,
5
+ });
6
+ export const getInvoicingAuditLogNextCursor = (state) => state.invoicingAuditViewState.nextCursor;
7
+ export const getInvoicingAuditLogHasMore = (state) => state.invoicingAuditViewState.nextCursor != null;
8
+ export const getInvoicingAuditLogFilters = (state) => state.invoicingAuditViewState.filters;