@dynamatix/gb-schemas 2.0.67 → 2.3.4

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 (754) hide show
  1. package/README.md +309 -0
  2. package/dist/applicants/applicant-additional-income.model.d.ts +192 -8
  3. package/dist/applicants/applicant-additional-income.model.d.ts.map +1 -1
  4. package/dist/applicants/applicant-additional-income.model.js +24 -3
  5. package/dist/applicants/applicant-additional-income.type.d.ts +40 -0
  6. package/dist/applicants/applicant-additional-income.type.d.ts.map +1 -0
  7. package/dist/applicants/applicant-commitment-creditCard.model.d.ts +90 -47
  8. package/dist/applicants/applicant-commitment-creditCard.model.d.ts.map +1 -1
  9. package/dist/applicants/applicant-commitment-creditCard.model.js +12 -6
  10. package/dist/applicants/applicant-commitment-loan.model.d.ts +81 -41
  11. package/dist/applicants/applicant-commitment-loan.model.d.ts.map +1 -1
  12. package/dist/applicants/applicant-commitment-loan.model.js +13 -8
  13. package/dist/applicants/applicant-commitment-mortgage.model.d.ts +78 -38
  14. package/dist/applicants/applicant-commitment-mortgage.model.d.ts.map +1 -1
  15. package/dist/applicants/applicant-commitment-mortgage.model.js +19 -19
  16. package/dist/applicants/applicant-commitment-residence.model.d.ts +768 -0
  17. package/dist/applicants/applicant-commitment-residence.model.d.ts.map +1 -0
  18. package/dist/applicants/applicant-commitment-residence.model.js +57 -0
  19. package/dist/applicants/applicant-commitment-secureLoan.model.d.ts +81 -47
  20. package/dist/applicants/applicant-commitment-secureLoan.model.d.ts.map +1 -1
  21. package/dist/applicants/applicant-commitment-secureLoan.model.js +14 -8
  22. package/dist/applicants/applicant-commitment-unsecuredLoan.model.d.ts +81 -47
  23. package/dist/applicants/applicant-commitment-unsecuredLoan.model.d.ts.map +1 -1
  24. package/dist/applicants/applicant-commitment-unsecuredLoan.model.js +14 -8
  25. package/dist/applicants/applicant-credit-data.model.d.ts +32 -4
  26. package/dist/applicants/applicant-credit-data.model.d.ts.map +1 -1
  27. package/dist/applicants/applicant-credit-profile.model.d.ts +29 -1
  28. package/dist/applicants/applicant-credit-profile.model.d.ts.map +1 -1
  29. package/dist/applicants/applicant-credit-report.model.d.ts +3784 -0
  30. package/dist/applicants/applicant-credit-report.model.d.ts.map +1 -0
  31. package/dist/applicants/applicant-credit-report.model.js +122 -0
  32. package/dist/applicants/applicant-credit-report.type.d.ts +145 -0
  33. package/dist/applicants/applicant-credit-report.type.d.ts.map +1 -0
  34. package/dist/applicants/applicant-credit-report.type.js +1 -0
  35. package/dist/applicants/applicant-direct-debit.model.d.ts +29 -4
  36. package/dist/applicants/applicant-direct-debit.model.d.ts.map +1 -1
  37. package/dist/applicants/applicant-direct-debit.model.js +0 -1
  38. package/dist/applicants/applicant-employment-income.model.d.ts +39 -8
  39. package/dist/applicants/applicant-employment-income.model.d.ts.map +1 -1
  40. package/dist/applicants/applicant-employment-income.model.js +13 -2
  41. package/dist/applicants/applicant-employment-income.type.d.ts +37 -0
  42. package/dist/applicants/applicant-employment-income.type.d.ts.map +1 -0
  43. package/dist/applicants/applicant-employment-income.type.js +1 -0
  44. package/dist/applicants/applicant-employment.model.d.ts +167 -703
  45. package/dist/applicants/applicant-employment.model.d.ts.map +1 -1
  46. package/dist/applicants/applicant-employment.model.js +25 -27
  47. package/dist/applicants/applicant-expenditure.model.d.ts +42 -8
  48. package/dist/applicants/applicant-expenditure.model.d.ts.map +1 -1
  49. package/dist/applicants/applicant-expenditure.model.js +86 -2
  50. package/dist/applicants/applicant-expenditure.type.d.ts +42 -0
  51. package/dist/applicants/applicant-expenditure.type.d.ts.map +1 -0
  52. package/dist/applicants/applicant-expenditure.type.js +1 -0
  53. package/dist/applicants/applicant-income-settings.model.d.ts +30 -2
  54. package/dist/applicants/applicant-income-settings.model.d.ts.map +1 -1
  55. package/dist/applicants/applicant-income-settings.model.js +11 -0
  56. package/dist/applicants/applicant-income-settings.type.d.ts +40 -0
  57. package/dist/applicants/applicant-income-settings.type.d.ts.map +1 -0
  58. package/dist/applicants/applicant-income-settings.type.js +1 -0
  59. package/dist/applicants/applicant-income-source.model.d.ts +26 -0
  60. package/dist/applicants/applicant-income-source.model.d.ts.map +1 -0
  61. package/dist/applicants/applicant-income-summary.model.d.ts +2202 -0
  62. package/dist/applicants/applicant-income-summary.model.d.ts.map +1 -0
  63. package/dist/applicants/applicant-income-summary.model.js +45 -0
  64. package/dist/applicants/applicant-income-summary.type.d.ts +60 -0
  65. package/dist/applicants/applicant-income-summary.type.d.ts.map +1 -0
  66. package/dist/applicants/applicant-income-summary.type.js +1 -0
  67. package/dist/applicants/applicant-income.model.d.ts +30 -2068
  68. package/dist/applicants/applicant-income.model.d.ts.map +1 -1
  69. package/dist/applicants/applicant-other-income.model.d.ts +85 -0
  70. package/dist/applicants/applicant-other-income.model.d.ts.map +1 -0
  71. package/dist/applicants/applicant-pension-income.model.d.ts +51 -302
  72. package/dist/applicants/applicant-pension-income.model.d.ts.map +1 -1
  73. package/dist/applicants/applicant-pension-income.model.js +14 -6
  74. package/dist/applicants/applicant-pension-income.type.d.ts +40 -0
  75. package/dist/applicants/applicant-pension-income.type.d.ts.map +1 -0
  76. package/dist/applicants/applicant-pension-income.type.js +1 -0
  77. package/dist/applicants/applicant-property-income.model.d.ts +102 -56
  78. package/dist/applicants/applicant-property-income.model.d.ts.map +1 -1
  79. package/dist/applicants/applicant-property-income.model.js +18 -7
  80. package/dist/applicants/applicant-risk-narrative.model.d.ts +32 -4
  81. package/dist/applicants/applicant-risk-narrative.model.d.ts.map +1 -1
  82. package/dist/applicants/applicant-self-employed-income.model.d.ts +39 -8
  83. package/dist/applicants/applicant-self-employed-income.model.d.ts.map +1 -1
  84. package/dist/applicants/applicant-self-employed-income.model.js +13 -2
  85. package/dist/applicants/applicant-self-employed-income.type.d.ts +37 -0
  86. package/dist/applicants/applicant-self-employed-income.type.d.ts.map +1 -0
  87. package/dist/applicants/applicant-self-employed-income.type.js +1 -0
  88. package/dist/applicants/applicant-self-employment.model.d.ts +269 -0
  89. package/dist/applicants/applicant-self-employment.model.d.ts.map +1 -0
  90. package/dist/applicants/applicant-self-employment.model.js +55 -0
  91. package/dist/applicants/applicant-sole-trader-income.model.d.ts +39 -8
  92. package/dist/applicants/applicant-sole-trader-income.model.d.ts.map +1 -1
  93. package/dist/applicants/applicant-sole-trader-income.model.js +11 -2
  94. package/dist/applicants/applicant-sole-trader-income.type.d.ts +37 -0
  95. package/dist/applicants/applicant-sole-trader-income.type.d.ts.map +1 -0
  96. package/dist/applicants/applicant-sole-trader-income.type.js +1 -0
  97. package/dist/applicants/applicant-uk-tax-credits.model.d.ts +66 -317
  98. package/dist/applicants/applicant-uk-tax-credits.model.d.ts.map +1 -1
  99. package/dist/applicants/applicant-uk-tax-credits.model.js +15 -7
  100. package/dist/applicants/applicant-uk-tax-credits.type.d.ts +39 -0
  101. package/dist/applicants/applicant-uk-tax-credits.type.d.ts.map +1 -0
  102. package/dist/applicants/applicant-uk-tax-credits.type.js +1 -0
  103. package/dist/applicants/applicant-welcome-call.model.d.ts +384 -0
  104. package/dist/applicants/applicant-welcome-call.model.d.ts.map +1 -0
  105. package/dist/applicants/applicant-welcome-call.model.js +709 -0
  106. package/dist/applicants/applicant-welcome-call.type.d.ts +66 -0
  107. package/dist/applicants/applicant-welcome-call.type.d.ts.map +1 -0
  108. package/dist/applicants/applicant-welcome-call.type.js +1 -0
  109. package/dist/applicants/applicant.model.d.ts +1522 -89
  110. package/dist/applicants/applicant.model.d.ts.map +1 -1
  111. package/dist/applicants/applicant.model.js +40 -9
  112. package/dist/applicants/applicant.type.d.ts +158 -0
  113. package/dist/applicants/applicant.type.d.ts.map +1 -0
  114. package/dist/applicants/applicant.type.js +1 -0
  115. package/dist/applicants/index.d.ts +24 -8
  116. package/dist/applicants/index.d.ts.map +1 -1
  117. package/dist/applicants/index.js +12 -8
  118. package/dist/applications/application-audit.model.d.ts +36 -8
  119. package/dist/applications/application-audit.model.d.ts.map +1 -1
  120. package/dist/applications/application-audit.model.js +3 -0
  121. package/dist/applications/application-checklist-Item.model.d.ts +36 -2
  122. package/dist/applications/application-checklist-Item.model.d.ts.map +1 -1
  123. package/dist/applications/application-checklist-Item.model.js +4 -0
  124. package/dist/applications/application-company-model.d.ts +123 -59
  125. package/dist/applications/application-company-model.d.ts.map +1 -1
  126. package/dist/applications/application-company-model.js +24 -10
  127. package/dist/applications/application-credit-profile.model.d.ts +29 -1
  128. package/dist/applications/application-credit-profile.model.d.ts.map +1 -1
  129. package/dist/applications/application-direct-debit.model.d.ts +178 -32
  130. package/dist/applications/application-direct-debit.model.d.ts.map +1 -1
  131. package/dist/applications/application-direct-debit.model.js +64 -1
  132. package/dist/applications/application-direct-debit.type.d.ts +63 -0
  133. package/dist/applications/application-direct-debit.type.d.ts.map +1 -0
  134. package/dist/applications/application-direct-debit.type.js +1 -0
  135. package/dist/applications/application-euc.model.d.ts +154 -0
  136. package/dist/applications/application-euc.model.d.ts.map +1 -0
  137. package/dist/applications/application-euc.model.js +28 -0
  138. package/dist/applications/application-fieldconfig.model.d.ts +30 -2
  139. package/dist/applications/application-fieldconfig.model.d.ts.map +1 -1
  140. package/dist/applications/application-fieldconfig.model.js +3 -0
  141. package/dist/applications/application-illustration-model.d.ts +30 -2
  142. package/dist/applications/application-illustration-model.d.ts.map +1 -1
  143. package/dist/applications/application-legal.model.d.ts +30 -2
  144. package/dist/applications/application-legal.model.d.ts.map +1 -1
  145. package/dist/applications/application-legal.model.js +3 -0
  146. package/dist/applications/application-mortgage.model.d.ts +201 -1097
  147. package/dist/applications/application-mortgage.model.d.ts.map +1 -1
  148. package/dist/applications/application-mortgage.model.js +24 -21
  149. package/dist/applications/application-mortgage.type.d.ts +76 -0
  150. package/dist/applications/application-mortgage.type.d.ts.map +1 -0
  151. package/dist/applications/application-mortgage.type.js +1 -0
  152. package/dist/applications/application-note.model.d.ts +66 -26
  153. package/dist/applications/application-note.model.d.ts.map +1 -1
  154. package/dist/applications/application-note.model.js +30 -3
  155. package/dist/applications/application-note.type.d.ts +55 -0
  156. package/dist/applications/application-note.type.d.ts.map +1 -0
  157. package/dist/applications/application-note.type.js +1 -0
  158. package/dist/applications/application-offer.model.d.ts +158 -10
  159. package/dist/applications/application-offer.model.d.ts.map +1 -1
  160. package/dist/applications/application-offer.model.js +49 -3
  161. package/dist/applications/application-offer.type.d.ts +54 -0
  162. package/dist/applications/application-offer.type.d.ts.map +1 -0
  163. package/dist/applications/application-offer.type.js +1 -0
  164. package/dist/applications/application-onboarding.model.d.ts +30 -2
  165. package/dist/applications/application-onboarding.model.d.ts.map +1 -1
  166. package/dist/applications/application-onboarding.model.js +3 -0
  167. package/dist/applications/application-product.model.d.ts +185 -15
  168. package/dist/applications/application-product.model.d.ts.map +1 -1
  169. package/dist/applications/application-product.model.js +34 -11
  170. package/dist/applications/application-product.type.d.ts +58 -0
  171. package/dist/applications/application-product.type.d.ts.map +1 -0
  172. package/dist/applications/application-product.type.js +1 -0
  173. package/dist/applications/application-productfeatures.model.d.ts +42 -8
  174. package/dist/applications/application-productfeatures.model.d.ts.map +1 -1
  175. package/dist/applications/application-productfeatures.model.js +5 -1
  176. package/dist/applications/application-productfeatures.type.d.ts +125 -0
  177. package/dist/applications/application-productfeatures.type.d.ts.map +1 -0
  178. package/dist/applications/application-productfeatures.type.js +1 -0
  179. package/dist/applications/application-rationale.model.d.ts +105 -195
  180. package/dist/applications/application-rationale.model.d.ts.map +1 -1
  181. package/dist/applications/application-rationale.model.js +17 -32
  182. package/dist/applications/application-rationale.type.d.ts +44 -0
  183. package/dist/applications/application-rationale.type.d.ts.map +1 -0
  184. package/dist/applications/application-rationale.type.js +1 -0
  185. package/dist/applications/application-risk-narrative.model.d.ts +72 -32
  186. package/dist/applications/application-risk-narrative.model.d.ts.map +1 -1
  187. package/dist/applications/application-risk-narrative.model.js +10 -5
  188. package/dist/applications/application-valuation-report.model.d.ts +1438 -0
  189. package/dist/applications/application-valuation-report.model.d.ts.map +1 -0
  190. package/dist/applications/application-valuation-report.model.js +799 -0
  191. package/dist/applications/application-valuation-report.type.d.ts +256 -0
  192. package/dist/applications/application-valuation-report.type.d.ts.map +1 -0
  193. package/dist/applications/application-valuation-report.type.js +1 -0
  194. package/dist/applications/application-valuation.model.d.ts +730 -19
  195. package/dist/applications/application-valuation.model.d.ts.map +1 -1
  196. package/dist/applications/application-valuation.model.js +34 -7
  197. package/dist/applications/application-valuation.type.d.ts +54 -0
  198. package/dist/applications/application-valuation.type.d.ts.map +1 -0
  199. package/dist/applications/application-valuation.type.js +1 -0
  200. package/dist/applications/application.model.d.ts +318 -116
  201. package/dist/applications/application.model.d.ts.map +1 -1
  202. package/dist/applications/application.model.js +120 -27
  203. package/dist/applications/applications-task.model.d.ts +300 -0
  204. package/dist/applications/applications-task.model.d.ts.map +1 -0
  205. package/dist/applications/applications-task.model.js +50 -0
  206. package/dist/applications/applications-task.type.d.ts +57 -0
  207. package/dist/applications/applications-task.type.d.ts.map +1 -0
  208. package/dist/applications/applications-task.type.js +1 -0
  209. package/dist/applications/broker.model.d.ts +54 -26
  210. package/dist/applications/broker.model.d.ts.map +1 -1
  211. package/dist/applications/broker.model.js +5 -2
  212. package/dist/applications/broker.type.d.ts +51 -0
  213. package/dist/applications/broker.type.d.ts.map +1 -0
  214. package/dist/applications/broker.type.js +1 -0
  215. package/dist/applications/index.d.ts +16 -2
  216. package/dist/applications/index.d.ts.map +1 -1
  217. package/dist/applications/index.js +5 -2
  218. package/dist/applications/productfeatures.model.d.ts +368 -0
  219. package/dist/applications/productfeatures.model.d.ts.map +1 -0
  220. package/dist/applications/solicitor.model.d.ts +43 -14
  221. package/dist/applications/solicitor.model.d.ts.map +1 -1
  222. package/dist/applications/solicitor.model.js +8 -1
  223. package/dist/applications/solicitor.type.d.ts +56 -0
  224. package/dist/applications/solicitor.type.d.ts.map +1 -0
  225. package/dist/applications/solicitor.type.js +1 -0
  226. package/dist/index.d.ts +1 -1
  227. package/dist/index.d.ts.map +1 -1
  228. package/dist/index.js +2 -2
  229. package/dist/product-catalogues/index.d.ts +3 -0
  230. package/dist/product-catalogues/index.d.ts.map +1 -1
  231. package/dist/product-catalogues/product-catalogue.model.d.ts +30 -2
  232. package/dist/product-catalogues/product-catalogue.model.d.ts.map +1 -1
  233. package/dist/product-catalogues/product-catalogue.model.js +4 -0
  234. package/dist/product-catalogues/product-catalogue.type.d.ts +15 -0
  235. package/dist/product-catalogues/product-catalogue.type.d.ts.map +1 -0
  236. package/dist/product-catalogues/product-catalogue.type.js +1 -0
  237. package/dist/product-catalogues/product-definitions.model.d.ts +30 -2
  238. package/dist/product-catalogues/product-definitions.model.d.ts.map +1 -1
  239. package/dist/product-catalogues/product-definitions.model.js +3 -0
  240. package/dist/product-catalogues/product-definitions.type.d.ts +53 -0
  241. package/dist/product-catalogues/product-definitions.type.d.ts.map +1 -0
  242. package/dist/product-catalogues/product-definitions.type.js +1 -0
  243. package/dist/product-catalogues/product-variant.model.d.ts +30 -2
  244. package/dist/product-catalogues/product-variant.model.d.ts.map +1 -1
  245. package/dist/product-catalogues/product-variant.model.js +4 -0
  246. package/dist/product-catalogues/product-variant.type.d.ts +38 -0
  247. package/dist/product-catalogues/product-variant.type.d.ts.map +1 -0
  248. package/dist/product-catalogues/product-variant.type.js +1 -0
  249. package/dist/properties/property.model.d.ts +102 -59
  250. package/dist/properties/property.model.d.ts.map +1 -1
  251. package/dist/properties/property.model.js +16 -8
  252. package/dist/properties/security.model.d.ts +48 -2
  253. package/dist/properties/security.model.d.ts.map +1 -1
  254. package/dist/properties/security.model.js +15 -3
  255. package/dist/shared/alert.model.d.ts +42 -14
  256. package/dist/shared/alert.model.d.ts.map +1 -1
  257. package/dist/shared/api-log.model.d.ts +124 -0
  258. package/dist/shared/api-log.model.d.ts.map +1 -0
  259. package/dist/shared/api-log.model.js +25 -0
  260. package/dist/shared/api-performance.model.d.ts +37 -0
  261. package/dist/shared/api-performance.model.d.ts.map +1 -0
  262. package/dist/shared/api-performance.model.js +22 -0
  263. package/dist/shared/api-performance.type.d.ts +178 -0
  264. package/dist/shared/api-performance.type.d.ts.map +1 -0
  265. package/dist/shared/api-performance.type.js +1 -0
  266. package/dist/shared/apprivo-sync-journey.model.d.ts +36 -8
  267. package/dist/shared/apprivo-sync-journey.model.d.ts.map +1 -1
  268. package/dist/shared/apprivo-sync-journey.model.js +2 -0
  269. package/dist/shared/checklist.model.d.ts +36 -8
  270. package/dist/shared/checklist.model.d.ts.map +1 -1
  271. package/dist/shared/checklist.model.js +5 -0
  272. package/dist/shared/index.d.ts +7 -1
  273. package/dist/shared/index.d.ts.map +1 -1
  274. package/dist/shared/index.js +5 -1
  275. package/dist/shared/job-run.model.d.ts +30 -2
  276. package/dist/shared/job-run.model.d.ts.map +1 -1
  277. package/dist/shared/job-setting.model.d.ts +36 -8
  278. package/dist/shared/job-setting.model.d.ts.map +1 -1
  279. package/dist/shared/lookup-group.model.d.ts +30 -2
  280. package/dist/shared/lookup-group.model.d.ts.map +1 -1
  281. package/dist/shared/lookup-group.model.js +6 -0
  282. package/dist/shared/lookup.model.d.ts +30 -2
  283. package/dist/shared/lookup.model.d.ts.map +1 -1
  284. package/dist/shared/lookup.model.js +7 -0
  285. package/dist/shared/schema-doc.model.d.ts +36 -8
  286. package/dist/shared/schema-doc.model.d.ts.map +1 -1
  287. package/dist/shared/system-parameter.model.d.ts +36 -8
  288. package/dist/shared/system-parameter.model.d.ts.map +1 -1
  289. package/dist/shared/task-document.model.d.ts +36 -8
  290. package/dist/shared/task-document.model.d.ts.map +1 -1
  291. package/dist/shared/task.model.d.ts +36 -8
  292. package/dist/shared/task.model.d.ts.map +1 -1
  293. package/dist/shared/webhook-event.model.d.ts +37 -0
  294. package/dist/shared/webhook-event.model.d.ts.map +1 -0
  295. package/dist/shared/webhook-event.model.js +57 -0
  296. package/dist/shared/webhook-event.type.d.ts +15 -0
  297. package/dist/shared/webhook-event.type.d.ts.map +1 -0
  298. package/dist/shared/webhook-event.type.js +1 -0
  299. package/dist/shared/workflow-trigger.model.d.ts +32 -0
  300. package/dist/shared/workflow-trigger.model.d.ts.map +1 -0
  301. package/dist/shared/workflow-trigger.model.js +49 -0
  302. package/dist/shared/workflow-trigger.type.d.ts +60 -0
  303. package/dist/shared/workflow-trigger.type.d.ts.map +1 -0
  304. package/dist/shared/workflow-trigger.type.js +1 -0
  305. package/dist/shared/workflow.init.d.ts +21 -0
  306. package/dist/shared/workflow.init.d.ts.map +1 -0
  307. package/dist/shared/workflow.init.js +42 -0
  308. package/dist/shared/workflow.logger.d.ts +18 -0
  309. package/dist/shared/workflow.logger.d.ts.map +1 -0
  310. package/dist/shared/workflow.logger.js +41 -0
  311. package/dist/shared/workflow.middleware.d.ts +108 -0
  312. package/dist/shared/workflow.middleware.d.ts.map +1 -0
  313. package/dist/shared/workflow.middleware.js +246 -0
  314. package/dist/shared/workflow.plugin.d.ts +46 -0
  315. package/dist/shared/workflow.plugin.d.ts.map +1 -0
  316. package/dist/shared/workflow.plugin.js +151 -0
  317. package/dist/shared/workflow.service.d.ts +42 -0
  318. package/dist/shared/workflow.service.d.ts.map +1 -0
  319. package/dist/shared/workflow.service.js +134 -0
  320. package/dist/types/base.types.d.ts +35 -0
  321. package/dist/types/base.types.d.ts.map +1 -0
  322. package/dist/types/base.types.js +1 -0
  323. package/dist/types/index.d.ts +2 -0
  324. package/dist/types/index.d.ts.map +1 -0
  325. package/dist/types/index.js +1 -0
  326. package/dist/underwriter/underwriter.model.d.ts +30 -2
  327. package/dist/underwriter/underwriter.model.d.ts.map +1 -1
  328. package/dist/users/auth-log.model.d.ts +30 -2
  329. package/dist/users/auth-log.model.d.ts.map +1 -1
  330. package/dist/users/auth-log.model.js +3 -0
  331. package/dist/users/permission.model.d.ts +30 -2
  332. package/dist/users/permission.model.d.ts.map +1 -1
  333. package/dist/users/permission.model.js +2 -0
  334. package/dist/users/role-group.model.d.ts +30 -2
  335. package/dist/users/role-group.model.d.ts.map +1 -1
  336. package/dist/users/role-group.model.js +3 -0
  337. package/dist/users/role.model.d.ts +30 -2
  338. package/dist/users/role.model.d.ts.map +1 -1
  339. package/dist/users/role.model.js +3 -0
  340. package/dist/users/tasks.model.d.ts +30 -2
  341. package/dist/users/tasks.model.d.ts.map +1 -1
  342. package/dist/users/tasks.model.js +4 -1
  343. package/dist/users/user.model.d.ts +48 -14
  344. package/dist/users/user.model.d.ts.map +1 -1
  345. package/dist/users/user.model.js +13 -2
  346. package/dist/users/user.type.d.ts +55 -0
  347. package/dist/users/user.type.d.ts.map +1 -0
  348. package/dist/users/user.type.js +1 -0
  349. package/dist/value-objects/account-number.d.ts +42 -0
  350. package/dist/value-objects/account-number.d.ts.map +1 -0
  351. package/dist/value-objects/account-number.js +24 -0
  352. package/dist/value-objects/pound.d.ts +28 -0
  353. package/dist/value-objects/pound.d.ts.map +1 -1
  354. package/dist/value-objects/pound.js +33 -9
  355. package/dist/value-objects/sort-code.d.ts +27 -0
  356. package/dist/value-objects/sort-code.d.ts.map +1 -1
  357. package/dist/value-objects/sort-code.js +13 -4
  358. package/package.json +33 -29
  359. package/dist/applicants/applicant-income.model.js +0 -78
  360. package/dist/applications/application-document.model.js +0 -35
  361. package/dist/applications/document.model.js +0 -35
  362. package/dist/entities/applicants/applicant-credit-data.entity.d.ts +0 -19
  363. package/dist/entities/applicants/applicant-credit-data.entity.d.ts.map +0 -1
  364. package/dist/entities/applicants/applicant-credit-data.entity.js +0 -5
  365. package/dist/entities/applicants/applicant-credit-profile.entity.d.ts +0 -14
  366. package/dist/entities/applicants/applicant-credit-profile.entity.d.ts.map +0 -1
  367. package/dist/entities/applicants/applicant-credit-profile.entity.js +0 -5
  368. package/dist/entities/applicants/applicant-employment-income.entity.d.ts +0 -14
  369. package/dist/entities/applicants/applicant-employment-income.entity.d.ts.map +0 -1
  370. package/dist/entities/applicants/applicant-employment-income.entity.js +0 -5
  371. package/dist/entities/applicants/applicant-employment.entity.d.ts +0 -54
  372. package/dist/entities/applicants/applicant-employment.entity.d.ts.map +0 -1
  373. package/dist/entities/applicants/applicant-employment.entity.js +0 -5
  374. package/dist/entities/applicants/applicant-expenditure.entity.d.ts +0 -14
  375. package/dist/entities/applicants/applicant-expenditure.entity.d.ts.map +0 -1
  376. package/dist/entities/applicants/applicant-expenditure.entity.js +0 -5
  377. package/dist/entities/applicants/applicant-income-settings.entity.d.ts +0 -17
  378. package/dist/entities/applicants/applicant-income-settings.entity.d.ts.map +0 -1
  379. package/dist/entities/applicants/applicant-income-settings.entity.js +0 -5
  380. package/dist/entities/applicants/applicant-income.entity.d.ts +0 -77
  381. package/dist/entities/applicants/applicant-income.entity.d.ts.map +0 -1
  382. package/dist/entities/applicants/applicant-income.entity.js +0 -2
  383. package/dist/entities/applicants/applicant-share-holding.entity.d.ts +0 -18
  384. package/dist/entities/applicants/applicant-share-holding.entity.d.ts.map +0 -1
  385. package/dist/entities/applicants/applicant-share-holding.entity.js +0 -5
  386. package/dist/entities/applicants/applicant.entity.d.ts +0 -144
  387. package/dist/entities/applicants/applicant.entity.d.ts.map +0 -1
  388. package/dist/entities/applicants/applicant.entity.js +0 -48
  389. package/dist/entities/applicants/credit-card-commitment.entity.d.ts +0 -22
  390. package/dist/entities/applicants/credit-card-commitment.entity.d.ts.map +0 -1
  391. package/dist/entities/applicants/credit-card-commitment.entity.js +0 -9
  392. package/dist/entities/applicants/index.d.ts +0 -20
  393. package/dist/entities/applicants/index.d.ts.map +0 -1
  394. package/dist/entities/applicants/index.js +0 -18
  395. package/dist/entities/applicants/loan-commitment.entity.d.ts +0 -29
  396. package/dist/entities/applicants/loan-commitment.entity.d.ts.map +0 -1
  397. package/dist/entities/applicants/loan-commitment.entity.js +0 -15
  398. package/dist/entities/applicants/mortgage-commitment.entity.d.ts +0 -50
  399. package/dist/entities/applicants/mortgage-commitment.entity.d.ts.map +0 -1
  400. package/dist/entities/applicants/mortgage-commitment.entity.js +0 -27
  401. package/dist/entities/applicants/other-income.entity.d.ts +0 -41
  402. package/dist/entities/applicants/other-income.entity.d.ts.map +0 -1
  403. package/dist/entities/applicants/other-income.entity.js +0 -19
  404. package/dist/entities/applicants/property-income.entity.d.ts +0 -17
  405. package/dist/entities/applicants/property-income.entity.d.ts.map +0 -1
  406. package/dist/entities/applicants/property-income.entity.js +0 -5
  407. package/dist/entities/applicants/residence-commitment.entity.d.ts +0 -44
  408. package/dist/entities/applicants/residence-commitment.entity.d.ts.map +0 -1
  409. package/dist/entities/applicants/residence-commitment.entity.js +0 -19
  410. package/dist/entities/applicants/secure-loan-commitment.entity.d.ts +0 -29
  411. package/dist/entities/applicants/secure-loan-commitment.entity.d.ts.map +0 -1
  412. package/dist/entities/applicants/secure-loan-commitment.entity.js +0 -12
  413. package/dist/entities/applicants/unsecured-loan-commitment.entity.d.ts +0 -29
  414. package/dist/entities/applicants/unsecured-loan-commitment.entity.d.ts.map +0 -1
  415. package/dist/entities/applicants/unsecured-loan-commitment.entity.js +0 -12
  416. package/dist/entities/applications/application-audit.entity.d.ts +0 -18
  417. package/dist/entities/applications/application-audit.entity.d.ts.map +0 -1
  418. package/dist/entities/applications/application-audit.entity.js +0 -5
  419. package/dist/entities/applications/application-company.entity.d.ts +0 -60
  420. package/dist/entities/applications/application-company.entity.d.ts.map +0 -1
  421. package/dist/entities/applications/application-company.entity.js +0 -15
  422. package/dist/entities/applications/application-credit-profile.entity.d.ts +0 -11
  423. package/dist/entities/applications/application-credit-profile.entity.d.ts.map +0 -1
  424. package/dist/entities/applications/application-credit-profile.entity.js +0 -5
  425. package/dist/entities/applications/application-direct-debit.entity.d.ts +0 -24
  426. package/dist/entities/applications/application-direct-debit.entity.d.ts.map +0 -1
  427. package/dist/entities/applications/application-direct-debit.entity.js +0 -5
  428. package/dist/entities/applications/application-document.entity.d.ts +0 -28
  429. package/dist/entities/applications/application-document.entity.d.ts.map +0 -1
  430. package/dist/entities/applications/application-document.entity.js +0 -5
  431. package/dist/entities/applications/application-fieldconfig.entity.d.ts +0 -9
  432. package/dist/entities/applications/application-fieldconfig.entity.d.ts.map +0 -1
  433. package/dist/entities/applications/application-fieldconfig.entity.js +0 -5
  434. package/dist/entities/applications/application-illustration.entity.d.ts +0 -8
  435. package/dist/entities/applications/application-illustration.entity.d.ts.map +0 -1
  436. package/dist/entities/applications/application-illustration.entity.js +0 -5
  437. package/dist/entities/applications/application-legal.entity.d.ts +0 -9
  438. package/dist/entities/applications/application-legal.entity.d.ts.map +0 -1
  439. package/dist/entities/applications/application-legal.entity.js +0 -5
  440. package/dist/entities/applications/application-mortgage.entity.d.ts +0 -55
  441. package/dist/entities/applications/application-mortgage.entity.d.ts.map +0 -1
  442. package/dist/entities/applications/application-mortgage.entity.js +0 -27
  443. package/dist/entities/applications/application-note.entity.d.ts +0 -37
  444. package/dist/entities/applications/application-note.entity.d.ts.map +0 -1
  445. package/dist/entities/applications/application-note.entity.js +0 -5
  446. package/dist/entities/applications/application-offer.entity.d.ts +0 -8
  447. package/dist/entities/applications/application-offer.entity.d.ts.map +0 -1
  448. package/dist/entities/applications/application-offer.entity.js +0 -5
  449. package/dist/entities/applications/application-onboarding.entity.d.ts +0 -11
  450. package/dist/entities/applications/application-onboarding.entity.d.ts.map +0 -1
  451. package/dist/entities/applications/application-onboarding.entity.js +0 -5
  452. package/dist/entities/applications/application-product.entity.d.ts +0 -33
  453. package/dist/entities/applications/application-product.entity.d.ts.map +0 -1
  454. package/dist/entities/applications/application-product.entity.js +0 -5
  455. package/dist/entities/applications/application-rationale.entity.d.ts +0 -51
  456. package/dist/entities/applications/application-rationale.entity.d.ts.map +0 -1
  457. package/dist/entities/applications/application-rationale.entity.js +0 -5
  458. package/dist/entities/applications/application.entity.d.ts +0 -102
  459. package/dist/entities/applications/application.entity.d.ts.map +0 -1
  460. package/dist/entities/applications/application.entity.js +0 -66
  461. package/dist/entities/applications/broker.entity.d.ts +0 -23
  462. package/dist/entities/applications/broker.entity.d.ts.map +0 -1
  463. package/dist/entities/applications/broker.entity.js +0 -5
  464. package/dist/entities/applications/checklist-item.entity.d.ts +0 -47
  465. package/dist/entities/applications/checklist-item.entity.d.ts.map +0 -1
  466. package/dist/entities/applications/checklist-item.entity.js +0 -5
  467. package/dist/entities/applications/index.d.ts +0 -22
  468. package/dist/entities/applications/index.d.ts.map +0 -1
  469. package/dist/entities/applications/index.js +0 -20
  470. package/dist/entities/applications/product-features.entity.d.ts +0 -104
  471. package/dist/entities/applications/product-features.entity.d.ts.map +0 -1
  472. package/dist/entities/applications/product-features.entity.js +0 -20
  473. package/dist/entities/applications/solicitor.entity.d.ts +0 -33
  474. package/dist/entities/applications/solicitor.entity.d.ts.map +0 -1
  475. package/dist/entities/applications/solicitor.entity.js +0 -5
  476. package/dist/entities/index.d.ts +0 -10
  477. package/dist/entities/index.d.ts.map +0 -1
  478. package/dist/entities/index.js +0 -10
  479. package/dist/entities/prisma.d.ts +0 -3
  480. package/dist/entities/prisma.d.ts.map +0 -1
  481. package/dist/entities/prisma.js +0 -10
  482. package/dist/entities/product-catalogues/index.d.ts +0 -8
  483. package/dist/entities/product-catalogues/index.d.ts.map +0 -1
  484. package/dist/entities/product-catalogues/index.js +0 -6
  485. package/dist/entities/product-catalogues/product-catalogue.entity.d.ts +0 -22
  486. package/dist/entities/product-catalogues/product-catalogue.entity.d.ts.map +0 -1
  487. package/dist/entities/product-catalogues/product-catalogue.entity.js +0 -5
  488. package/dist/entities/product-catalogues/product-definition.entity.d.ts +0 -16
  489. package/dist/entities/product-catalogues/product-definition.entity.d.ts.map +0 -1
  490. package/dist/entities/product-catalogues/product-definition.entity.js +0 -5
  491. package/dist/entities/product-catalogues/product-variant.entity.d.ts +0 -14
  492. package/dist/entities/product-catalogues/product-variant.entity.d.ts.map +0 -1
  493. package/dist/entities/product-catalogues/product-variant.entity.js +0 -5
  494. package/dist/entities/product-catalogues/product.entity.d.ts +0 -11
  495. package/dist/entities/product-catalogues/product.entity.d.ts.map +0 -1
  496. package/dist/entities/product-catalogues/product.entity.js +0 -5
  497. package/dist/entities/product-catalogues/rule.entity.d.ts +0 -21
  498. package/dist/entities/product-catalogues/rule.entity.d.ts.map +0 -1
  499. package/dist/entities/product-catalogues/rule.entity.js +0 -5
  500. package/dist/entities/properties/data-street.entity.d.ts +0 -22
  501. package/dist/entities/properties/data-street.entity.d.ts.map +0 -1
  502. package/dist/entities/properties/data-street.entity.js +0 -5
  503. package/dist/entities/properties/index.d.ts +0 -6
  504. package/dist/entities/properties/index.d.ts.map +0 -1
  505. package/dist/entities/properties/index.js +0 -4
  506. package/dist/entities/properties/property.entity.d.ts +0 -30
  507. package/dist/entities/properties/property.entity.d.ts.map +0 -1
  508. package/dist/entities/properties/property.entity.js +0 -5
  509. package/dist/entities/properties/security.entity.d.ts +0 -58
  510. package/dist/entities/properties/security.entity.d.ts.map +0 -1
  511. package/dist/entities/properties/security.entity.js +0 -5
  512. package/dist/entities/shared/alert.entity.d.ts +0 -14
  513. package/dist/entities/shared/alert.entity.d.ts.map +0 -1
  514. package/dist/entities/shared/alert.entity.js +0 -5
  515. package/dist/entities/shared/apprivo-sync-journey.entity.d.ts +0 -19
  516. package/dist/entities/shared/apprivo-sync-journey.entity.d.ts.map +0 -1
  517. package/dist/entities/shared/apprivo-sync-journey.entity.js +0 -5
  518. package/dist/entities/shared/checklist.entity.d.ts +0 -15
  519. package/dist/entities/shared/checklist.entity.d.ts.map +0 -1
  520. package/dist/entities/shared/checklist.entity.js +0 -5
  521. package/dist/entities/shared/document-type.entity.d.ts +0 -9
  522. package/dist/entities/shared/document-type.entity.d.ts.map +0 -1
  523. package/dist/entities/shared/document-type.entity.js +0 -5
  524. package/dist/entities/shared/index.d.ts +0 -12
  525. package/dist/entities/shared/index.d.ts.map +0 -1
  526. package/dist/entities/shared/index.js +0 -10
  527. package/dist/entities/shared/job-run.entity.d.ts +0 -15
  528. package/dist/entities/shared/job-run.entity.d.ts.map +0 -1
  529. package/dist/entities/shared/job-run.entity.js +0 -5
  530. package/dist/entities/shared/job-run.model.d.ts +0 -11
  531. package/dist/entities/shared/job-run.model.d.ts.map +0 -1
  532. package/dist/entities/shared/job-setting.entity.d.ts +0 -11
  533. package/dist/entities/shared/job-setting.entity.d.ts.map +0 -1
  534. package/dist/entities/shared/job-setting.entity.js +0 -5
  535. package/dist/entities/shared/lookup-group.entity.d.ts +0 -11
  536. package/dist/entities/shared/lookup-group.entity.d.ts.map +0 -1
  537. package/dist/entities/shared/lookup-group.entity.js +0 -5
  538. package/dist/entities/shared/lookup.entity.d.ts +0 -14
  539. package/dist/entities/shared/lookup.entity.d.ts.map +0 -1
  540. package/dist/entities/shared/lookup.entity.js +0 -5
  541. package/dist/entities/shared/system-parameter.entity.d.ts +0 -10
  542. package/dist/entities/shared/system-parameter.entity.d.ts.map +0 -1
  543. package/dist/entities/shared/system-parameter.entity.js +0 -5
  544. package/dist/entities/underwriter/index.d.ts +0 -4
  545. package/dist/entities/underwriter/index.d.ts.map +0 -1
  546. package/dist/entities/underwriter/index.js +0 -2
  547. package/dist/entities/underwriter/underwriter.entity.d.ts +0 -19
  548. package/dist/entities/underwriter/underwriter.entity.d.ts.map +0 -1
  549. package/dist/entities/underwriter/underwriter.entity.js +0 -5
  550. package/dist/entities/users/auth-log.entity.d.ts +0 -11
  551. package/dist/entities/users/auth-log.entity.d.ts.map +0 -1
  552. package/dist/entities/users/auth-log.entity.js +0 -5
  553. package/dist/entities/users/index.d.ts +0 -8
  554. package/dist/entities/users/index.d.ts.map +0 -1
  555. package/dist/entities/users/index.js +0 -6
  556. package/dist/entities/users/permission.entity.d.ts +0 -12
  557. package/dist/entities/users/permission.entity.d.ts.map +0 -1
  558. package/dist/entities/users/permission.entity.js +0 -5
  559. package/dist/entities/users/role-group.entity.d.ts +0 -13
  560. package/dist/entities/users/role-group.entity.d.ts.map +0 -1
  561. package/dist/entities/users/role-group.entity.js +0 -5
  562. package/dist/entities/users/role.entity.d.ts +0 -16
  563. package/dist/entities/users/role.entity.d.ts.map +0 -1
  564. package/dist/entities/users/role.entity.js +0 -5
  565. package/dist/entities/users/user.entity.d.ts +0 -33
  566. package/dist/entities/users/user.entity.d.ts.map +0 -1
  567. package/dist/entities/users/user.entity.js +0 -5
  568. package/dist/shared/document-type-model.js +0 -10
  569. package/entities/applicants/applicant-credit-data.entity.ts +0 -24
  570. package/entities/applicants/applicant-credit-profile.entity.ts +0 -19
  571. package/entities/applicants/applicant-employment-income.entity.ts +0 -18
  572. package/entities/applicants/applicant-employment.entity.ts +0 -60
  573. package/entities/applicants/applicant-expenditure.entity.ts +0 -19
  574. package/entities/applicants/applicant-income-settings.entity.ts +0 -22
  575. package/entities/applicants/applicant-income.entity.ts +0 -79
  576. package/entities/applicants/applicant-share-holding.entity.ts +0 -23
  577. package/entities/applicants/applicant.entity.ts +0 -194
  578. package/entities/applicants/credit-card-commitment.entity.ts +0 -31
  579. package/entities/applicants/index.ts +0 -59
  580. package/entities/applicants/loan-commitment.entity.ts +0 -44
  581. package/entities/applicants/mortgage-commitment.entity.ts +0 -77
  582. package/entities/applicants/other-income.entity.ts +0 -68
  583. package/entities/applicants/property-income.entity.ts +0 -19
  584. package/entities/applicants/residence-commitment.entity.ts +0 -63
  585. package/entities/applicants/secure-loan-commitment.entity.ts +0 -41
  586. package/entities/applicants/unsecured-loan-commitment.entity.ts +0 -41
  587. package/entities/applications/application-audit.entity.ts +0 -23
  588. package/entities/applications/application-company.entity.ts +0 -76
  589. package/entities/applications/application-credit-profile.entity.ts +0 -13
  590. package/entities/applications/application-direct-debit.entity.ts +0 -29
  591. package/entities/applications/application-document.entity.ts +0 -33
  592. package/entities/applications/application-fieldconfig.entity.ts +0 -11
  593. package/entities/applications/application-illustration.entity.ts +0 -10
  594. package/entities/applications/application-legal.entity.ts +0 -11
  595. package/entities/applications/application-mortgage.entity.ts +0 -82
  596. package/entities/applications/application-note.entity.ts +0 -42
  597. package/entities/applications/application-offer.entity.ts +0 -10
  598. package/entities/applications/application-onboarding.entity.ts +0 -13
  599. package/entities/applications/application-product.entity.ts +0 -38
  600. package/entities/applications/application-rationale.entity.ts +0 -56
  601. package/entities/applications/application.entity.ts +0 -168
  602. package/entities/applications/broker.entity.ts +0 -25
  603. package/entities/applications/checklist-item.entity.ts +0 -49
  604. package/entities/applications/index.ts +0 -63
  605. package/entities/applications/product-features.entity.ts +0 -118
  606. package/entities/applications/solicitor.entity.ts +0 -38
  607. package/entities/index.ts +0 -14
  608. package/entities/prisma.ts +0 -13
  609. package/entities/product-catalogues/index.ts +0 -23
  610. package/entities/product-catalogues/product-catalogue.entity.ts +0 -27
  611. package/entities/product-catalogues/product-definition.entity.ts +0 -21
  612. package/entities/product-catalogues/product-variant.entity.ts +0 -19
  613. package/entities/product-catalogues/product.entity.ts +0 -16
  614. package/entities/product-catalogues/rule.entity.ts +0 -26
  615. package/entities/properties/data-street.entity.ts +0 -27
  616. package/entities/properties/index.ts +0 -17
  617. package/entities/properties/property.entity.ts +0 -35
  618. package/entities/properties/security.entity.ts +0 -63
  619. package/entities/shared/alert.entity.ts +0 -19
  620. package/entities/shared/apprivo-sync-journey.entity.ts +0 -25
  621. package/entities/shared/apprivo-sync-journey.model.ts +0 -13
  622. package/entities/shared/checklist.entity.ts +0 -20
  623. package/entities/shared/document-type.entity.ts +0 -11
  624. package/entities/shared/index.ts +0 -35
  625. package/entities/shared/job-run.entity.ts +0 -20
  626. package/entities/shared/job-run.model.ts +0 -10
  627. package/entities/shared/job-setting.entity.ts +0 -13
  628. package/entities/shared/lookup-group.entity.ts +0 -16
  629. package/entities/shared/lookup.entity.ts +0 -19
  630. package/entities/shared/system-parameter.entity.ts +0 -13
  631. package/entities/underwriter/index.ts +0 -7
  632. package/entities/underwriter/underwriter.entity.ts +0 -24
  633. package/entities/users/auth-log.entity.ts +0 -13
  634. package/entities/users/index.ts +0 -23
  635. package/entities/users/permission.entity.ts +0 -17
  636. package/entities/users/role-group.entity.ts +0 -18
  637. package/entities/users/role.entity.ts +0 -21
  638. package/entities/users/user.entity.ts +0 -38
  639. package/prisma/applicants/applicant-credit-data.prisma +0 -19
  640. package/prisma/applicants/applicant-credit-profile.prisma +0 -15
  641. package/prisma/applicants/applicant-employment-income.prisma +0 -15
  642. package/prisma/applicants/applicant-employment.prisma +0 -54
  643. package/prisma/applicants/applicant-expenditure.prisma +0 -14
  644. package/prisma/applicants/applicant-income-settings.prisma +0 -17
  645. package/prisma/applicants/applicant-income.prisma +0 -78
  646. package/prisma/applicants/applicant-other-income.prisma +0 -45
  647. package/prisma/applicants/applicant-property-income.prisma +0 -21
  648. package/prisma/applicants/applicant-share-holding.prisma +0 -17
  649. package/prisma/applicants/applicant.prisma +0 -130
  650. package/prisma/applicants/credit-card-commitment.prisma +0 -21
  651. package/prisma/applicants/loan-commitment.prisma +0 -26
  652. package/prisma/applicants/mortgage-commitment.prisma +0 -43
  653. package/prisma/applicants/residence-commitment.prisma +0 -41
  654. package/prisma/applicants/secured-loan-commitment.prisma +0 -27
  655. package/prisma/applicants/unsecured-loan-commitment.prisma +0 -27
  656. package/prisma/applications/application-audit.prisma +0 -19
  657. package/prisma/applications/application-company.prisma +0 -56
  658. package/prisma/applications/application-credit-profile.prisma +0 -15
  659. package/prisma/applications/application-direct-debit.prisma +0 -27
  660. package/prisma/applications/application-document.prisma +0 -28
  661. package/prisma/applications/application-fieldconfig.prisma +0 -9
  662. package/prisma/applications/application-illustration.prisma +0 -8
  663. package/prisma/applications/application-legal.prisma +0 -9
  664. package/prisma/applications/application-mortgage.prisma +0 -48
  665. package/prisma/applications/application-note.prisma +0 -36
  666. package/prisma/applications/application-offer.prisma +0 -8
  667. package/prisma/applications/application-onboarding.prisma +0 -11
  668. package/prisma/applications/application-product.prisma +0 -33
  669. package/prisma/applications/application-rationale.prisma +0 -51
  670. package/prisma/applications/application.prisma +0 -92
  671. package/prisma/applications/broker.prisma +0 -26
  672. package/prisma/applications/checklist-item.prisma +0 -47
  673. package/prisma/applications/checklist.prisma +0 -19
  674. package/prisma/applications/product-features.prisma +0 -122
  675. package/prisma/applications/solicitor.prisma +0 -33
  676. package/prisma/broker.entity.ts +0 -8
  677. package/prisma/migrations/20250501070203_initial_migration/migration.sql +0 -2044
  678. package/prisma/migrations/20250501102630_job_setting_name_change/migration.sql +0 -10
  679. package/prisma/migrations/20250501104920_milstone_update/migration.sql +0 -30
  680. package/prisma/migrations/20250501105546_apprivo_sync_journey_update/migration.sql +0 -9
  681. package/prisma/migrations/20250501105850_job_run_update/migration.sql +0 -13
  682. package/prisma/migrations/20250505115236_update_application_schema/migration.sql +0 -115
  683. package/prisma/migrations/20250505145328_update_broker_schema/migration.sql +0 -8
  684. package/prisma/migrations/20250505185034_update_direct_debit_schema/migration.sql +0 -27
  685. package/prisma/migrations/20250505190613_update_solicitor_schema/migration.sql +0 -29
  686. package/prisma/migrations/20250506054831_update_note_schema/migration.sql +0 -12
  687. package/prisma/migrations/20250506142218_update_broker_schema/migration.sql +0 -17
  688. package/prisma/migrations/20250506190258_update_application_note_schema/migration.sql +0 -32
  689. package/prisma/migrations/20250506204635_update_mortgage_schema/migration.sql +0 -26
  690. package/prisma/migrations/20250507122847_applicant_retirement_age/migration.sql +0 -9
  691. package/prisma/migrations/20250507184905_update_mortgage_schema/migration.sql +0 -8
  692. package/prisma/migrations/20250507194746_update_direct_debit_schema/migration.sql +0 -5
  693. package/prisma/migrations/20250508092417_update_application_schema/migration.sql +0 -3
  694. package/prisma/migrations/20250508094735_update_direct_debit_schema/migration.sql +0 -2
  695. package/prisma/migrations/20250509073536_update_applicant_schema/migration.sql +0 -4
  696. package/prisma/migrations/20250509111029_update_solicitor_schema/migration.sql +0 -2
  697. package/prisma/migrations/20250509125107_update_mortgage_schema/migration.sql +0 -19
  698. package/prisma/migrations/20250512071728_update_mortgage_schema/migration.sql +0 -15
  699. package/prisma/migrations/20250512094011_update_property_schema/migration.sql +0 -34
  700. package/prisma/migrations/20250512102019_update_mortgage_schema/migration.sql +0 -2
  701. package/prisma/migrations/20250513132704_update_credit_card_commitment_schema/migration.sql +0 -22
  702. package/prisma/migrations/20250513143530_update_credit_card_commitment_schema/migration.sql +0 -8
  703. package/prisma/migrations/20250513170654_update_mortgage_commitment_schema/migration.sql +0 -89
  704. package/prisma/migrations/20250513183558_update_loan_commitment_schema/migration.sql +0 -33
  705. package/prisma/migrations/20250513184341_update_loan_commitment_schema/migration.sql +0 -4
  706. package/prisma/migrations/20250513202307_update_role_schema/migration.sql +0 -12
  707. package/prisma/migrations/20250514062536_update_role_group_schema/migration.sql +0 -12
  708. package/prisma/migrations/20250514064054_update_user_schema/migration.sql +0 -12
  709. package/prisma/migrations/20250514071524_update_user_schema/migration.sql +0 -15
  710. package/prisma/migrations/20250514072729_update_user_schema/migration.sql +0 -18
  711. package/prisma/migrations/20250514102042_update_user_rolegroup_role_schemas/migration.sql +0 -9
  712. package/prisma/migrations/20250514183537_update_application_company_schema/migration.sql +0 -100
  713. package/prisma/migrations/20250514194139_update_applicant_share_holding_schema/migration.sql +0 -11
  714. package/prisma/migrations/20250515132015_update_underwriter_schema/migration.sql +0 -56
  715. package/prisma/migrations/20250515133236_update_underwriter_schema/migration.sql +0 -12
  716. package/prisma/migrations/20250515172824_update_security_schema/migration.sql +0 -43
  717. package/prisma/migrations/20250516053810_update_underwriter_schema/migration.sql +0 -14
  718. package/prisma/migrations/20250516075153_update_commitments_schemas/migration.sql +0 -134
  719. package/prisma/migrations/20250516094438_update_credit_card_commitment_schema/migration.sql +0 -8
  720. package/prisma/migrations/20250519075211_update_product_features_schema/migration.sql +0 -15
  721. package/prisma/migrations/20250519094725_update_product_feature_schema/migration.sql +0 -163
  722. package/prisma/migrations/20250519133154_update_employemnt_income_schema/migration.sql +0 -11
  723. package/prisma/migrations/20250519181411_update_applicant_income_schema/migration.sql +0 -65
  724. package/prisma/migrations/20250520030945_update_income_settings_schema/migration.sql +0 -44
  725. package/prisma/migrations/20250520061455_update_income_settings_schema/migration.sql +0 -11
  726. package/prisma/migrations/20250521173204_update_product_catalogue_schema/migration.sql +0 -28
  727. package/prisma/migrations/20250521180300_update_product_variant_schema/migration.sql +0 -8
  728. package/prisma/migrations/20250521191050_update_product_definition_schema/migration.sql +0 -23
  729. package/prisma/migrations/20250521192012_update_product_definition_schema/migration.sql +0 -9
  730. package/prisma/migrations/migration_lock.toml +0 -3
  731. package/prisma/product-catalogues/product-catalogue.prisma +0 -22
  732. package/prisma/product-catalogues/product-definition.prisma +0 -16
  733. package/prisma/product-catalogues/product-variant.prisma +0 -15
  734. package/prisma/product-catalogues/product.prisma +0 -10
  735. package/prisma/product-catalogues/rule.prisma +0 -22
  736. package/prisma/properties/property.prisma +0 -30
  737. package/prisma/properties/security.prisma +0 -81
  738. package/prisma/schema.prisma +0 -1979
  739. package/prisma/shared/alert.prisma +0 -15
  740. package/prisma/shared/apprivo-sync-journey.prisma +0 -19
  741. package/prisma/shared/checklist.prisma +0 -10
  742. package/prisma/shared/document-type.prisma +0 -9
  743. package/prisma/shared/job-run.prisma +0 -15
  744. package/prisma/shared/job-setting.prisma +0 -11
  745. package/prisma/shared/lookup-group.prisma +0 -12
  746. package/prisma/shared/lookup.prisma +0 -154
  747. package/prisma/shared/system-parameter.prisma +0 -16
  748. package/prisma/underwriter/underwriter.prisma +0 -20
  749. package/prisma/users/auth-log.prisma +0 -11
  750. package/prisma/users/permission.prisma +0 -13
  751. package/prisma/users/role-group.prisma +0 -15
  752. package/prisma/users/role.prisma +0 -15
  753. package/prisma/users/user.prisma +0 -30
  754. /package/dist/{entities/shared/job-run.model.js → applicants/applicant-additional-income.type.js} +0 -0
