@dynamatix/gb-schemas 2.17.13 → 2.20.1

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 (257) hide show
  1. package/dist/applicants/applicant-additional-income.model.d.ts +1 -0
  2. package/dist/applicants/applicant-additional-income.model.d.ts.map +1 -1
  3. package/dist/applicants/applicant-additional-income.type.d.ts +1 -0
  4. package/dist/applicants/applicant-additional-income.type.d.ts.map +1 -1
  5. package/dist/applicants/applicant-commitment-creditCard.model.d.ts +1 -0
  6. package/dist/applicants/applicant-commitment-creditCard.model.d.ts.map +1 -1
  7. package/dist/applicants/applicant-commitment-loan.model.d.ts +1 -0
  8. package/dist/applicants/applicant-commitment-loan.model.d.ts.map +1 -1
  9. package/dist/applicants/applicant-commitment-mortgage.model.d.ts +1 -0
  10. package/dist/applicants/applicant-commitment-mortgage.model.d.ts.map +1 -1
  11. package/dist/applicants/applicant-commitment-residence.model.d.ts +1 -0
  12. package/dist/applicants/applicant-commitment-residence.model.d.ts.map +1 -1
  13. package/dist/applicants/applicant-commitment-secureLoan.model.d.ts +1 -0
  14. package/dist/applicants/applicant-commitment-secureLoan.model.d.ts.map +1 -1
  15. package/dist/applicants/applicant-commitment-unsecuredLoan.model.d.ts +1 -0
  16. package/dist/applicants/applicant-commitment-unsecuredLoan.model.d.ts.map +1 -1
  17. package/dist/applicants/applicant-credit-data.model.d.ts +1 -0
  18. package/dist/applicants/applicant-credit-data.model.d.ts.map +1 -1
  19. package/dist/applicants/applicant-credit-profile.model.d.ts +1 -0
  20. package/dist/applicants/applicant-credit-profile.model.d.ts.map +1 -1
  21. package/dist/applicants/applicant-credit-report.model.d.ts +1 -0
  22. package/dist/applicants/applicant-credit-report.model.d.ts.map +1 -1
  23. package/dist/applicants/applicant-credit-report.type.d.ts +1 -0
  24. package/dist/applicants/applicant-credit-report.type.d.ts.map +1 -1
  25. package/dist/applicants/applicant-employment-income.model.d.ts +1 -0
  26. package/dist/applicants/applicant-employment-income.model.d.ts.map +1 -1
  27. package/dist/applicants/applicant-employment-income.type.d.ts +1 -0
  28. package/dist/applicants/applicant-employment-income.type.d.ts.map +1 -1
  29. package/dist/applicants/applicant-employment.model.d.ts +1 -0
  30. package/dist/applicants/applicant-employment.model.d.ts.map +1 -1
  31. package/dist/applicants/applicant-expenditure.model.d.ts +1 -0
  32. package/dist/applicants/applicant-expenditure.model.d.ts.map +1 -1
  33. package/dist/applicants/applicant-expenditure.type.d.ts +1 -0
  34. package/dist/applicants/applicant-expenditure.type.d.ts.map +1 -1
  35. package/dist/applicants/applicant-income-settings.model.d.ts +1 -0
  36. package/dist/applicants/applicant-income-settings.model.d.ts.map +1 -1
  37. package/dist/applicants/applicant-income-settings.type.d.ts +1 -0
  38. package/dist/applicants/applicant-income-settings.type.d.ts.map +1 -1
  39. package/dist/applicants/applicant-income-summary.model.d.ts +1 -0
  40. package/dist/applicants/applicant-income-summary.model.d.ts.map +1 -1
  41. package/dist/applicants/applicant-income-summary.type.d.ts +1 -0
  42. package/dist/applicants/applicant-income-summary.type.d.ts.map +1 -1
  43. package/dist/applicants/applicant-large-exposure.model.d.ts +1 -0
  44. package/dist/applicants/applicant-large-exposure.model.d.ts.map +1 -1
  45. package/dist/applicants/applicant-large-exposure.type.d.ts +1 -0
  46. package/dist/applicants/applicant-large-exposure.type.d.ts.map +1 -1
  47. package/dist/applicants/applicant-pension-income.model.d.ts +1 -0
  48. package/dist/applicants/applicant-pension-income.model.d.ts.map +1 -1
  49. package/dist/applicants/applicant-pension-income.type.d.ts +1 -0
  50. package/dist/applicants/applicant-pension-income.type.d.ts.map +1 -1
  51. package/dist/applicants/applicant-property-income.model.d.ts +1 -0
  52. package/dist/applicants/applicant-property-income.model.d.ts.map +1 -1
  53. package/dist/applicants/applicant-property-income.type.d.ts +1 -0
  54. package/dist/applicants/applicant-property-income.type.d.ts.map +1 -1
  55. package/dist/applicants/applicant-risk-narrative.model.d.ts +1 -0
  56. package/dist/applicants/applicant-risk-narrative.model.d.ts.map +1 -1
  57. package/dist/applicants/applicant-self-employed-income.model.d.ts +1 -0
  58. package/dist/applicants/applicant-self-employed-income.model.d.ts.map +1 -1
  59. package/dist/applicants/applicant-self-employed-income.type.d.ts +1 -0
  60. package/dist/applicants/applicant-self-employed-income.type.d.ts.map +1 -1
  61. package/dist/applicants/applicant-self-employment.model.d.ts +1 -0
  62. package/dist/applicants/applicant-self-employment.model.d.ts.map +1 -1
  63. package/dist/applicants/applicant-sole-trader-income.model.d.ts +1 -0
  64. package/dist/applicants/applicant-sole-trader-income.model.d.ts.map +1 -1
  65. package/dist/applicants/applicant-sole-trader-income.type.d.ts +1 -0
  66. package/dist/applicants/applicant-sole-trader-income.type.d.ts.map +1 -1
  67. package/dist/applicants/applicant-uk-tax-credits.model.d.ts +1 -0
  68. package/dist/applicants/applicant-uk-tax-credits.model.d.ts.map +1 -1
  69. package/dist/applicants/applicant-uk-tax-credits.type.d.ts +1 -0
  70. package/dist/applicants/applicant-uk-tax-credits.type.d.ts.map +1 -1
  71. package/dist/applicants/applicant-welcome-call.model.d.ts +1 -0
  72. package/dist/applicants/applicant-welcome-call.model.d.ts.map +1 -1
  73. package/dist/applicants/applicant-welcome-call.type.d.ts +1 -0
  74. package/dist/applicants/applicant-welcome-call.type.d.ts.map +1 -1
  75. package/dist/applicants/applicant.model.d.ts +1 -54
  76. package/dist/applicants/applicant.model.d.ts.map +1 -1
  77. package/dist/applicants/applicant.model.js +33 -33
  78. package/dist/applicants/applicant.type.d.ts +1 -1
  79. package/dist/applicants/applicant.type.d.ts.map +1 -1
  80. package/dist/applications/application-audit.model.d.ts +1 -0
  81. package/dist/applications/application-audit.model.d.ts.map +1 -1
  82. package/dist/applications/application-checklist-Item.model.d.ts +1 -0
  83. package/dist/applications/application-checklist-Item.model.d.ts.map +1 -1
  84. package/dist/applications/application-company-model.d.ts +1 -0
  85. package/dist/applications/application-company-model.d.ts.map +1 -1
  86. package/dist/applications/application-credit-profile.model.d.ts +1 -0
  87. package/dist/applications/application-credit-profile.model.d.ts.map +1 -1
  88. package/dist/applications/application-direct-debit.model.d.ts +4 -3
  89. package/dist/applications/application-direct-debit.model.d.ts.map +1 -1
  90. package/dist/applications/application-direct-debit.model.js +20 -10
  91. package/dist/applications/application-direct-debit.type.d.ts +1 -0
  92. package/dist/applications/application-direct-debit.type.d.ts.map +1 -1
  93. package/dist/applications/application-euc.model.d.ts +1 -0
  94. package/dist/applications/application-euc.model.d.ts.map +1 -1
  95. package/dist/applications/application-euc.type.d.ts +1 -0
  96. package/dist/applications/application-euc.type.d.ts.map +1 -1
  97. package/dist/applications/application-fieldconfig.model.d.ts +1 -0
  98. package/dist/applications/application-fieldconfig.model.d.ts.map +1 -1
  99. package/dist/applications/application-illustration-model.d.ts +1 -0
  100. package/dist/applications/application-illustration-model.d.ts.map +1 -1
  101. package/dist/applications/application-legal.model.d.ts +1 -0
  102. package/dist/applications/application-legal.model.d.ts.map +1 -1
  103. package/dist/applications/application-mortgage.model.d.ts +1 -0
  104. package/dist/applications/application-mortgage.model.d.ts.map +1 -1
  105. package/dist/applications/application-mortgage.type.d.ts +1 -0
  106. package/dist/applications/application-mortgage.type.d.ts.map +1 -1
  107. package/dist/applications/application-note.model.d.ts +1 -0
  108. package/dist/applications/application-note.model.d.ts.map +1 -1
  109. package/dist/applications/application-note.type.d.ts +1 -0
  110. package/dist/applications/application-note.type.d.ts.map +1 -1
  111. package/dist/applications/application-offer.model.d.ts +1 -0
  112. package/dist/applications/application-offer.model.d.ts.map +1 -1
  113. package/dist/applications/application-offer.type.d.ts +1 -0
  114. package/dist/applications/application-offer.type.d.ts.map +1 -1
  115. package/dist/applications/application-onboarding.model.d.ts +1 -0
  116. package/dist/applications/application-onboarding.model.d.ts.map +1 -1
  117. package/dist/applications/application-product.model.d.ts +1 -0
  118. package/dist/applications/application-product.model.d.ts.map +1 -1
  119. package/dist/applications/application-product.type.d.ts +1 -0
  120. package/dist/applications/application-product.type.d.ts.map +1 -1
  121. package/dist/applications/application-productfeatures.model.d.ts +1 -0
  122. package/dist/applications/application-productfeatures.model.d.ts.map +1 -1
  123. package/dist/applications/application-productfeatures.type.d.ts +1 -0
  124. package/dist/applications/application-productfeatures.type.d.ts.map +1 -1
  125. package/dist/applications/application-rationale.model.d.ts +1 -0
  126. package/dist/applications/application-rationale.model.d.ts.map +1 -1
  127. package/dist/applications/application-rationale.type.d.ts +1 -0
  128. package/dist/applications/application-rationale.type.d.ts.map +1 -1
  129. package/dist/applications/application-risk-narrative.model.d.ts +1 -0
  130. package/dist/applications/application-risk-narrative.model.d.ts.map +1 -1
  131. package/dist/applications/application-valuation-report.model.d.ts +1 -0
  132. package/dist/applications/application-valuation-report.model.d.ts.map +1 -1
  133. package/dist/applications/application-valuation-report.type.d.ts +1 -0
  134. package/dist/applications/application-valuation-report.type.d.ts.map +1 -1
  135. package/dist/applications/application-valuation.model.d.ts +1 -0
  136. package/dist/applications/application-valuation.model.d.ts.map +1 -1
  137. package/dist/applications/application-valuation.type.d.ts +1 -0
  138. package/dist/applications/application-valuation.type.d.ts.map +1 -1
  139. package/dist/applications/application.model.d.ts +1 -0
  140. package/dist/applications/application.model.d.ts.map +1 -1
  141. package/dist/applications/applications-task.model.d.ts +1 -0
  142. package/dist/applications/applications-task.model.d.ts.map +1 -1
  143. package/dist/applications/applications-task.type.d.ts +1 -0
  144. package/dist/applications/applications-task.type.d.ts.map +1 -1
  145. package/dist/applications/broker.model.d.ts +1 -0
  146. package/dist/applications/broker.model.d.ts.map +1 -1
  147. package/dist/applications/broker.type.d.ts +1 -0
  148. package/dist/applications/broker.type.d.ts.map +1 -1
  149. package/dist/applications/solicitor.model.d.ts +1 -0
  150. package/dist/applications/solicitor.model.d.ts.map +1 -1
  151. package/dist/applications/solicitor.type.d.ts +1 -0
  152. package/dist/applications/solicitor.type.d.ts.map +1 -1
  153. package/dist/product-catalogues/product-catalogue.model.d.ts +1 -0
  154. package/dist/product-catalogues/product-catalogue.model.d.ts.map +1 -1
  155. package/dist/product-catalogues/product-definitions.model.d.ts +1 -0
  156. package/dist/product-catalogues/product-definitions.model.d.ts.map +1 -1
  157. package/dist/product-catalogues/product-definitions.type.d.ts +1 -0
  158. package/dist/product-catalogues/product-definitions.type.d.ts.map +1 -1
  159. package/dist/product-catalogues/product-variant.model.d.ts +1 -0
  160. package/dist/product-catalogues/product-variant.model.d.ts.map +1 -1
  161. package/dist/product-catalogues/product-variant.type.d.ts +1 -0
  162. package/dist/product-catalogues/product-variant.type.d.ts.map +1 -1
  163. package/dist/properties/property.model.d.ts +1 -0
  164. package/dist/properties/property.model.d.ts.map +1 -1
  165. package/dist/properties/security.model.d.ts +1 -0
  166. package/dist/properties/security.model.d.ts.map +1 -1
  167. package/dist/shared/alert.model.d.ts +1 -0
  168. package/dist/shared/alert.model.d.ts.map +1 -1
  169. package/dist/shared/api-log.model.d.ts +1 -0
  170. package/dist/shared/api-log.model.d.ts.map +1 -1
  171. package/dist/shared/api-performance.model.d.ts +1 -0
  172. package/dist/shared/api-performance.model.d.ts.map +1 -1
  173. package/dist/shared/api-performance.type.d.ts +1 -0
  174. package/dist/shared/api-performance.type.d.ts.map +1 -1
  175. package/dist/shared/apprivo-sync-journey.model.d.ts +1 -0
  176. package/dist/shared/apprivo-sync-journey.model.d.ts.map +1 -1
  177. package/dist/shared/checklist.model.d.ts +1 -0
  178. package/dist/shared/checklist.model.d.ts.map +1 -1
  179. package/dist/shared/encryption/encrypted-field-map.d.ts +146 -0
  180. package/dist/shared/encryption/encrypted-field-map.d.ts.map +1 -0
  181. package/dist/shared/encryption/encrypted-field-map.js +130 -0
  182. package/dist/shared/encryption/encryption-filter.guard.d.ts +69 -0
  183. package/dist/shared/encryption/encryption-filter.guard.d.ts.map +1 -0
  184. package/dist/shared/encryption/encryption-filter.guard.js +103 -0
  185. package/dist/shared/encryption/encryption.config.d.ts +55 -0
  186. package/dist/shared/encryption/encryption.config.d.ts.map +1 -0
  187. package/dist/shared/encryption/encryption.config.js +76 -0
  188. package/dist/shared/encryption/encryption.init.d.ts +66 -0
  189. package/dist/shared/encryption/encryption.init.d.ts.map +1 -0
  190. package/dist/shared/encryption/encryption.init.js +86 -0
  191. package/dist/shared/encryption/encryption.plugin.d.ts +225 -0
  192. package/dist/shared/encryption/encryption.plugin.d.ts.map +1 -0
  193. package/dist/shared/encryption/encryption.plugin.js +372 -0
  194. package/dist/shared/encryption/encryption.service.d.ts +110 -0
  195. package/dist/shared/encryption/encryption.service.d.ts.map +1 -0
  196. package/dist/shared/encryption/encryption.service.js +151 -0
  197. package/dist/shared/encryption/index.d.ts +8 -0
  198. package/dist/shared/encryption/index.d.ts.map +1 -0
  199. package/dist/shared/encryption/index.js +6 -0
  200. package/dist/shared/index.d.ts +2 -0
  201. package/dist/shared/index.d.ts.map +1 -1
  202. package/dist/shared/index.js +2 -0
  203. package/dist/shared/job-run.model.d.ts +1 -0
  204. package/dist/shared/job-run.model.d.ts.map +1 -1
  205. package/dist/shared/job-setting.model.d.ts +1 -0
  206. package/dist/shared/job-setting.model.d.ts.map +1 -1
  207. package/dist/shared/lookup-group.model.d.ts +1 -0
  208. package/dist/shared/lookup-group.model.d.ts.map +1 -1
  209. package/dist/shared/lookup.model.d.ts +7 -0
  210. package/dist/shared/lookup.model.d.ts.map +1 -1
  211. package/dist/shared/lookup.model.js +5 -0
  212. package/dist/shared/schema-doc.model.d.ts +1 -0
  213. package/dist/shared/schema-doc.model.d.ts.map +1 -1
  214. package/dist/shared/system-parameter.model.d.ts +1 -0
  215. package/dist/shared/system-parameter.model.d.ts.map +1 -1
  216. package/dist/shared/task-document.model.d.ts +1 -0
  217. package/dist/shared/task-document.model.d.ts.map +1 -1
  218. package/dist/shared/task.model.d.ts +1 -0
  219. package/dist/shared/task.model.d.ts.map +1 -1
  220. package/dist/shared/webhook-event.model.d.ts +1 -0
  221. package/dist/shared/webhook-event.model.d.ts.map +1 -1
  222. package/dist/shared/workflow-trigger.model.d.ts +1 -0
  223. package/dist/shared/workflow-trigger.model.d.ts.map +1 -1
  224. package/dist/shared/workflow-trigger.type.d.ts +1 -0
  225. package/dist/shared/workflow-trigger.type.d.ts.map +1 -1
  226. package/dist/shared/workflow.middleware.d.ts +1 -0
  227. package/dist/shared/workflow.middleware.d.ts.map +1 -1
  228. package/dist/shared/workflow.plugin.d.ts +1 -0
  229. package/dist/shared/workflow.plugin.d.ts.map +1 -1
  230. package/dist/types/base.types.d.ts +1 -0
  231. package/dist/types/base.types.d.ts.map +1 -1
  232. package/dist/underwriter/underwriter.model.d.ts +1 -0
  233. package/dist/underwriter/underwriter.model.d.ts.map +1 -1
  234. package/dist/users/auth-log.model.d.ts +1 -0
  235. package/dist/users/auth-log.model.d.ts.map +1 -1
  236. package/dist/users/permission.model.d.ts +1 -0
  237. package/dist/users/permission.model.d.ts.map +1 -1
  238. package/dist/users/role-group.model.d.ts +1 -0
  239. package/dist/users/role-group.model.d.ts.map +1 -1
  240. package/dist/users/role.model.d.ts +1 -0
  241. package/dist/users/role.model.d.ts.map +1 -1
  242. package/dist/users/tasks.model.d.ts +1 -0
  243. package/dist/users/tasks.model.d.ts.map +1 -1
  244. package/dist/users/user.model.d.ts +1 -0
  245. package/dist/users/user.model.d.ts.map +1 -1
  246. package/dist/users/user.type.d.ts +1 -0
  247. package/dist/users/user.type.d.ts.map +1 -1
  248. package/dist/value-objects/account-number.d.ts +1 -0
  249. package/dist/value-objects/account-number.d.ts.map +1 -1
  250. package/dist/value-objects/pound.d.ts +1 -0
  251. package/dist/value-objects/pound.d.ts.map +1 -1
  252. package/dist/value-objects/sort-code.d.ts +1 -0
  253. package/dist/value-objects/sort-code.d.ts.map +1 -1
  254. package/package.json +6 -3
  255. package/dist/applicants/applicant-direct-debit.model.d.ts +0 -86
  256. package/dist/applicants/applicant-direct-debit.model.d.ts.map +0 -1
  257. package/dist/applicants/applicant-direct-debit.model.js +0 -16
