@dynamatix/gb-schemas 2.17.13 → 2.19.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 (251) 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 +31 -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 +1 -0
  89. package/dist/applications/application-direct-debit.model.d.ts.map +1 -1
  90. package/dist/applications/application-direct-debit.model.js +18 -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 +141 -0
  180. package/dist/shared/encryption/encrypted-field-map.d.ts.map +1 -0
  181. package/dist/shared/encryption/encrypted-field-map.js +126 -0
  182. package/dist/shared/encryption/encryption.config.d.ts +55 -0
  183. package/dist/shared/encryption/encryption.config.d.ts.map +1 -0
  184. package/dist/shared/encryption/encryption.config.js +76 -0
  185. package/dist/shared/encryption/encryption.init.d.ts +66 -0
  186. package/dist/shared/encryption/encryption.init.d.ts.map +1 -0
  187. package/dist/shared/encryption/encryption.init.js +86 -0
  188. package/dist/shared/encryption/encryption.service.d.ts +110 -0
  189. package/dist/shared/encryption/encryption.service.d.ts.map +1 -0
  190. package/dist/shared/encryption/encryption.service.js +151 -0
  191. package/dist/shared/encryption/index.d.ts +6 -0
  192. package/dist/shared/encryption/index.d.ts.map +1 -0
  193. package/dist/shared/encryption/index.js +4 -0
  194. package/dist/shared/index.d.ts +2 -0
  195. package/dist/shared/index.d.ts.map +1 -1
  196. package/dist/shared/index.js +2 -0
  197. package/dist/shared/job-run.model.d.ts +1 -0
  198. package/dist/shared/job-run.model.d.ts.map +1 -1
  199. package/dist/shared/job-setting.model.d.ts +1 -0
  200. package/dist/shared/job-setting.model.d.ts.map +1 -1
  201. package/dist/shared/lookup-group.model.d.ts +1 -0
  202. package/dist/shared/lookup-group.model.d.ts.map +1 -1
  203. package/dist/shared/lookup.model.d.ts +7 -0
  204. package/dist/shared/lookup.model.d.ts.map +1 -1
  205. package/dist/shared/lookup.model.js +5 -0
  206. package/dist/shared/schema-doc.model.d.ts +1 -0
  207. package/dist/shared/schema-doc.model.d.ts.map +1 -1
  208. package/dist/shared/system-parameter.model.d.ts +1 -0
  209. package/dist/shared/system-parameter.model.d.ts.map +1 -1
  210. package/dist/shared/task-document.model.d.ts +1 -0
  211. package/dist/shared/task-document.model.d.ts.map +1 -1
  212. package/dist/shared/task.model.d.ts +1 -0
  213. package/dist/shared/task.model.d.ts.map +1 -1
  214. package/dist/shared/webhook-event.model.d.ts +1 -0
  215. package/dist/shared/webhook-event.model.d.ts.map +1 -1
  216. package/dist/shared/workflow-trigger.model.d.ts +1 -0
  217. package/dist/shared/workflow-trigger.model.d.ts.map +1 -1
  218. package/dist/shared/workflow-trigger.type.d.ts +1 -0
  219. package/dist/shared/workflow-trigger.type.d.ts.map +1 -1
  220. package/dist/shared/workflow.middleware.d.ts +1 -0
  221. package/dist/shared/workflow.middleware.d.ts.map +1 -1
  222. package/dist/shared/workflow.plugin.d.ts +1 -0
  223. package/dist/shared/workflow.plugin.d.ts.map +1 -1
  224. package/dist/types/base.types.d.ts +1 -0
  225. package/dist/types/base.types.d.ts.map +1 -1
  226. package/dist/underwriter/underwriter.model.d.ts +1 -0
  227. package/dist/underwriter/underwriter.model.d.ts.map +1 -1
  228. package/dist/users/auth-log.model.d.ts +1 -0
  229. package/dist/users/auth-log.model.d.ts.map +1 -1
  230. package/dist/users/permission.model.d.ts +1 -0
  231. package/dist/users/permission.model.d.ts.map +1 -1
  232. package/dist/users/role-group.model.d.ts +1 -0
  233. package/dist/users/role-group.model.d.ts.map +1 -1
  234. package/dist/users/role.model.d.ts +1 -0
  235. package/dist/users/role.model.d.ts.map +1 -1
  236. package/dist/users/tasks.model.d.ts +1 -0
  237. package/dist/users/tasks.model.d.ts.map +1 -1
  238. package/dist/users/user.model.d.ts +1 -0
  239. package/dist/users/user.model.d.ts.map +1 -1
  240. package/dist/users/user.type.d.ts +1 -0
  241. package/dist/users/user.type.d.ts.map +1 -1
  242. package/dist/value-objects/account-number.d.ts +1 -0
  243. package/dist/value-objects/account-number.d.ts.map +1 -1
  244. package/dist/value-objects/pound.d.ts +1 -0
  245. package/dist/value-objects/pound.d.ts.map +1 -1
  246. package/dist/value-objects/sort-code.d.ts +1 -0
  247. package/dist/value-objects/sort-code.d.ts.map +1 -1
  248. package/package.json +6 -3
  249. package/dist/applicants/applicant-direct-debit.model.d.ts +0 -86
  250. package/dist/applicants/applicant-direct-debit.model.d.ts.map +0 -1
  251. package/dist/applicants/applicant-direct-debit.model.js +0 -16