@@ -0,0 +1,49 @@
1
+ import mongoose, { Schema } from 'mongoose';
2
+ const WorkflowTriggerSchema = new Schema({
3
+ triggerKey: {
4
+ type: String,
5
+ required: true,
6
+ unique: true,
7
+ index: true
8
+ },
9
+ description: {
10
+ type: String,
11
+ required: true
12
+ },
13
+ isActive: {
14
+ type: Boolean,
15
+ default: true,
16
+ index: true
17
+ },
18
+ condition: {
19
+ type: String,
20
+ required: true
21
+ },
22
+ workflowKey: {
23
+ type: String,
24
+ required: true,
25
+ index: true
26
+ },
27
+ requiredVariables: [{
28
+ type: String,
29
+ required: true
30
+ }],
31
+ optionalVariables: [{
32
+ type: String
33
+ }],
34
+ parentKey: {
35
+ type: String,
36
+ required: false
37
+ },
38
+ validationRules: {
39
+ type: Schema.Types.Mixed
40
+ },
41
+ metadata: {
42
+ type: Schema.Types.Mixed
43
+ }
44
+ }, { timestamps: true });
45
+ // Index for efficient querying
46
+ WorkflowTriggerSchema.index({ triggerKey: 1, isActive: 1 });
47
+ WorkflowTriggerSchema.index({ workflowKey: 1, isActive: 1 });
48
+ // Conditional model registration to avoid "Cannot overwrite model" errors
49
+ export default mongoose.models.WorkflowTrigger || mongoose.model('WorkflowTrigger', WorkflowTriggerSchema);
@@ -0,0 +1,60 @@
1
+ /// <reference path="../value-objects/pound.d.ts" />
2
+ /// <reference path="../value-objects/account-number.d.ts" />
3
+ /// <reference path="../value-objects/sort-code.d.ts" />
4
+ /// <reference types="mongoose/types/aggregate" />
5
+ /// <reference types="mongoose/types/callback" />
6
+ /// <reference types="mongoose/types/collection" />
7
+ /// <reference types="mongoose/types/connection" />
8
+ /// <reference types="mongoose/types/cursor" />
9
+ /// <reference types="mongoose/types/document" />
10
+ /// <reference types="mongoose/types/error" />
11
+ /// <reference types="mongoose/types/expressions" />
12
+ /// <reference types="mongoose/types/helpers" />
13
+ /// <reference types="mongoose/types/middlewares" />
14
+ /// <reference types="mongoose/types/indexes" />
15
+ /// <reference types="mongoose/types/models" />
16
+ /// <reference types="mongoose/types/mongooseoptions" />
17
+ /// <reference types="mongoose/types/pipelinestage" />
18
+ /// <reference types="mongoose/types/populate" />
19
+ /// <reference types="mongoose/types/query" />
20
+ /// <reference types="mongoose/types/schemaoptions" />
21
+ /// <reference types="mongoose/types/session" />
22
+ /// <reference types="mongoose/types/types" />
23
+ /// <reference types="mongoose/types/utility" />
24
+ /// <reference types="mongoose/types/validation" />
25
+ /// <reference types="mongoose/types/virtuals" />
26
+ /// <reference types="mongoose/types/schematypes" />
27
+ /// <reference types="mongoose/types/inferschematype" />
28
+ /// <reference types="mongoose/types/inferrawdoctype" />
29
+ import { Document } from 'mongoose';
30
+ export default interface IWorkflowTrigger extends Document {
31
+ triggerKey: string;
32
+ description: string;
33
+ isActive: boolean;
34
+ condition: string;
35
+ workflowKey: string;
36
+ requiredVariables: string[];
37
+ optionalVariables?: string[];
38
+ parentKey?: string;
39
+ validationRules?: any;
40
+ metadata?: any;
41
+ createdAt: Date;
42
+ updatedAt: Date;
43
+ }
44
+ export interface WorkflowTriggerEvent {
45
+ recordType: string;
46
+ action: string;
47
+ triggerKey: string;
48
+ }
49
+ export interface WorkflowApiPayload {
50
+ workflowKey: string;
51
+ version: number;
52
+ variables: Record<string, any>;
53
+ }
54
+ export interface WorkflowMiddlewareOptions {
55
+ workflowApiUrl: string;
56
+ timeout?: number;
57
+ retryAttempts?: number;
58
+ retryDelay?: number;
59
+ }
60
+ //# sourceMappingURL=workflow-trigger.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-trigger.type.d.ts","sourceRoot":"","sources":["../../shared/workflow-trigger.type.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,CAAC,OAAO,WAAW,gBAAiB,SAAQ,QAAQ;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,yBAAyB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Initialize workflow middleware for all schemas
3
+ * Call this function once in your application startup to enable workflow middleware globally
4
+ *
5
+ * This will automatically apply workflow middleware to all Mongoose schemas
6
+ * The record type will be inferred from the model name (e.g., 'Application' -> 'applications')
7
+ */
8
+ export declare function initializeWorkflowMiddleware(): void;
9
+ /**
10
+ * Check if workflow middleware is properly configured
11
+ * @returns true if all required environment variables are set
12
+ */
13
+ export declare function isWorkflowMiddlewareConfigured(): boolean;
14
+ /**
15
+ * Initialize workflow middleware with configuration check
16
+ * @param options - Optional configuration options
17
+ */
18
+ export declare function initializeWorkflowMiddlewareWithCheck(options?: {
19
+ skipConfigCheck?: boolean;
20
+ }): boolean;
21
+ //# sourceMappingURL=workflow.init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.init.d.ts","sourceRoot":"","sources":["../../shared/workflow.init.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,wBAAgB,4BAA4B,SAI3C;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,IAAI,OAAO,CAUxD;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CAAC,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,WAQ5F"}
@@ -0,0 +1,42 @@
1
+ import dotenv from 'dotenv';
2
+ import { registerWorkflowPlugin } from './workflow.plugin.js';
3
+ import { workflowLog, workflowWarn } from './workflow.logger.js';
4
+ // Load environment variables from .env file
5
+ dotenv.config();
6
+ /**
7
+ * Initialize workflow middleware for all schemas
8
+ * Call this function once in your application startup to enable workflow middleware globally
9
+ *
10
+ * This will automatically apply workflow middleware to all Mongoose schemas
11
+ * The record type will be inferred from the model name (e.g., 'Application' -> 'applications')
12
+ */
13
+ export function initializeWorkflowMiddleware() {
14
+ workflowLog('Initializing workflow middleware for all schemas...');
15
+ registerWorkflowPlugin();
16
+ workflowLog('Workflow middleware initialized successfully');
17
+ }
18
+ /**
19
+ * Check if workflow middleware is properly configured
20
+ * @returns true if all required environment variables are set
21
+ */
22
+ export function isWorkflowMiddlewareConfigured() {
23
+ const requiredEnvVars = ['WORKFLOW_API_KEY'];
24
+ const missingVars = requiredEnvVars.filter(varName => !process.env[varName]);
25
+ if (missingVars.length > 0) {
26
+ workflowWarn(`Missing required environment variables for workflow middleware: ${missingVars.join(', ')}`);
27
+ return false;
28
+ }
29
+ return true;
30
+ }
31
+ /**
32
+ * Initialize workflow middleware with configuration check
33
+ * @param options - Optional configuration options
34
+ */
35
+ export function initializeWorkflowMiddlewareWithCheck(options) {
36
+ if (!options?.skipConfigCheck && !isWorkflowMiddlewareConfigured()) {
37
+ workflowWarn('Workflow middleware configuration incomplete. Middleware will be disabled.');
38
+ return false;
39
+ }
40
+ initializeWorkflowMiddleware();
41
+ return true;
42
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Utility functions for workflow engine logging
3
+ * Logs are controlled by the SHOW_WORKFLOW_ENGINE_LOGS environment variable
4
+ */
5
+ /**
6
+ * Conditional console.log that only logs if SHOW_WORKFLOW_ENGINE_LOGS is enabled
7
+ */
8
+ export declare function workflowLog(...args: any[]): void;
9
+ /**
10
+ * Conditional console.warn that only logs if SHOW_WORKFLOW_ENGINE_LOGS is enabled
11
+ */
12
+ export declare function workflowWarn(...args: any[]): void;
13
+ /**
14
+ * Conditional console.error that only logs if SHOW_WORKFLOW_ENGINE_LOGS is enabled
15
+ * Note: Error logs might be important, but we'll respect the flag for consistency
16
+ */
17
+ export declare function workflowError(...args: any[]): void;
18
+ //# sourceMappingURL=workflow.logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.logger.d.ts","sourceRoot":"","sources":["../../shared/workflow.logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAIhD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAIjD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAIlD"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Utility functions for workflow engine logging
3
+ * Logs are controlled by the SHOW_WORKFLOW_ENGINE_LOGS environment variable
4
+ */
5
+ /**
6
+ * Checks if workflow engine logs should be displayed
7
+ * @returns true if SHOW_WORKFLOW_ENGINE_LOGS is set to a truthy value
8
+ */
9
+ function shouldShowLogs() {
10
+ const envValue = process.env.SHOW_WORKFLOW_ENGINE_LOGS;
11
+ if (!envValue)
12
+ return false;
13
+ // Check for truthy string values
14
+ const normalizedValue = envValue.toLowerCase().trim();
15
+ return normalizedValue === 'true' || normalizedValue === '1' || normalizedValue === 'yes';
16
+ }
17
+ /**
18
+ * Conditional console.log that only logs if SHOW_WORKFLOW_ENGINE_LOGS is enabled
19
+ */
20
+ export function workflowLog(...args) {
21
+ if (shouldShowLogs()) {
22
+ console.log(...args);
23
+ }
24
+ }
25
+ /**
26
+ * Conditional console.warn that only logs if SHOW_WORKFLOW_ENGINE_LOGS is enabled
27
+ */
28
+ export function workflowWarn(...args) {
29
+ if (shouldShowLogs()) {
30
+ console.warn(...args);
31
+ }
32
+ }
33
+ /**
34
+ * Conditional console.error that only logs if SHOW_WORKFLOW_ENGINE_LOGS is enabled
35
+ * Note: Error logs might be important, but we'll respect the flag for consistency
36
+ */
37
+ export function workflowError(...args) {
38
+ if (shouldShowLogs()) {
39
+ console.error(...args);
40
+ }
41
+ }
@@ -0,0 +1,108 @@
1
+ /// <reference path="../value-objects/pound.d.ts" />
2
+ /// <reference path="../value-objects/account-number.d.ts" />
3
+ /// <reference path="../value-objects/sort-code.d.ts" />
4
+ /// <reference types="mongoose/types/aggregate.js" />
5
+ /// <reference types="mongoose/types/callback.js" />
6
+ /// <reference types="mongoose/types/collection.js" />
7
+ /// <reference types="mongoose/types/connection.js" />
8
+ /// <reference types="mongoose/types/cursor.js" />
9
+ /// <reference types="mongoose/types/document.js" />
10
+ /// <reference types="mongoose/types/error.js" />
11
+ /// <reference types="mongoose/types/expressions.js" />
12
+ /// <reference types="mongoose/types/helpers.js" />
13
+ /// <reference types="mongoose/types/middlewares.js" />
14
+ /// <reference types="mongoose/types/indexes.js" />
15
+ /// <reference types="mongoose/types/models.js" />
16
+ /// <reference types="mongoose/types/mongooseoptions.js" />
17
+ /// <reference types="mongoose/types/pipelinestage.js" />
18
+ /// <reference types="mongoose/types/populate.js" />
19
+ /// <reference types="mongoose/types/query.js" />
20
+ /// <reference types="mongoose/types/schemaoptions.js" />
21
+ /// <reference types="mongoose/types/session.js" />
22
+ /// <reference types="mongoose/types/types.js" />
23
+ /// <reference types="mongoose/types/utility.js" />
24
+ /// <reference types="mongoose/types/validation.js" />
25
+ /// <reference types="mongoose/types/virtuals.js" />
26
+ /// <reference types="mongoose/types/schematypes.js" />
27
+ /// <reference types="mongoose/types/inferschematype.js" />
28
+ /// <reference types="mongoose/types/inferrawdoctype.js" />
29
+ import mongoose from 'mongoose';
30
+ import { WorkflowTriggerEvent, WorkflowMiddlewareOptions } from './workflow-trigger.type.js';
31
+ export declare class WorkflowMiddleware {
32
+ private workflowService;
33
+ private options;
34
+ constructor(options?: Partial<WorkflowMiddlewareOptions>);
35
+ /**
36
+ * Safely gets the WorkflowTrigger model, handling potential registration issues
37
+ */
38
+ private getWorkflowTriggerModel;
39
+ /**
40
+ * Gets the current request context including application_id and token
41
+ * @returns The current context object or null if not available
42
+ */
43
+ getContext(): {
44
+ contextId: any;
45
+ token: any;
46
+ } | null;
47
+ /**
48
+ * Creates a Mongoose middleware function for a specific model
49
+ * @param recordType - The type of record (e.g., 'applications', 'products', 'tasks')
50
+ * @returns Mongoose middleware function
51
+ */
52
+ createMiddleware(recordType: string): {
53
+ postSave: (this: any, doc: any, next: Function) => Promise<void>;
54
+ postRemove: (this: any, doc: any, next: Function) => Promise<void>;
55
+ };
56
+ /**
57
+ * Handles a workflow trigger event
58
+ * @param event - The workflow trigger event
59
+ * @param document - The document that triggered the event
60
+ */
61
+ handleEvent(event: WorkflowTriggerEvent, document: any): Promise<void>;
62
+ /**
63
+ * Processes a single workflow trigger
64
+ * @param trigger - The workflow trigger configuration
65
+ * @param document - The document that triggered the event
66
+ * @param event - The workflow trigger event
67
+ */
68
+ private processTrigger;
69
+ /**
70
+ * Evaluates a condition against a document
71
+ * @param condition - The condition string to evaluate
72
+ * @param document - The document to evaluate against
73
+ * @returns true if condition is met
74
+ */
75
+ private evaluateCondition;
76
+ /**
77
+ * Extracts metadata from document and event
78
+ * @param document - The document
79
+ * @param event - The event
80
+ * @returns Metadata object
81
+ */
82
+ private extractMetadata;
83
+ /**
84
+ * Manually trigger a workflow for a specific document
85
+ * @param triggerKey - The trigger key to use
86
+ * @param document - The document to process
87
+ * @param recordType - The record type
88
+ */
89
+ manualTrigger(triggerKey: string, document: any, recordType: string): Promise<void>;
90
+ }
91
+ /**
92
+ * Factory function to create workflow middleware for a model
93
+ * @param recordType - The type of record (e.g., 'applications', 'products', 'tasks')
94
+ * @param options - Optional workflow middleware options (overrides env vars)
95
+ * @returns Mongoose middleware functions
96
+ */
97
+ export declare function createWorkflowMiddleware(recordType: string, options?: Partial<WorkflowMiddlewareOptions>): {
98
+ postSave: (this: any, doc: any, next: Function) => Promise<void>;
99
+ postRemove: (this: any, doc: any, next: Function) => Promise<void>;
100
+ };
101
+ /**
102
+ * Utility function to apply workflow middleware to a Mongoose schema
103
+ * @param schema - The Mongoose schema
104
+ * @param recordType - The type of record
105
+ * @param options - Optional workflow middleware options (overrides env vars)
106
+ */
107
+ export declare function applyWorkflowMiddleware(schema: mongoose.Schema, recordType: string, options?: Partial<WorkflowMiddlewareOptions>): void;
108
+ //# sourceMappingURL=workflow.middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.middleware.d.ts","sourceRoot":"","sources":["../../shared/workflow.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,OAAO,EACH,oBAAoB,EAEpB,yBAAyB,EAC5B,MAAM,4BAA4B,CAAC;AAIpC,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,OAAO,CAA4B;gBAE/B,OAAO,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAYxD;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAS/B;;;OAGG;IACH,UAAU;;;;IAWV;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM;yBAGK,GAAG,OAAO,GAAG,QAAQ,QAAQ;2BAiB3B,GAAG,OAAO,GAAG,QAAQ,QAAQ;;IAkBvE;;;;OAIG;IACG,WAAW,CAAC,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B5E;;;;;OAKG;YACW,cAAc;IA0D5B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAavB;;;;;OAKG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAS5F;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC;;;EAGxG;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,QAShI"}
@@ -0,0 +1,246 @@
1
+ import WorkflowTriggerModel from './workflow-trigger.model.js';
2
+ import { WorkflowService } from './workflow.service.js';
3
+ // @ts-ignore - No type declarations available for @dynamatix/cat-shared/services
4
+ import { getContext as getSharedContext } from '@dynamatix/cat-shared/services';
5
+ import { workflowLog, workflowWarn, workflowError } from './workflow.logger.js';
6
+ export class WorkflowMiddleware {
7
+ constructor(options) {
8
+ // Read configuration from environment variables with fallbacks
9
+ this.options = {
10
+ workflowApiUrl: process.env.WORKFLOW_API_URL || 'https://your-workflow-api.com/api/v1/workflows/execute',
11
+ timeout: parseInt(process.env.WORKFLOW_TIMEOUT || '30000'),
12
+ retryAttempts: parseInt(process.env.WORKFLOW_RETRY_ATTEMPTS || '3'),
13
+ retryDelay: parseInt(process.env.WORKFLOW_RETRY_DELAY || '1000'),
14
+ ...options // Allow override of specific options
15
+ };
16
+ this.workflowService = new WorkflowService(this.options);
17
+ }
18
+ /**
19
+ * Safely gets the WorkflowTrigger model, handling potential registration issues
20
+ */
21
+ getWorkflowTriggerModel() {
22
+ try {
23
+ return WorkflowTriggerModel;
24
+ }
25
+ catch (error) {
26
+ workflowError('Error accessing WorkflowTrigger model:', error);
27
+ throw new Error('WorkflowTrigger model is not properly registered');
28
+ }
29
+ }
30
+ /**
31
+ * Gets the current request context including application_id and token
32
+ * @returns The current context object or null if not available
33
+ */
34
+ getContext() {
35
+ const context = getSharedContext();
36
+ if (context) {
37
+ return {
38
+ contextId: context.contextId,
39
+ token: context.token
40
+ };
41
+ }
42
+ return null;
43
+ }
44
+ /**
45
+ * Creates a Mongoose middleware function for a specific model
46
+ * @param recordType - The type of record (e.g., 'applications', 'products', 'tasks')
47
+ * @returns Mongoose middleware function
48
+ */
49
+ createMiddleware(recordType) {
50
+ return {
51
+ // Post-save middleware for create and update operations
52
+ postSave: async function (doc, next) {
53
+ try {
54
+ workflowLog('Post-save middleware for create and update operations');
55
+ const middleware = new WorkflowMiddleware(this.options || {});
56
+ await middleware.handleEvent({
57
+ recordType,
58
+ action: doc.isNew ? 'created' : 'updated',
59
+ triggerKey: `${recordType}.${doc.isNew ? 'created' : 'updated'}`
60
+ }, doc);
61
+ }
62
+ catch (error) {
63
+ workflowError('Workflow middleware error:', error);
64
+ // Don't throw error to avoid breaking the main operation
65
+ }
66
+ next();
67
+ }.bind(this),
68
+ // Post-remove middleware for delete operations
69
+ postRemove: async function (doc, next) {
70
+ try {
71
+ workflowLog('Post-remove middleware for delete operations');
72
+ const middleware = new WorkflowMiddleware(this.options || {});
73
+ await middleware.handleEvent({
74
+ recordType,
75
+ action: 'deleted',
76
+ triggerKey: `${recordType}.deleted`
77
+ }, doc);
78
+ }
79
+ catch (error) {
80
+ workflowError('Workflow middleware error:', error);
81
+ // Don't throw error to avoid breaking the main operation
82
+ }
83
+ next();
84
+ }.bind(this)
85
+ };
86
+ }
87
+ /**
88
+ * Handles a workflow trigger event
89
+ * @param event - The workflow trigger event
90
+ * @param document - The document that triggered the event
91
+ */
92
+ async handleEvent(event, document) {
93
+ try {
94
+ // Find active triggers for this event
95
+ workflowLog('Finding active triggers for this event');
96
+ const WorkflowTrigger = this.getWorkflowTriggerModel();
97
+ const triggers = await WorkflowTrigger.find({
98
+ triggerKey: event.triggerKey,
99
+ isActive: true
100
+ });
101
+ if (triggers.length === 0) {
102
+ workflowLog(`No active triggers found for ${event.triggerKey}`);
103
+ return;
104
+ }
105
+ // Process each trigger
106
+ workflowLog('Processing each trigger');
107
+ for (const trigger of triggers) {
108
+ await this.processTrigger(trigger, document, event);
109
+ }
110
+ }
111
+ catch (error) {
112
+ workflowError(`Error handling workflow event ${event.triggerKey}:`, error);
113
+ }
114
+ }
115
+ /**
116
+ * Processes a single workflow trigger
117
+ * @param trigger - The workflow trigger configuration
118
+ * @param document - The document that triggered the event
119
+ * @param event - The workflow trigger event
120
+ */
121
+ async processTrigger(trigger, document, event) {
122
+ try {
123
+ workflowLog('Processing trigger');
124
+ // Check if condition is met (if specified)
125
+ if (trigger.condition && !this.evaluateCondition(trigger.condition, document)) {
126
+ workflowLog(`Condition not met for trigger ${trigger.triggerKey}`);
127
+ return;
128
+ }
129
+ // Extract variables from document
130
+ workflowLog('Extracting variables from document');
131
+ workflowLog(` Required variables: ${JSON.stringify(trigger.requiredVariables)}`);
132
+ workflowLog(` Optional variables: ${JSON.stringify(trigger.optionalVariables || [])}`);
133
+ const variables = this.workflowService.extractVariables(trigger.requiredVariables, trigger.optionalVariables || [], document);
134
+ workflowLog(` Extracted variables: ${JSON.stringify(variables, null, 2)}`);
135
+ // Validate required variables
136
+ if (!this.workflowService.validateRequiredVariables(trigger.requiredVariables, variables)) {
137
+ workflowWarn(`❌ Required variables missing for trigger ${trigger.triggerKey}`);
138
+ workflowWarn(` Required: ${JSON.stringify(trigger.requiredVariables)}`);
139
+ workflowWarn(` Got: ${JSON.stringify(variables)}`);
140
+ return;
141
+ }
142
+ // Add metadata
143
+ const metadata = this.extractMetadata(document, event, trigger.parentKey);
144
+ workflowLog(` Metadata: ${JSON.stringify(metadata, null, 2)}`);
145
+ const enrichedVariables = {
146
+ ...variables,
147
+ ...metadata
148
+ };
149
+ // Create workflow payload
150
+ const payload = {
151
+ workflowKey: trigger.workflowKey,
152
+ version: 1, // Default version, could be made configurable
153
+ variables: enrichedVariables
154
+ };
155
+ workflowLog('📦 Workflow payload:', JSON.stringify(payload, null, 2));
156
+ // Get token from context
157
+ const context = this.getContext();
158
+ const token = context?.token;
159
+ // Trigger workflow in background
160
+ await this.workflowService.triggerWorkflow(payload, token);
161
+ workflowLog(`Workflow ${trigger.workflowKey} triggered for ${event.triggerKey}`);
162
+ }
163
+ catch (error) {
164
+ workflowError(`Error processing trigger ${trigger.triggerKey}:`, error);
165
+ }
166
+ }
167
+ /**
168
+ * Evaluates a condition against a document
169
+ * @param condition - The condition string to evaluate
170
+ * @param document - The document to evaluate against
171
+ * @returns true if condition is met
172
+ */
173
+ evaluateCondition(condition, document) {
174
+ try {
175
+ // Simple condition evaluation - could be enhanced with a proper expression parser
176
+ // For now, supporting basic field checks like "status === 'active'"
177
+ if (condition.includes('===')) {
178
+ const [field, value] = condition.split('===').map(s => s.trim());
179
+ const fieldValue = this.workflowService['getNestedValue'](document, field);
180
+ return fieldValue === value.replace(/['"]/g, '');
181
+ }
182
+ // Default to true if condition format is not recognized
183
+ return true;
184
+ }
185
+ catch (error) {
186
+ workflowError('Error evaluating condition:', error);
187
+ return false;
188
+ }
189
+ }
190
+ /**
191
+ * Extracts metadata from document and event
192
+ * @param document - The document
193
+ * @param event - The event
194
+ * @returns Metadata object
195
+ */
196
+ extractMetadata(document, event, parentKey) {
197
+ const context = this.getContext();
198
+ return {
199
+ source: event.recordType,
200
+ action: event.action,
201
+ triggerKey: event.triggerKey,
202
+ sourceId: document._id?.toString(),
203
+ parentSourceId: parentKey ? document[parentKey] : null,
204
+ timestamp: new Date().toISOString(),
205
+ contextId: context?.contextId,
206
+ };
207
+ }
208
+ /**
209
+ * Manually trigger a workflow for a specific document
210
+ * @param triggerKey - The trigger key to use
211
+ * @param document - The document to process
212
+ * @param recordType - The record type
213
+ */
214
+ async manualTrigger(triggerKey, document, recordType) {
215
+ const event = {
216
+ recordType,
217
+ action: 'manual',
218
+ triggerKey
219
+ };
220
+ await this.handleEvent(event, document);
221
+ }
222
+ }
223
+ /**
224
+ * Factory function to create workflow middleware for a model
225
+ * @param recordType - The type of record (e.g., 'applications', 'products', 'tasks')
226
+ * @param options - Optional workflow middleware options (overrides env vars)
227
+ * @returns Mongoose middleware functions
228
+ */
229
+ export function createWorkflowMiddleware(recordType, options) {
230
+ const middleware = new WorkflowMiddleware(options);
231
+ return middleware.createMiddleware(recordType);
232
+ }
233
+ /**
234
+ * Utility function to apply workflow middleware to a Mongoose schema
235
+ * @param schema - The Mongoose schema
236
+ * @param recordType - The type of record
237
+ * @param options - Optional workflow middleware options (overrides env vars)
238
+ */
239
+ export function applyWorkflowMiddleware(schema, recordType, options) {
240
+ const middleware = createWorkflowMiddleware(recordType, options);
241
+ // Apply post-save middleware
242
+ schema.post('save', middleware.postSave);
243
+ // Apply post-remove middleware
244
+ schema.post(/^delete/, middleware.postRemove);
245
+ schema.post('findOneAndDelete', middleware.postRemove);
246
+ }
@@ -0,0 +1,46 @@
1
+ /// <reference path="../value-objects/pound.d.ts" />
2
+ /// <reference path="../value-objects/account-number.d.ts" />
3
+ /// <reference path="../value-objects/sort-code.d.ts" />
4
+ /// <reference types="mongoose/types/aggregate.js" />
5
+ /// <reference types="mongoose/types/callback.js" />
6
+ /// <reference types="mongoose/types/collection.js" />
7
+ /// <reference types="mongoose/types/connection.js" />
8
+ /// <reference types="mongoose/types/cursor.js" />
9
+ /// <reference types="mongoose/types/document.js" />
10
+ /// <reference types="mongoose/types/error.js" />
11
+ /// <reference types="mongoose/types/expressions.js" />
12
+ /// <reference types="mongoose/types/helpers.js" />
13
+ /// <reference types="mongoose/types/middlewares.js" />
14
+ /// <reference types="mongoose/types/indexes.js" />
15
+ /// <reference types="mongoose/types/models.js" />
16
+ /// <reference types="mongoose/types/mongooseoptions.js" />
17
+ /// <reference types="mongoose/types/pipelinestage.js" />
18
+ /// <reference types="mongoose/types/populate.js" />
19
+ /// <reference types="mongoose/types/query.js" />
20
+ /// <reference types="mongoose/types/schemaoptions.js" />
21
+ /// <reference types="mongoose/types/session.js" />
22
+ /// <reference types="mongoose/types/types.js" />
23
+ /// <reference types="mongoose/types/utility.js" />
24
+ /// <reference types="mongoose/types/validation.js" />
25
+ /// <reference types="mongoose/types/virtuals.js" />
26
+ /// <reference types="mongoose/types/schematypes.js" />
27
+ /// <reference types="mongoose/types/inferschematype.js" />
28
+ /// <reference types="mongoose/types/inferrawdoctype.js" />
29
+ import mongoose from 'mongoose';
30
+ /**
31
+ * Workflow plugin that automatically applies workflow middleware to schemas
32
+ * This plugin reads the record type from schema options and applies the appropriate middleware
33
+ */
34
+ export declare function workflowPlugin(schema: mongoose.Schema, options: any): void;
35
+ /**
36
+ * Utility function to register the workflow plugin globally
37
+ * This will apply workflow middleware to all schemas automatically
38
+ */
39
+ export declare function registerWorkflowPlugin(): void;
40
+ /**
41
+ * Utility function to apply workflow plugin to a specific schema with custom record type
42
+ * @param schema - The Mongoose schema
43
+ * @param recordType - The record type (e.g., 'applications', 'applicants')
44
+ */
45
+ export declare function applyWorkflowPlugin(schema: mongoose.Schema, recordType: string): void;
46
+ //# sourceMappingURL=workflow.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.plugin.d.ts","sourceRoot":"","sources":["../../shared/workflow.plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAIhC;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,QAyInE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,SAGrC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,QAE9E"}