@@ -1 +1 @@
1
- {"version":3,"file":"property.model.d.ts","sourceRoot":"","sources":["../../properties/property.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAe,MAAM,wBAAwB,CAAC;AA8J5D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA6C,CAAC;AACjE,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"property.model.d.ts","sourceRoot":"","sources":["../../properties/property.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAe,MAAM,wBAAwB,CAAC;AA8J5D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA6C,CAAC;AACjE,eAAe,aAAa,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /// <reference path="../value-objects/pound.d.ts" />
2
2
  /// <reference path="../value-objects/account-number.d.ts" />
3
+ /// <reference path="../shared/encryption/encrypted-field-map.d.ts" />
3
4
  /// <reference path="../value-objects/sort-code.d.ts" />
4
5
  /// <reference types="mongoose/types/aggregate" />
5
6
  /// <reference types="mongoose/types/callback" />
@@ -1 +1 @@
1
- {"version":3,"file":"security.model.d.ts","sourceRoot":"","sources":["../../properties/security.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,QAAQ,MAAM,UAAU,CAAC;AA6KhC,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA6C,CAAC;AACjE,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"security.model.d.ts","sourceRoot":"","sources":["../../properties/security.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,QAAQ,MAAM,UAAU,CAAC;AA6KhC,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA6C,CAAC;AACjE,eAAe,aAAa,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /// <reference path="../value-objects/pound.d.ts" />
2
2
  /// <reference path="../value-objects/account-number.d.ts" />
3
+ /// <reference path="encryption/encrypted-field-map.d.ts" />
3
4
  /// <reference path="../value-objects/sort-code.d.ts" />
4
5
  /// <reference types="mongoose/types/aggregate" />
5
6
  /// <reference types="mongoose/types/callback" />
@@ -1 +1 @@
1
- {"version":3,"file":"alert.model.d.ts","sourceRoot":"","sources":["../../shared/alert.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAyBhC,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAuC,CAAC;AAExD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"alert.model.d.ts","sourceRoot":"","sources":["../../shared/alert.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAyBhC,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAuC,CAAC;AAExD,eAAe,UAAU,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /// <reference path="../value-objects/pound.d.ts" />
2
2
  /// <reference path="../value-objects/account-number.d.ts" />
3
+ /// <reference path="encryption/encrypted-field-map.d.ts" />
3
4
  /// <reference path="../value-objects/sort-code.d.ts" />
4
5
  /// <reference types="mongoose/types/aggregate" />
5
6
  /// <reference types="mongoose/types/callback" />
@@ -1 +1 @@
1
- {"version":3,"file":"api-log.model.d.ts","sourceRoot":"","sources":["../../shared/api-log.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAyBhC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA0C,CAAC;AAE5D,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"api-log.model.d.ts","sourceRoot":"","sources":["../../shared/api-log.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAyBhC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA0C,CAAC;AAE5D,eAAe,WAAW,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /// <reference path="../value-objects/pound.d.ts" />
2
2
  /// <reference path="../value-objects/account-number.d.ts" />
3
+ /// <reference path="encryption/encrypted-field-map.d.ts" />
3
4
  /// <reference path="../value-objects/sort-code.d.ts" />
4
5
  /// <reference types="mongoose/types/aggregate" />
5
6
  /// <reference types="mongoose/types/callback" />
@@ -1 +1 @@
1
- {"version":3,"file":"api-performance.model.d.ts","sourceRoot":"","sources":["../../shared/api-performance.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,eAAe,MAAM,wBAAwB,CAAC;AAyBrD,QAAA,MAAM,sBAAsB;;;;OAAgF,CAAC;AAC7G,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"api-performance.model.d.ts","sourceRoot":"","sources":["../../shared/api-performance.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,eAAe,MAAM,wBAAwB,CAAC;AAyBrD,QAAA,MAAM,sBAAsB;;;;OAAgF,CAAC;AAC7G,eAAe,sBAAsB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /// <reference path="../value-objects/pound.d.ts" />
2
2
  /// <reference path="../value-objects/account-number.d.ts" />
3
+ /// <reference path="encryption/encrypted-field-map.d.ts" />
3
4
  /// <reference path="../value-objects/sort-code.d.ts" />
4
5
  /// <reference types="mongoose/types/aggregate" />
5
6
  /// <reference types="mongoose/types/callback" />
@@ -1 +1 @@
1
- {"version":3,"file":"api-performance.type.d.ts","sourceRoot":"","sources":["../../shared/api-performance.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-performance.type.d.ts","sourceRoot":"","sources":["../../shared/api-performance.type.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErE;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE9F;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;IAErC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,WAAW,EAAE,IAAI,CAAC;IAElB;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC;IAEnB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAwB,SAAQ,eAAe,EAAE,QAAQ;CAAG;AAE7E;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,YAAY,CAAC,EAAE;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE;QACZ,IAAI,CAAC,EAAE,IAAI,CAAC;QACZ,IAAI,CAAC,EAAE,IAAI,CAAC;KACb,CAAC;IACF,oBAAoB,CAAC,EAAE;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,IAAI,CAAC;QACZ,IAAI,CAAC,EAAE,IAAI,CAAC;KACb,CAAC;IACF,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,IAAI,CAAC;QACZ,IAAI,CAAC,EAAE,IAAI,CAAC;KACb,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,GAAG,CAAC,EAAE;QACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,UAAU,CAAC;QACpB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;KACvC,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,6BAA6B,CAAC,EAAE;SAC7B,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,MAAM;KACpC,CAAC;CACH;AAED,eAAe,eAAe,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /// <reference path="../value-objects/pound.d.ts" />
2
2
  /// <reference path="../value-objects/account-number.d.ts" />
3
+ /// <reference path="encryption/encrypted-field-map.d.ts" />
3
4
  /// <reference path="../value-objects/sort-code.d.ts" />
4
5
  /// <reference types="mongoose/types/aggregate" />
5
6
  /// <reference types="mongoose/types/callback" />
@@ -1 +1 @@
1
- {"version":3,"file":"apprivo-sync-journey.model.d.ts","sourceRoot":"","sources":["../../shared/apprivo-sync-journey.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAoBhC,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAiE,CAAC;AAC/F,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"apprivo-sync-journey.model.d.ts","sourceRoot":"","sources":["../../shared/apprivo-sync-journey.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAoBhC,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAiE,CAAC;AAC/F,eAAe,uBAAuB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /// <reference path="../value-objects/pound.d.ts" />
2
2
  /// <reference path="../value-objects/account-number.d.ts" />
3
+ /// <reference path="encryption/encrypted-field-map.d.ts" />
3
4
  /// <reference path="../value-objects/sort-code.d.ts" />
4
5
  /// <reference types="mongoose/types/aggregate" />
5
6
  /// <reference types="mongoose/types/callback" />
@@ -1 +1 @@
1
- {"version":3,"file":"checklist.model.d.ts","sourceRoot":"","sources":["../../shared/checklist.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAuChC,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA+C,CAAC;AAEpE,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"checklist.model.d.ts","sourceRoot":"","sources":["../../shared/checklist.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAuChC,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA+C,CAAC;AAEpE,eAAe,cAAc,CAAC"}
@@ -0,0 +1,146 @@
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 { Schema, Model } from 'mongoose';
30
+ /**
31
+ * Augments Mongoose's per-path options with the `ghEncrypt` annotation so a
32
+ * field is marked for encryption with exactly one line in its schema:
33
+ *
34
+ * ```ts
35
+ * firstName: { type: String, required: true, ghEncrypt: true }
36
+ * ```
37
+ */
38
+ declare module 'mongoose' {
39
+ interface SchemaTypeOptions<T> {
40
+ /**
41
+ * Marks this path for RANDOM-mode field-level encryption.
42
+ * Named `ghEncrypt` because Mongoose reserves `encrypt` for its own
43
+ * (Enterprise-only) CSFLE schema option.
44
+ */
45
+ ghEncrypt?: boolean;
46
+ /**
47
+ * Original BSON type of a `ghEncrypt` path, stashed by the plugin
48
+ * when it re-types the path to `Mixed` (ciphertext is Binary).
49
+ */
50
+ ghOriginalType?: string;
51
+ }
52
+ }
53
+ /** One encrypted path of a collection, as consumed by the plugin/backfill. */
54
+ export interface EncryptedFieldEntry {
55
+ /** Dot path of the field (array element paths have no numeric segment). */
56
+ path: string;
57
+ /** Encryption mode — always `random`; deterministic is not supported. */
58
+ mode: 'random';
59
+ /** Mongoose type instance name (String, Number, Date, …) for tooling. */
60
+ bsonType: string;
61
+ }
62
+ /** Physical collection name → encrypted field entries. */
63
+ export type EncryptedFieldMap = Record<string, EncryptedFieldEntry[]>;
64
+ /**
65
+ * Builds the encrypted-field map from `ghEncrypt: true` schema annotations.
66
+ *
67
+ * The map is the single source of truth consumed by the Mongoose encryption
68
+ * plugin (Enc-4), the backfill migration (Enc-6) and — via {@link toJson} —
69
+ * non-Mongoose consumers such as cat-workflow-engine's decrypt adapter.
70
+ *
71
+ * Validation is fail-loud at startup: an annotation on an indexed path, an
72
+ * ObjectId reference or `_id` throws immediately, because RANDOM ciphertext
73
+ * can never be queried, joined on, or indexed.
74
+ */
75
+ export declare class EncryptedFieldMapBuilder {
76
+ private constructor();
77
+ /**
78
+ * Collects all validated `ghEncrypt: true` paths of one schema, recursing
79
+ * into embedded subdocument schemas and subdocument arrays.
80
+ *
81
+ * @param schema - The Mongoose schema to scan.
82
+ * @param prefix - Path prefix used during recursion; omit at call sites.
83
+ * @returns Entries sorted in schema declaration order.
84
+ * @throws Error when an annotated path is indexed, unique, ObjectId or `_id`.
85
+ * @example
86
+ * ```ts
87
+ * const entries = EncryptedFieldMapBuilder.buildForSchema(applicantSchema);
88
+ * // → [{ path: 'firstName', mode: 'random', bsonType: 'String' }, …]
89
+ * ```
90
+ */
91
+ static buildForSchema(schema: Schema, prefix?: string): EncryptedFieldEntry[];
92
+ /**
93
+ * Builds the full map for a set of models, keyed by physical collection
94
+ * name. Models without any annotated field are omitted.
95
+ *
96
+ * @param models - Registered Mongoose models to scan.
97
+ * @returns Collection name → encrypted field entries.
98
+ * @example
99
+ * ```ts
100
+ * const map = EncryptedFieldMapBuilder.buildForModels([
101
+ * ApplicantModel, ApplicationDirectDebitModel
102
+ * ]);
103
+ * // → { applicants: […], application_directdebits: […] }
104
+ * ```
105
+ */
106
+ static buildForModels(models: Model<unknown>[]): EncryptedFieldMap;
107
+ /**
108
+ * Serialises a map as plain JSON for non-Mongoose consumers (e.g. the
109
+ * cat-workflow-engine decrypt-on-read adapter).
110
+ *
111
+ * @param map - Map produced by {@link buildForModels}.
112
+ * @returns Pretty-printed JSON string.
113
+ * @example
114
+ * ```ts
115
+ * fs.writeFileSync('encrypted-fields.json', EncryptedFieldMapBuilder.toJson(map));
116
+ * ```
117
+ */
118
+ static toJson(map: EncryptedFieldMap): string;
119
+ /**
120
+ * Fail-loud validation of a single annotated path.
121
+ *
122
+ * @param path - Full dot path of the annotated field.
123
+ * @param schemaType - The path's resolved schema type.
124
+ * @param schema - The owning schema (for schema-level index lookup).
125
+ * @throws Error describing exactly which rule the annotation violates.
126
+ * @example
127
+ * ```ts
128
+ * // internal use only — called by buildForSchema()
129
+ * ```
130
+ */
131
+ private static validatePath;
132
+ /**
133
+ * Detects path-level (`index`/`unique`) and schema-level index coverage.
134
+ *
135
+ * @param path - Full dot path relative to the checked schema.
136
+ * @param schemaType - The path's resolved schema type.
137
+ * @param schema - The owning schema.
138
+ * @returns `true` when any index covers the path.
139
+ * @example
140
+ * ```ts
141
+ * // internal use only — called by validatePath()
142
+ * ```
143
+ */
144
+ private static isIndexed;
145
+ }
146
+ //# sourceMappingURL=encrypted-field-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encrypted-field-map.d.ts","sourceRoot":"","sources":["../../../shared/encryption/encrypted-field-map.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAc,KAAK,EAAE,MAAM,UAAU,CAAC;AAErD;;;;;;;GAOG;AACH,OAAO,QAAQ,UAAU,CAAC;IACtB,UAAU,iBAAiB,CAAC,CAAC;QACzB;;;;WAIG;QACH,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB;;;WAGG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;KAC3B;CACJ;AAED,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAChC,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,IAAI,EAAE,QAAQ,CAAC;IACf,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,0DAA0D;AAC1D,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,qBAAa,wBAAwB;IACjC,OAAO;IAEP;;;;;;;;;;;;;OAaG;WACW,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,mBAAmB,EAAE;IAqBhF;;;;;;;;;;;;;OAaG;WACW,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,iBAAiB;IAWzE;;;;;;;;;;OAUG;WACW,MAAM,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM;IAIpD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAkB3B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;CAS3B"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Builds the encrypted-field map from `ghEncrypt: true` schema annotations.
3
+ *
4
+ * The map is the single source of truth consumed by the Mongoose encryption
5
+ * plugin (Enc-4), the backfill migration (Enc-6) and — via {@link toJson} —
6
+ * non-Mongoose consumers such as cat-workflow-engine's decrypt adapter.
7
+ *
8
+ * Validation is fail-loud at startup: an annotation on an indexed path, an
9
+ * ObjectId reference or `_id` throws immediately, because RANDOM ciphertext
10
+ * can never be queried, joined on, or indexed.
11
+ */
12
+ export class EncryptedFieldMapBuilder {
13
+ constructor() { }
14
+ /**
15
+ * Collects all validated `ghEncrypt: true` paths of one schema, recursing
16
+ * into embedded subdocument schemas and subdocument arrays.
17
+ *
18
+ * @param schema - The Mongoose schema to scan.
19
+ * @param prefix - Path prefix used during recursion; omit at call sites.
20
+ * @returns Entries sorted in schema declaration order.
21
+ * @throws Error when an annotated path is indexed, unique, ObjectId or `_id`.
22
+ * @example
23
+ * ```ts
24
+ * const entries = EncryptedFieldMapBuilder.buildForSchema(applicantSchema);
25
+ * // → [{ path: 'firstName', mode: 'random', bsonType: 'String' }, …]
26
+ * ```
27
+ */
28
+ static buildForSchema(schema, prefix = '') {
29
+ const entries = [];
30
+ schema.eachPath((path, schemaType) => {
31
+ const fullPath = prefix ? `${prefix}.${path}` : path;
32
+ const childSchema = schemaType.schema;
33
+ if (childSchema) {
34
+ entries.push(...EncryptedFieldMapBuilder.buildForSchema(childSchema, fullPath));
35
+ return;
36
+ }
37
+ if (schemaType.options?.ghEncrypt === true) {
38
+ EncryptedFieldMapBuilder.validatePath(fullPath, schemaType, schema);
39
+ entries.push({
40
+ path: fullPath,
41
+ mode: 'random',
42
+ bsonType: schemaType.options?.ghOriginalType ?? schemaType.instance
43
+ });
44
+ }
45
+ });
46
+ return entries;
47
+ }
48
+ /**
49
+ * Builds the full map for a set of models, keyed by physical collection
50
+ * name. Models without any annotated field are omitted.
51
+ *
52
+ * @param models - Registered Mongoose models to scan.
53
+ * @returns Collection name → encrypted field entries.
54
+ * @example
55
+ * ```ts
56
+ * const map = EncryptedFieldMapBuilder.buildForModels([
57
+ * ApplicantModel, ApplicationDirectDebitModel
58
+ * ]);
59
+ * // → { applicants: […], application_directdebits: […] }
60
+ * ```
61
+ */
62
+ static buildForModels(models) {
63
+ const map = {};
64
+ for (const model of models) {
65
+ const entries = EncryptedFieldMapBuilder.buildForSchema(model.schema);
66
+ if (entries.length > 0) {
67
+ map[model.collection.collectionName] = entries;
68
+ }
69
+ }
70
+ return map;
71
+ }
72
+ /**
73
+ * Serialises a map as plain JSON for non-Mongoose consumers (e.g. the
74
+ * cat-workflow-engine decrypt-on-read adapter).
75
+ *
76
+ * @param map - Map produced by {@link buildForModels}.
77
+ * @returns Pretty-printed JSON string.
78
+ * @example
79
+ * ```ts
80
+ * fs.writeFileSync('encrypted-fields.json', EncryptedFieldMapBuilder.toJson(map));
81
+ * ```
82
+ */
83
+ static toJson(map) {
84
+ return JSON.stringify(map, null, 2);
85
+ }
86
+ /**
87
+ * Fail-loud validation of a single annotated path.
88
+ *
89
+ * @param path - Full dot path of the annotated field.
90
+ * @param schemaType - The path's resolved schema type.
91
+ * @param schema - The owning schema (for schema-level index lookup).
92
+ * @throws Error describing exactly which rule the annotation violates.
93
+ * @example
94
+ * ```ts
95
+ * // internal use only — called by buildForSchema()
96
+ * ```
97
+ */
98
+ static validatePath(path, schemaType, schema) {
99
+ if (path === '_id' || path.endsWith('._id')) {
100
+ throw new Error(`Encrypted-field annotation on '${path}': _id can never be encrypted.`);
101
+ }
102
+ if (schemaType.instance === 'ObjectId') {
103
+ throw new Error(`Encrypted-field annotation on '${path}': ObjectId references cannot be encrypted ` +
104
+ '(they are join/lookup keys).');
105
+ }
106
+ if (EncryptedFieldMapBuilder.isIndexed(path, schemaType, schema)) {
107
+ throw new Error(`Encrypted-field annotation on '${path}': the path is indexed. RANDOM ciphertext ` +
108
+ 'is unqueryable — drop the index or remove the annotation.');
109
+ }
110
+ }
111
+ /**
112
+ * Detects path-level (`index`/`unique`) and schema-level index coverage.
113
+ *
114
+ * @param path - Full dot path relative to the checked schema.
115
+ * @param schemaType - The path's resolved schema type.
116
+ * @param schema - The owning schema.
117
+ * @returns `true` when any index covers the path.
118
+ * @example
119
+ * ```ts
120
+ * // internal use only — called by validatePath()
121
+ * ```
122
+ */
123
+ static isIndexed(path, schemaType, schema) {
124
+ if (schemaType.options?.index || schemaType.options?.unique) {
125
+ return true;
126
+ }
127
+ const relativePath = path.split('.').pop();
128
+ return schema.indexes().some(([keys]) => Object.keys(keys).includes(path) || Object.keys(keys).includes(relativePath));
129
+ }
130
+ }
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Fail-loud guard for queries that touch RANDOM-encrypted fields.
3
+ *
4
+ * RANDOM ciphertext is unqueryable: any filter, equality, range, regex or
5
+ * sort on an encrypted path would silently match nothing (or garbage).
6
+ * The guard converts that class of production data bug into an immediate,
7
+ * descriptive error at the call site — in CI, not in front of a customer.
8
+ */
9
+ export declare class EncryptionFilterGuard {
10
+ private constructor();
11
+ /**
12
+ * Asserts that neither the filter nor the sort of a query references an
13
+ * encrypted path. Recurses through `$and` / `$or` / `$nor` branches and
14
+ * flags parent-object matches (e.g. filtering on a whole subdocument
15
+ * that contains encrypted leaves).
16
+ *
17
+ * @param filter - The query filter as returned by `Query.getFilter()`.
18
+ * @param sort - The sort spec (object or string form) from query options.
19
+ * @param encryptedPaths - Dot paths of all encrypted fields of the model.
20
+ * @throws Error naming the offending path when the query is unsafe.
21
+ * @example
22
+ * ```ts
23
+ * EncryptionFilterGuard.assertQuerySafe(
24
+ * { $or: [{ firstName: 'Ann' }] }, undefined, ['firstName']
25
+ * ); // → throws: firstName is RANDOM-encrypted and cannot be filtered
26
+ * ```
27
+ */
28
+ static assertQuerySafe(filter: Record<string, unknown> | null | undefined, sort: Record<string, unknown> | string | null | undefined, encryptedPaths: string[]): void;
29
+ /**
30
+ * Recursively walks one filter node, throwing on any encrypted-path key.
31
+ *
32
+ * @param node - Filter object or logical-operator branch.
33
+ * @param encryptedPaths - Dot paths of all encrypted fields.
34
+ * @throws Error when a key covers an encrypted path.
35
+ * @example
36
+ * ```ts
37
+ * // internal use only — called by assertQuerySafe()
38
+ * ```
39
+ */
40
+ private static walkFilter;
41
+ /**
42
+ * Asserts that no sort key covers an encrypted path (random ciphertext
43
+ * has no meaningful order).
44
+ *
45
+ * @param sort - Sort spec in object (`{ field: 1 }`) or string (`'-field'`) form.
46
+ * @param encryptedPaths - Dot paths of all encrypted fields.
47
+ * @throws Error when a sort key covers an encrypted path.
48
+ * @example
49
+ * ```ts
50
+ * // internal use only — called by assertQuerySafe()
51
+ * ```
52
+ */
53
+ private static assertSortSafe;
54
+ /**
55
+ * Matches a filter/sort key against the encrypted paths, including
56
+ * parent-object keys (`bankWizardCheck` covers its encrypted leaves)
57
+ * and child keys under an encrypted leaf.
58
+ *
59
+ * @param key - The filter or sort key to test.
60
+ * @param encryptedPaths - Dot paths of all encrypted fields.
61
+ * @returns The covered encrypted path, or `undefined` when safe.
62
+ * @example
63
+ * ```ts
64
+ * // internal use only
65
+ * ```
66
+ */
67
+ private static matchEncryptedPath;
68
+ }
69
+ //# sourceMappingURL=encryption-filter.guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encryption-filter.guard.d.ts","sourceRoot":"","sources":["../../../shared/encryption/encryption-filter.guard.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAC9B,OAAO;IAEP;;;;;;;;;;;;;;;;OAgBG;WACW,eAAe,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAClD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EACzD,cAAc,EAAE,MAAM,EAAE,GACzB,IAAI;IAOP;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAkBzB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAqB7B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAKpC"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Fail-loud guard for queries that touch RANDOM-encrypted fields.
3
+ *
4
+ * RANDOM ciphertext is unqueryable: any filter, equality, range, regex or
5
+ * sort on an encrypted path would silently match nothing (or garbage).
6
+ * The guard converts that class of production data bug into an immediate,
7
+ * descriptive error at the call site — in CI, not in front of a customer.
8
+ */
9
+ export class EncryptionFilterGuard {
10
+ constructor() { }
11
+ /**
12
+ * Asserts that neither the filter nor the sort of a query references an
13
+ * encrypted path. Recurses through `$and` / `$or` / `$nor` branches and
14
+ * flags parent-object matches (e.g. filtering on a whole subdocument
15
+ * that contains encrypted leaves).
16
+ *
17
+ * @param filter - The query filter as returned by `Query.getFilter()`.
18
+ * @param sort - The sort spec (object or string form) from query options.
19
+ * @param encryptedPaths - Dot paths of all encrypted fields of the model.
20
+ * @throws Error naming the offending path when the query is unsafe.
21
+ * @example
22
+ * ```ts
23
+ * EncryptionFilterGuard.assertQuerySafe(
24
+ * { $or: [{ firstName: 'Ann' }] }, undefined, ['firstName']
25
+ * ); // → throws: firstName is RANDOM-encrypted and cannot be filtered
26
+ * ```
27
+ */
28
+ static assertQuerySafe(filter, sort, encryptedPaths) {
29
+ EncryptionFilterGuard.assertSortSafe(sort, encryptedPaths);
30
+ if (filter) {
31
+ EncryptionFilterGuard.walkFilter(filter, encryptedPaths);
32
+ }
33
+ }
34
+ /**
35
+ * Recursively walks one filter node, throwing on any encrypted-path key.
36
+ *
37
+ * @param node - Filter object or logical-operator branch.
38
+ * @param encryptedPaths - Dot paths of all encrypted fields.
39
+ * @throws Error when a key covers an encrypted path.
40
+ * @example
41
+ * ```ts
42
+ * // internal use only — called by assertQuerySafe()
43
+ * ```
44
+ */
45
+ static walkFilter(node, encryptedPaths) {
46
+ for (const [key, value] of Object.entries(node)) {
47
+ if (key === '$and' || key === '$or' || key === '$nor') {
48
+ for (const branch of value ?? []) {
49
+ EncryptionFilterGuard.walkFilter(branch, encryptedPaths);
50
+ }
51
+ continue;
52
+ }
53
+ const hit = EncryptionFilterGuard.matchEncryptedPath(key, encryptedPaths);
54
+ if (hit) {
55
+ throw new Error(`Query filter references '${key}': '${hit}' is RANDOM-encrypted and can never be ` +
56
+ 'filtered, matched or compared. Query a plaintext predicate field instead.');
57
+ }
58
+ }
59
+ }
60
+ /**
61
+ * Asserts that no sort key covers an encrypted path (random ciphertext
62
+ * has no meaningful order).
63
+ *
64
+ * @param sort - Sort spec in object (`{ field: 1 }`) or string (`'-field'`) form.
65
+ * @param encryptedPaths - Dot paths of all encrypted fields.
66
+ * @throws Error when a sort key covers an encrypted path.
67
+ * @example
68
+ * ```ts
69
+ * // internal use only — called by assertQuerySafe()
70
+ * ```
71
+ */
72
+ static assertSortSafe(sort, encryptedPaths) {
73
+ if (!sort) {
74
+ return;
75
+ }
76
+ const keys = typeof sort === 'string'
77
+ ? sort.split(/\s+/).filter(Boolean).map((key) => key.replace(/^-/, ''))
78
+ : Object.keys(sort);
79
+ for (const key of keys) {
80
+ const hit = EncryptionFilterGuard.matchEncryptedPath(key, encryptedPaths);
81
+ if (hit) {
82
+ throw new Error(`Sort key '${key}': '${hit}' is RANDOM-encrypted — ciphertext has no meaningful ` +
83
+ 'order. Sort on a plaintext field instead.');
84
+ }
85
+ }
86
+ }
87
+ /**
88
+ * Matches a filter/sort key against the encrypted paths, including
89
+ * parent-object keys (`bankWizardCheck` covers its encrypted leaves)
90
+ * and child keys under an encrypted leaf.
91
+ *
92
+ * @param key - The filter or sort key to test.
93
+ * @param encryptedPaths - Dot paths of all encrypted fields.
94
+ * @returns The covered encrypted path, or `undefined` when safe.
95
+ * @example
96
+ * ```ts
97
+ * // internal use only
98
+ * ```
99
+ */
100
+ static matchEncryptedPath(key, encryptedPaths) {
101
+ return encryptedPaths.find((path) => key === path || path.startsWith(`${key}.`) || key.startsWith(`${path}.`));
102
+ }
103
+ }
@@ -0,0 +1,55 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /**
4
+ * Immutable configuration for the field-level encryption layer.
5
+ *
6
+ * The master key is supplied via the `GH_ENCRYPTION_MASTER_KEY` environment
7
+ * variable as a base64-encoded 96-byte value and acts as the `local` KMS
8
+ * provider key for MongoDB Client-Side Field Level Encryption. Validation is
9
+ * fail-fast: a missing or malformed key throws at bootstrap so services never
10
+ * start half-configured. Key material is never echoed in error messages.
11
+ */
12
+ export declare class EncryptionConfig {
13
+ /** Decoded 96-byte master key used as the `local` KMS provider key. */
14
+ readonly masterKey: Buffer;
15
+ /** `db.collection` namespace of the key vault. */
16
+ readonly keyVaultNamespace: string;
17
+ /** keyAltName used to resolve/provision the single shared DEK. */
18
+ readonly keyAltName: string;
19
+ /** Fixed key vault namespace shared by every Gatehouse service. */
20
+ static readonly KEY_VAULT_NAMESPACE = "encryption.__keyVault";
21
+ /** Alt name of the single shared data encryption key (DEK). */
22
+ static readonly KEY_ALT_NAME = "gatehouse-dek";
23
+ /** Name of the environment variable carrying the master key. */
24
+ static readonly MASTER_KEY_ENV_VAR = "GH_ENCRYPTION_MASTER_KEY";
25
+ /** Required master key length in bytes for the `local` KMS provider. */
26
+ private static readonly MASTER_KEY_BYTES;
27
+ private constructor();
28
+ /**
29
+ * Builds a validated configuration from an environment map.
30
+ *
31
+ * @param env - Environment map, typically `process.env`.
32
+ * @returns A frozen, validated {@link EncryptionConfig}.
33
+ * @throws Error when the env var is missing, not base64, or not 96 bytes.
34
+ * @example
35
+ * ```ts
36
+ * const config = EncryptionConfig.load(process.env);
37
+ * const service = new EncryptionService(config);
38
+ * ```
39
+ */
40
+ static load(env: Record<string, string | undefined>): EncryptionConfig;
41
+ /**
42
+ * Decodes and validates the base64 master key without ever including the
43
+ * supplied value in error messages.
44
+ *
45
+ * @param raw - Raw base64 string from the environment.
46
+ * @returns The decoded 96-byte key.
47
+ * @throws Error when the value is not strict base64 or has a wrong length.
48
+ * @example
49
+ * ```ts
50
+ * // internal use only — called by EncryptionConfig.load()
51
+ * ```
52
+ */
53
+ private static decodeMasterKey;
54
+ }
55
+ //# sourceMappingURL=encryption.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encryption.config.d.ts","sourceRoot":"","sources":["../../../shared/encryption/encryption.config.ts"],"names":[],"mappings":";;AAAA;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;IAcrB,uEAAuE;aACvD,SAAS,EAAE,MAAM;IACjC,kDAAkD;aAClC,iBAAiB,EAAE,MAAM;IACzC,kEAAkE;aAClD,UAAU,EAAE,MAAM;IAlBtC,mEAAmE;IACnE,gBAAuB,mBAAmB,2BAA2B;IAErE,+DAA+D;IAC/D,gBAAuB,YAAY,mBAAmB;IAEtD,gEAAgE;IAChE,gBAAuB,kBAAkB,8BAA8B;IAEvE,wEAAwE;IACxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IAE9C,OAAO;IASP;;;;;;;;;;;OAWG;WACW,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,gBAAgB;IAgB7E;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;CAiBjC"}