@@ -1,6 +1,7 @@
1
1
  /// <reference path="../value-objects/pound.d.ts" />
2
2
  /// <reference path="../value-objects/account-number.d.ts" />
3
3
  /// <reference path="../value-objects/sort-code.d.ts" />
4
+ /// <reference path="../shared/encryption/encrypted-field-map.d.ts" />
4
5
  /// <reference types="mongoose/types/aggregate" />
5
6
  /// <reference types="mongoose/types/callback" />
6
7
  /// <reference types="mongoose/types/collection" />
@@ -1 +1 @@
1
- {"version":3,"file":"product-variant.type.d.ts","sourceRoot":"","sources":["../../product-catalogues/product-variant.type.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,CAAC,OAAO,WAAW,eAAgB,SAAQ,SAAS;IACtD,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAElB"}
1
+ {"version":3,"file":"product-variant.type.d.ts","sourceRoot":"","sources":["../../product-catalogues/product-variant.type.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,CAAC,OAAO,WAAW,eAAgB,SAAQ,SAAS;IACtD,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAElB"}
@@ -1,6 +1,7 @@
1
1
  /// <reference path="../value-objects/pound.d.ts" />
2
2
  /// <reference path="../value-objects/account-number.d.ts" />
3
3
  /// <reference path="../value-objects/sort-code.d.ts" />
4
+ /// <reference path="../shared/encryption/encrypted-field-map.d.ts" />
4
5
  /// <reference types="mongoose/types/aggregate" />
5
6
  /// <reference types="mongoose/types/callback" />
6
7
  /// <reference types="mongoose/types/collection" />
@@ -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,6 +1,7 @@
1
1
  /// <reference path="../value-objects/pound.d.ts" />
2
2
  /// <reference path="../value-objects/account-number.d.ts" />
3
3
  /// <reference path="../value-objects/sort-code.d.ts" />
4
+ /// <reference path="../shared/encryption/encrypted-field-map.d.ts" />
4
5
  /// <reference types="mongoose/types/aggregate" />
5
6
  /// <reference types="mongoose/types/callback" />
6
7
  /// <reference types="mongoose/types/collection" />
@@ -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,6 +1,7 @@
1
1
  /// <reference path="../value-objects/pound.d.ts" />
2
2
  /// <reference path="../value-objects/account-number.d.ts" />
3
3
  /// <reference path="../value-objects/sort-code.d.ts" />
4
+ /// <reference path="encryption/encrypted-field-map.d.ts" />
4
5
  /// <reference types="mongoose/types/aggregate" />
5
6
  /// <reference types="mongoose/types/callback" />
6
7
  /// <reference types="mongoose/types/collection" />
@@ -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,6 +1,7 @@
1
1
  /// <reference path="../value-objects/pound.d.ts" />
2
2
  /// <reference path="../value-objects/account-number.d.ts" />
3
3
  /// <reference path="../value-objects/sort-code.d.ts" />
4
+ /// <reference path="encryption/encrypted-field-map.d.ts" />
4
5
  /// <reference types="mongoose/types/aggregate" />
5
6
  /// <reference types="mongoose/types/callback" />
6
7
  /// <reference types="mongoose/types/collection" />
@@ -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,6 +1,7 @@
1
1
  /// <reference path="../value-objects/pound.d.ts" />
2
2
  /// <reference path="../value-objects/account-number.d.ts" />
3
3
  /// <reference path="../value-objects/sort-code.d.ts" />
4
+ /// <reference path="encryption/encrypted-field-map.d.ts" />
4
5
  /// <reference types="mongoose/types/aggregate" />
5
6
  /// <reference types="mongoose/types/callback" />
6
7
  /// <reference types="mongoose/types/collection" />
@@ -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,6 +1,7 @@
1
1
  /// <reference path="../value-objects/pound.d.ts" />
2
2
  /// <reference path="../value-objects/account-number.d.ts" />
3
3
  /// <reference path="../value-objects/sort-code.d.ts" />
4
+ /// <reference path="encryption/encrypted-field-map.d.ts" />
4
5
  /// <reference types="mongoose/types/aggregate" />
5
6
  /// <reference types="mongoose/types/callback" />
6
7
  /// <reference types="mongoose/types/collection" />
@@ -1 +1 @@
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
+ {"version":3,"file":"api-performance.type.d.ts","sourceRoot":"","sources":["../../shared/api-performance.type.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /// <reference path="../value-objects/pound.d.ts" />
2
2
  /// <reference path="../value-objects/account-number.d.ts" />
3
3
  /// <reference path="../value-objects/sort-code.d.ts" />
4
+ /// <reference path="encryption/encrypted-field-map.d.ts" />
4
5
  /// <reference types="mongoose/types/aggregate" />
5
6
  /// <reference types="mongoose/types/callback" />
6
7
  /// <reference types="mongoose/types/collection" />
@@ -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,6 +1,7 @@
1
1
  /// <reference path="../value-objects/pound.d.ts" />
2
2
  /// <reference path="../value-objects/account-number.d.ts" />
3
3
  /// <reference path="../value-objects/sort-code.d.ts" />
4
+ /// <reference path="encryption/encrypted-field-map.d.ts" />
4
5
  /// <reference types="mongoose/types/aggregate" />
5
6
  /// <reference types="mongoose/types/callback" />
6
7
  /// <reference types="mongoose/types/collection" />
@@ -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,141 @@
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
+ }
48
+ /** One encrypted path of a collection, as consumed by the plugin/backfill. */
49
+ export interface EncryptedFieldEntry {
50
+ /** Dot path of the field (array element paths have no numeric segment). */
51
+ path: string;
52
+ /** Encryption mode — always `random`; deterministic is not supported. */
53
+ mode: 'random';
54
+ /** Mongoose type instance name (String, Number, Date, …) for tooling. */
55
+ bsonType: string;
56
+ }
57
+ /** Physical collection name → encrypted field entries. */
58
+ export type EncryptedFieldMap = Record<string, EncryptedFieldEntry[]>;
59
+ /**
60
+ * Builds the encrypted-field map from `ghEncrypt: true` schema annotations.
61
+ *
62
+ * The map is the single source of truth consumed by the Mongoose encryption
63
+ * plugin (Enc-4), the backfill migration (Enc-6) and — via {@link toJson} —
64
+ * non-Mongoose consumers such as cat-workflow-engine's decrypt adapter.
65
+ *
66
+ * Validation is fail-loud at startup: an annotation on an indexed path, an
67
+ * ObjectId reference or `_id` throws immediately, because RANDOM ciphertext
68
+ * can never be queried, joined on, or indexed.
69
+ */
70
+ export declare class EncryptedFieldMapBuilder {
71
+ private constructor();
72
+ /**
73
+ * Collects all validated `ghEncrypt: true` paths of one schema, recursing
74
+ * into embedded subdocument schemas and subdocument arrays.
75
+ *
76
+ * @param schema - The Mongoose schema to scan.
77
+ * @param prefix - Path prefix used during recursion; omit at call sites.
78
+ * @returns Entries sorted in schema declaration order.
79
+ * @throws Error when an annotated path is indexed, unique, ObjectId or `_id`.
80
+ * @example
81
+ * ```ts
82
+ * const entries = EncryptedFieldMapBuilder.buildForSchema(applicantSchema);
83
+ * // → [{ path: 'firstName', mode: 'random', bsonType: 'String' }, …]
84
+ * ```
85
+ */
86
+ static buildForSchema(schema: Schema, prefix?: string): EncryptedFieldEntry[];
87
+ /**
88
+ * Builds the full map for a set of models, keyed by physical collection
89
+ * name. Models without any annotated field are omitted.
90
+ *
91
+ * @param models - Registered Mongoose models to scan.
92
+ * @returns Collection name → encrypted field entries.
93
+ * @example
94
+ * ```ts
95
+ * const map = EncryptedFieldMapBuilder.buildForModels([
96
+ * ApplicantModel, ApplicationDirectDebitModel
97
+ * ]);
98
+ * // → { applicants: […], application_directdebits: […] }
99
+ * ```
100
+ */
101
+ static buildForModels(models: Model<unknown>[]): EncryptedFieldMap;
102
+ /**
103
+ * Serialises a map as plain JSON for non-Mongoose consumers (e.g. the
104
+ * cat-workflow-engine decrypt-on-read adapter).
105
+ *
106
+ * @param map - Map produced by {@link buildForModels}.
107
+ * @returns Pretty-printed JSON string.
108
+ * @example
109
+ * ```ts
110
+ * fs.writeFileSync('encrypted-fields.json', EncryptedFieldMapBuilder.toJson(map));
111
+ * ```
112
+ */
113
+ static toJson(map: EncryptedFieldMap): string;
114
+ /**
115
+ * Fail-loud validation of a single annotated path.
116
+ *
117
+ * @param path - Full dot path of the annotated field.
118
+ * @param schemaType - The path's resolved schema type.
119
+ * @param schema - The owning schema (for schema-level index lookup).
120
+ * @throws Error describing exactly which rule the annotation violates.
121
+ * @example
122
+ * ```ts
123
+ * // internal use only — called by buildForSchema()
124
+ * ```
125
+ */
126
+ private static validatePath;
127
+ /**
128
+ * Detects path-level (`index`/`unique`) and schema-level index coverage.
129
+ *
130
+ * @param path - Full dot path relative to the checked schema.
131
+ * @param schemaType - The path's resolved schema type.
132
+ * @param schema - The owning schema.
133
+ * @returns `true` when any index covers the path.
134
+ * @example
135
+ * ```ts
136
+ * // internal use only — called by validatePath()
137
+ * ```
138
+ */
139
+ private static isIndexed;
140
+ }
141
+ //# 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;KACvB;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;IAiBhF;;;;;;;;;;;;;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,126 @@
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({ path: fullPath, mode: 'random', bsonType: schemaType.instance });
40
+ }
41
+ });
42
+ return entries;
43
+ }
44
+ /**
45
+ * Builds the full map for a set of models, keyed by physical collection
46
+ * name. Models without any annotated field are omitted.
47
+ *
48
+ * @param models - Registered Mongoose models to scan.
49
+ * @returns Collection name → encrypted field entries.
50
+ * @example
51
+ * ```ts
52
+ * const map = EncryptedFieldMapBuilder.buildForModels([
53
+ * ApplicantModel, ApplicationDirectDebitModel
54
+ * ]);
55
+ * // → { applicants: […], application_directdebits: […] }
56
+ * ```
57
+ */
58
+ static buildForModels(models) {
59
+ const map = {};
60
+ for (const model of models) {
61
+ const entries = EncryptedFieldMapBuilder.buildForSchema(model.schema);
62
+ if (entries.length > 0) {
63
+ map[model.collection.collectionName] = entries;
64
+ }
65
+ }
66
+ return map;
67
+ }
68
+ /**
69
+ * Serialises a map as plain JSON for non-Mongoose consumers (e.g. the
70
+ * cat-workflow-engine decrypt-on-read adapter).
71
+ *
72
+ * @param map - Map produced by {@link buildForModels}.
73
+ * @returns Pretty-printed JSON string.
74
+ * @example
75
+ * ```ts
76
+ * fs.writeFileSync('encrypted-fields.json', EncryptedFieldMapBuilder.toJson(map));
77
+ * ```
78
+ */
79
+ static toJson(map) {
80
+ return JSON.stringify(map, null, 2);
81
+ }
82
+ /**
83
+ * Fail-loud validation of a single annotated path.
84
+ *
85
+ * @param path - Full dot path of the annotated field.
86
+ * @param schemaType - The path's resolved schema type.
87
+ * @param schema - The owning schema (for schema-level index lookup).
88
+ * @throws Error describing exactly which rule the annotation violates.
89
+ * @example
90
+ * ```ts
91
+ * // internal use only — called by buildForSchema()
92
+ * ```
93
+ */
94
+ static validatePath(path, schemaType, schema) {
95
+ if (path === '_id' || path.endsWith('._id')) {
96
+ throw new Error(`Encrypted-field annotation on '${path}': _id can never be encrypted.`);
97
+ }
98
+ if (schemaType.instance === 'ObjectId') {
99
+ throw new Error(`Encrypted-field annotation on '${path}': ObjectId references cannot be encrypted ` +
100
+ '(they are join/lookup keys).');
101
+ }
102
+ if (EncryptedFieldMapBuilder.isIndexed(path, schemaType, schema)) {
103
+ throw new Error(`Encrypted-field annotation on '${path}': the path is indexed. RANDOM ciphertext ` +
104
+ 'is unqueryable — drop the index or remove the annotation.');
105
+ }
106
+ }
107
+ /**
108
+ * Detects path-level (`index`/`unique`) and schema-level index coverage.
109
+ *
110
+ * @param path - Full dot path relative to the checked schema.
111
+ * @param schemaType - The path's resolved schema type.
112
+ * @param schema - The owning schema.
113
+ * @returns `true` when any index covers the path.
114
+ * @example
115
+ * ```ts
116
+ * // internal use only — called by validatePath()
117
+ * ```
118
+ */
119
+ static isIndexed(path, schemaType, schema) {
120
+ if (schemaType.options?.index || schemaType.options?.unique) {
121
+ return true;
122
+ }
123
+ const relativePath = path.split('.').pop();
124
+ return schema.indexes().some(([keys]) => Object.keys(keys).includes(path) || Object.keys(keys).includes(relativePath));
125
+ }
126
+ }
@@ -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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Immutable configuration for the field-level encryption layer.
3
+ *
4
+ * The master key is supplied via the `GH_ENCRYPTION_MASTER_KEY` environment
5
+ * variable as a base64-encoded 96-byte value and acts as the `local` KMS
6
+ * provider key for MongoDB Client-Side Field Level Encryption. Validation is
7
+ * fail-fast: a missing or malformed key throws at bootstrap so services never
8
+ * start half-configured. Key material is never echoed in error messages.
9
+ */
10
+ export class EncryptionConfig {
11
+ constructor(
12
+ /** Decoded 96-byte master key used as the `local` KMS provider key. */
13
+ masterKey,
14
+ /** `db.collection` namespace of the key vault. */
15
+ keyVaultNamespace,
16
+ /** keyAltName used to resolve/provision the single shared DEK. */
17
+ keyAltName) {
18
+ this.masterKey = masterKey;
19
+ this.keyVaultNamespace = keyVaultNamespace;
20
+ this.keyAltName = keyAltName;
21
+ }
22
+ /**
23
+ * Builds a validated configuration from an environment map.
24
+ *
25
+ * @param env - Environment map, typically `process.env`.
26
+ * @returns A frozen, validated {@link EncryptionConfig}.
27
+ * @throws Error when the env var is missing, not base64, or not 96 bytes.
28
+ * @example
29
+ * ```ts
30
+ * const config = EncryptionConfig.load(process.env);
31
+ * const service = new EncryptionService(config);
32
+ * ```
33
+ */
34
+ static load(env) {
35
+ const raw = env[EncryptionConfig.MASTER_KEY_ENV_VAR];
36
+ if (!raw) {
37
+ throw new Error(`${EncryptionConfig.MASTER_KEY_ENV_VAR} is not set. ` +
38
+ 'Provide a base64-encoded 96-byte master key.');
39
+ }
40
+ const masterKey = EncryptionConfig.decodeMasterKey(raw);
41
+ return new EncryptionConfig(masterKey, EncryptionConfig.KEY_VAULT_NAMESPACE, EncryptionConfig.KEY_ALT_NAME);
42
+ }
43
+ /**
44
+ * Decodes and validates the base64 master key without ever including the
45
+ * supplied value in error messages.
46
+ *
47
+ * @param raw - Raw base64 string from the environment.
48
+ * @returns The decoded 96-byte key.
49
+ * @throws Error when the value is not strict base64 or has a wrong length.
50
+ * @example
51
+ * ```ts
52
+ * // internal use only — called by EncryptionConfig.load()
53
+ * ```
54
+ */
55
+ static decodeMasterKey(raw) {
56
+ const decoded = Buffer.from(raw, 'base64');
57
+ if (decoded.length === 0 || decoded.toString('base64') !== raw.replace(/\s/g, '')) {
58
+ throw new Error(`${EncryptionConfig.MASTER_KEY_ENV_VAR} is not valid base64. ` +
59
+ '(value withheld from this message)');
60
+ }
61
+ if (decoded.length !== EncryptionConfig.MASTER_KEY_BYTES) {
62
+ throw new Error(`${EncryptionConfig.MASTER_KEY_ENV_VAR} must decode to exactly ` +
63
+ `${EncryptionConfig.MASTER_KEY_BYTES} bytes, got ${decoded.length}. ` +
64
+ '(value withheld from this message)');
65
+ }
66
+ return decoded;
67
+ }
68
+ }
69
+ /** Fixed key vault namespace shared by every Gatehouse service. */
70
+ EncryptionConfig.KEY_VAULT_NAMESPACE = 'encryption.__keyVault';
71
+ /** Alt name of the single shared data encryption key (DEK). */
72
+ EncryptionConfig.KEY_ALT_NAME = 'gatehouse-dek';
73
+ /** Name of the environment variable carrying the master key. */
74
+ EncryptionConfig.MASTER_KEY_ENV_VAR = 'GH_ENCRYPTION_MASTER_KEY';
75
+ /** Required master key length in bytes for the `local` KMS provider. */
76
+ EncryptionConfig.MASTER_KEY_BYTES = 96;
@@ -0,0 +1,66 @@
1
+ import { MongoClient } from 'mongodb';
2
+ import { EncryptionService } from './encryption.service.js';
3
+ /**
4
+ * Process-wide bootstrap for the encryption layer, mirroring the
5
+ * `initializeWorkflowMiddleware` pattern used elsewhere in this package.
6
+ *
7
+ * Consumer services call {@link EncryptionBootstrap.initialize} exactly once
8
+ * at startup (right after connecting to MongoDB); everything else — the
9
+ * Mongoose plugin, repositories, adapters — obtains the shared singleton via
10
+ * {@link EncryptionBootstrap.getService}.
11
+ */
12
+ export declare class EncryptionBootstrap {
13
+ private static service;
14
+ private constructor();
15
+ /**
16
+ * Initializes the singleton {@link EncryptionService} from the
17
+ * environment and a connected client. Idempotent: repeated calls return
18
+ * the already-initialized instance.
19
+ *
20
+ * @param client - A connected {@link MongoClient}.
21
+ * @param env - Environment map, defaults to `process.env`.
22
+ * @returns The initialized singleton service.
23
+ * @throws Error when `GH_ENCRYPTION_MASTER_KEY` is missing or malformed.
24
+ * @example
25
+ * ```ts
26
+ * await mongoose.connect(uri);
27
+ * await EncryptionBootstrap.initialize(
28
+ * mongoose.connection.getClient() as unknown as MongoClient
29
+ * );
30
+ * ```
31
+ */
32
+ static initialize(client: MongoClient, env?: Record<string, string | undefined>): Promise<EncryptionService>;
33
+ /**
34
+ * Returns the initialized singleton service.
35
+ *
36
+ * @returns The shared {@link EncryptionService}.
37
+ * @throws Error when called before {@link initialize}.
38
+ * @example
39
+ * ```ts
40
+ * const ciphertext = await EncryptionBootstrap.getService().encrypt(value);
41
+ * ```
42
+ */
43
+ static getService(): EncryptionService;
44
+ /**
45
+ * Reports whether the encryption layer has been bootstrapped.
46
+ *
47
+ * @returns `true` after a successful {@link initialize} call.
48
+ * @example
49
+ * ```ts
50
+ * if (!EncryptionBootstrap.isInitialized()) {
51
+ * await EncryptionBootstrap.initialize(client);
52
+ * }
53
+ * ```
54
+ */
55
+ static isInitialized(): boolean;
56
+ /**
57
+ * Tears down the singleton (used by tests and graceful shutdown).
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * await EncryptionBootstrap.reset();
62
+ * ```
63
+ */
64
+ static reset(): Promise<void>;
65
+ }
66
+ //# sourceMappingURL=encryption.init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encryption.init.d.ts","sourceRoot":"","sources":["../../../shared/encryption/encryption.init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D;;;;;;;;GAQG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAkC;IAExD,OAAO;IAEP;;;;;;;;;;;;;;;;OAgBG;WACiB,UAAU,CAC1B,MAAM,EAAE,WAAW,EACnB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACtD,OAAO,CAAC,iBAAiB,CAAC;IAU7B;;;;;;;;;OASG;WACW,UAAU,IAAI,iBAAiB;IAU7C;;;;;;;;;;OAUG;WACW,aAAa,IAAI,OAAO;IAItC;;;;;;;OAOG;WACiB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7C"}