@digitaldefiance/node-express-suite 3.6.14 → 3.6.16

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 (859) hide show
  1. package/package.json +9 -8
  2. package/src/__tests__/fixtures/index.d.ts +2 -0
  3. package/src/__tests__/fixtures/index.d.ts.map +1 -0
  4. package/src/__tests__/fixtures/index.js +5 -0
  5. package/src/__tests__/fixtures/index.js.map +1 -0
  6. package/src/__tests__/fixtures/model-mocks.mock.d.ts +6 -0
  7. package/src/__tests__/fixtures/model-mocks.mock.d.ts.map +1 -0
  8. package/src/__tests__/fixtures/model-mocks.mock.js +94 -0
  9. package/src/__tests__/fixtures/model-mocks.mock.js.map +1 -0
  10. package/src/__tests__/helpers/application.mock.d.ts +8 -0
  11. package/src/__tests__/helpers/application.mock.d.ts.map +1 -0
  12. package/src/__tests__/helpers/application.mock.js +77 -0
  13. package/src/__tests__/helpers/application.mock.js.map +1 -0
  14. package/src/__tests__/helpers/{index.ts → index.d.ts} +2 -1
  15. package/src/__tests__/helpers/index.d.ts.map +1 -0
  16. package/src/__tests__/helpers/index.js +7 -0
  17. package/src/__tests__/helpers/index.js.map +1 -0
  18. package/src/__tests__/helpers/setup-test-env.d.ts +12 -0
  19. package/src/__tests__/helpers/setup-test-env.d.ts.map +1 -0
  20. package/src/__tests__/helpers/setup-test-env.js +119 -0
  21. package/src/__tests__/helpers/setup-test-env.js.map +1 -0
  22. package/src/__tests__/index.d.ts +3 -0
  23. package/src/__tests__/index.d.ts.map +1 -0
  24. package/src/__tests__/index.js +6 -0
  25. package/src/__tests__/index.js.map +1 -0
  26. package/src/application-base.d.ts +122 -0
  27. package/src/application-base.d.ts.map +1 -0
  28. package/src/application-base.js +355 -0
  29. package/src/application-base.js.map +1 -0
  30. package/src/application-concrete.d.ts +12 -0
  31. package/src/application-concrete.d.ts.map +1 -0
  32. package/src/application-concrete.js +21 -0
  33. package/src/application-concrete.js.map +1 -0
  34. package/src/application.d.ts +28 -0
  35. package/src/application.d.ts.map +1 -0
  36. package/src/application.js +167 -0
  37. package/src/application.js.map +1 -0
  38. package/src/backup-code.d.ts +68 -0
  39. package/src/backup-code.d.ts.map +1 -0
  40. package/src/backup-code.js +238 -0
  41. package/src/backup-code.js.map +1 -0
  42. package/src/builders/application-builder.d.ts +34 -0
  43. package/src/builders/application-builder.d.ts.map +1 -0
  44. package/src/builders/application-builder.js +64 -0
  45. package/src/builders/application-builder.js.map +1 -0
  46. package/src/builders/{index.ts → index.d.ts} +1 -0
  47. package/src/builders/index.d.ts.map +1 -0
  48. package/src/builders/index.js +5 -0
  49. package/src/builders/index.js.map +1 -0
  50. package/src/constants.d.ts +16 -0
  51. package/src/constants.d.ts.map +1 -0
  52. package/src/constants.js +58 -0
  53. package/src/constants.js.map +1 -0
  54. package/src/container/{index.ts → index.d.ts} +1 -0
  55. package/src/container/index.d.ts.map +1 -0
  56. package/src/container/index.js +6 -0
  57. package/src/container/index.js.map +1 -0
  58. package/src/container/service-container.d.ts +11 -0
  59. package/src/container/service-container.d.ts.map +1 -0
  60. package/src/container/service-container.js +38 -0
  61. package/src/container/service-container.js.map +1 -0
  62. package/src/container/service-definitions.d.ts +11 -0
  63. package/src/container/service-definitions.d.ts.map +1 -0
  64. package/src/container/service-definitions.js +13 -0
  65. package/src/container/service-definitions.js.map +1 -0
  66. package/src/controllers/base.d.ts +66 -0
  67. package/src/controllers/base.d.ts.map +1 -0
  68. package/src/controllers/base.js +305 -0
  69. package/src/controllers/base.js.map +1 -0
  70. package/src/controllers/{index.ts → index.d.ts} +1 -0
  71. package/src/controllers/index.d.ts.map +1 -0
  72. package/src/controllers/index.js +6 -0
  73. package/src/controllers/index.js.map +1 -0
  74. package/src/controllers/user.d.ts +46 -0
  75. package/src/controllers/user.d.ts.map +1 -0
  76. package/src/controllers/user.js +918 -0
  77. package/src/controllers/user.js.map +1 -0
  78. package/src/database/{database-initializer.ts → database-initializer.d.ts} +3 -3
  79. package/src/database/database-initializer.d.ts.map +1 -0
  80. package/src/database/database-initializer.js +3 -0
  81. package/src/database/database-initializer.js.map +1 -0
  82. package/src/database/{index.ts → index.d.ts} +1 -0
  83. package/src/database/index.d.ts.map +1 -0
  84. package/src/database/index.js +5 -0
  85. package/src/database/index.js.map +1 -0
  86. package/src/decorators/base-controller.d.ts +10 -0
  87. package/src/decorators/base-controller.d.ts.map +1 -0
  88. package/src/decorators/base-controller.js +60 -0
  89. package/src/decorators/base-controller.js.map +1 -0
  90. package/src/decorators/controller.d.ts +38 -0
  91. package/src/decorators/controller.d.ts.map +1 -0
  92. package/src/decorators/controller.js +67 -0
  93. package/src/decorators/controller.js.map +1 -0
  94. package/src/decorators/{index.ts → index.d.ts} +1 -0
  95. package/src/decorators/index.d.ts.map +1 -0
  96. package/src/decorators/index.js +7 -0
  97. package/src/decorators/index.js.map +1 -0
  98. package/src/decorators/zod-validation.d.ts +5 -0
  99. package/src/decorators/zod-validation.d.ts.map +1 -0
  100. package/src/decorators/zod-validation.js +47 -0
  101. package/src/decorators/zod-validation.js.map +1 -0
  102. package/src/defaults.d.ts +7 -0
  103. package/src/defaults.d.ts.map +1 -0
  104. package/src/defaults.js +204 -0
  105. package/src/defaults.js.map +1 -0
  106. package/src/documents/base.d.ts +4 -0
  107. package/src/documents/base.d.ts.map +1 -0
  108. package/src/documents/base.js +3 -0
  109. package/src/documents/base.js.map +1 -0
  110. package/src/documents/{email-token.ts → email-token.d.ts} +3 -9
  111. package/src/documents/email-token.d.ts.map +1 -0
  112. package/src/documents/email-token.js +3 -0
  113. package/src/documents/email-token.js.map +1 -0
  114. package/src/documents/{index.ts → index.d.ts} +1 -0
  115. package/src/documents/index.d.ts.map +1 -0
  116. package/src/documents/index.js +3 -0
  117. package/src/documents/index.js.map +1 -0
  118. package/src/documents/{mnemonic.ts → mnemonic.d.ts} +2 -5
  119. package/src/documents/mnemonic.d.ts.map +1 -0
  120. package/src/documents/mnemonic.js +3 -0
  121. package/src/documents/mnemonic.js.map +1 -0
  122. package/src/documents/{role.ts → role.d.ts} +2 -5
  123. package/src/documents/role.d.ts.map +1 -0
  124. package/src/documents/role.js +3 -0
  125. package/src/documents/role.js.map +1 -0
  126. package/src/documents/{used-direct-login-token.ts → used-direct-login-token.d.ts} +2 -5
  127. package/src/documents/used-direct-login-token.d.ts.map +1 -0
  128. package/src/documents/used-direct-login-token.js +3 -0
  129. package/src/documents/used-direct-login-token.js.map +1 -0
  130. package/src/documents/{user-role.ts → user-role.d.ts} +2 -5
  131. package/src/documents/user-role.d.ts.map +1 -0
  132. package/src/documents/user-role.js +3 -0
  133. package/src/documents/user-role.js.map +1 -0
  134. package/src/documents/{user.ts → user.d.ts} +2 -5
  135. package/src/documents/user.d.ts.map +1 -0
  136. package/src/documents/user.js +3 -0
  137. package/src/documents/user.js.map +1 -0
  138. package/src/enumerations/base-model-name.d.ts +38 -0
  139. package/src/enumerations/base-model-name.d.ts.map +1 -0
  140. package/src/enumerations/base-model-name.js +34 -0
  141. package/src/enumerations/base-model-name.js.map +1 -0
  142. package/src/enumerations/{index.ts → index.d.ts} +1 -0
  143. package/src/enumerations/index.d.ts.map +1 -0
  144. package/src/enumerations/index.js +8 -0
  145. package/src/enumerations/index.js.map +1 -0
  146. package/src/enumerations/length-encoding-type.d.ts +7 -0
  147. package/src/enumerations/length-encoding-type.d.ts.map +1 -0
  148. package/src/enumerations/length-encoding-type.js +11 -0
  149. package/src/enumerations/length-encoding-type.js.map +1 -0
  150. package/src/enumerations/schema-collection.d.ts +34 -0
  151. package/src/enumerations/schema-collection.d.ts.map +1 -0
  152. package/src/enumerations/schema-collection.js +38 -0
  153. package/src/enumerations/schema-collection.js.map +1 -0
  154. package/src/enumerations/symmetric-error-type.d.ts +5 -0
  155. package/src/enumerations/symmetric-error-type.d.ts.map +1 -0
  156. package/src/enumerations/symmetric-error-type.js +9 -0
  157. package/src/enumerations/symmetric-error-type.js.map +1 -0
  158. package/src/environment.d.ts +190 -0
  159. package/src/environment.d.ts.map +1 -0
  160. package/src/environment.js +646 -0
  161. package/src/environment.js.map +1 -0
  162. package/src/errors/express-validation.d.ts +9 -0
  163. package/src/errors/express-validation.d.ts.map +1 -0
  164. package/src/errors/express-validation.js +18 -0
  165. package/src/errors/express-validation.js.map +1 -0
  166. package/src/errors/{index.ts → index.d.ts} +1 -0
  167. package/src/errors/index.d.ts.map +1 -0
  168. package/src/errors/index.js +16 -0
  169. package/src/errors/index.js.map +1 -0
  170. package/src/errors/invalid-backup-code-version.d.ts +6 -0
  171. package/src/errors/invalid-backup-code-version.d.ts.map +1 -0
  172. package/src/errors/invalid-backup-code-version.js +16 -0
  173. package/src/errors/invalid-backup-code-version.js.map +1 -0
  174. package/src/errors/invalid-jwt-token.d.ts +5 -0
  175. package/src/errors/invalid-jwt-token.d.ts.map +1 -0
  176. package/src/errors/invalid-jwt-token.js +12 -0
  177. package/src/errors/invalid-jwt-token.js.map +1 -0
  178. package/src/errors/invalid-model.d.ts +6 -0
  179. package/src/errors/invalid-model.d.ts.map +1 -0
  180. package/src/errors/invalid-model.js +14 -0
  181. package/src/errors/invalid-model.js.map +1 -0
  182. package/src/errors/invalid-new-password.d.ts +5 -0
  183. package/src/errors/invalid-new-password.d.ts.map +1 -0
  184. package/src/errors/invalid-new-password.js +14 -0
  185. package/src/errors/invalid-new-password.js.map +1 -0
  186. package/src/errors/invalid-password.d.ts +5 -0
  187. package/src/errors/invalid-password.d.ts.map +1 -0
  188. package/src/errors/invalid-password.js +14 -0
  189. package/src/errors/invalid-password.js.map +1 -0
  190. package/src/errors/missing-validated-data.d.ts +7 -0
  191. package/src/errors/missing-validated-data.d.ts.map +1 -0
  192. package/src/errors/missing-validated-data.js +36 -0
  193. package/src/errors/missing-validated-data.js.map +1 -0
  194. package/src/errors/mnemonic-or-password-required.d.ts +5 -0
  195. package/src/errors/mnemonic-or-password-required.d.ts.map +1 -0
  196. package/src/errors/mnemonic-or-password-required.js +14 -0
  197. package/src/errors/mnemonic-or-password-required.js.map +1 -0
  198. package/src/errors/model-not-registered.d.ts +6 -0
  199. package/src/errors/model-not-registered.d.ts.map +1 -0
  200. package/src/errors/model-not-registered.js +14 -0
  201. package/src/errors/model-not-registered.js.map +1 -0
  202. package/src/errors/mongoose-validation.d.ts +12 -0
  203. package/src/errors/mongoose-validation.d.ts.map +1 -0
  204. package/src/errors/mongoose-validation.js +17 -0
  205. package/src/errors/mongoose-validation.js.map +1 -0
  206. package/src/errors/symmetric.d.ts +8 -0
  207. package/src/errors/symmetric.d.ts.map +1 -0
  208. package/src/errors/symmetric.js +22 -0
  209. package/src/errors/symmetric.js.map +1 -0
  210. package/src/errors/token-expired.d.ts +5 -0
  211. package/src/errors/token-expired.d.ts.map +1 -0
  212. package/src/errors/token-expired.js +12 -0
  213. package/src/errors/token-expired.js.map +1 -0
  214. package/src/get-language.d.ts +2 -0
  215. package/src/get-language.d.ts.map +1 -0
  216. package/src/get-language.js +30 -0
  217. package/src/get-language.js.map +1 -0
  218. package/src/get-timezone.d.ts +2 -0
  219. package/src/get-timezone.d.ts.map +1 -0
  220. package/src/get-timezone.js +39 -0
  221. package/src/get-timezone.js.map +1 -0
  222. package/src/{index.ts → index.d.ts} +2 -3
  223. package/src/index.d.ts.map +1 -0
  224. package/src/index.js +43 -0
  225. package/src/index.js.map +1 -0
  226. package/src/interfaces/{api-error-response.ts → api-error-response.d.ts} +2 -2
  227. package/src/interfaces/api-error-response.d.ts.map +1 -0
  228. package/src/interfaces/api-error-response.js +3 -0
  229. package/src/interfaces/api-error-response.js.map +1 -0
  230. package/src/interfaces/api-express-validation-error-response.d.ts +7 -0
  231. package/src/interfaces/api-express-validation-error-response.d.ts.map +1 -0
  232. package/src/interfaces/api-express-validation-error-response.js +3 -0
  233. package/src/interfaces/api-express-validation-error-response.js.map +1 -0
  234. package/src/interfaces/api-message-response.d.ts +4 -0
  235. package/src/interfaces/api-message-response.d.ts.map +1 -0
  236. package/src/interfaces/api-message-response.js +3 -0
  237. package/src/interfaces/api-message-response.js.map +1 -0
  238. package/src/interfaces/{api-mongo-validation-error-response.ts → api-mongo-validation-error-response.d.ts} +2 -2
  239. package/src/interfaces/api-mongo-validation-error-response.d.ts.map +1 -0
  240. package/src/interfaces/api-mongo-validation-error-response.js +3 -0
  241. package/src/interfaces/api-mongo-validation-error-response.js.map +1 -0
  242. package/src/interfaces/api-responses/{backup-codes-response.ts → backup-codes-response.d.ts} +2 -2
  243. package/src/interfaces/api-responses/backup-codes-response.d.ts.map +1 -0
  244. package/src/interfaces/api-responses/backup-codes-response.js +3 -0
  245. package/src/interfaces/api-responses/backup-codes-response.js.map +1 -0
  246. package/src/interfaces/api-responses/{challenge-response.ts → challenge-response.d.ts} +3 -3
  247. package/src/interfaces/api-responses/challenge-response.d.ts.map +1 -0
  248. package/src/interfaces/api-responses/challenge-response.js +3 -0
  249. package/src/interfaces/api-responses/challenge-response.js.map +1 -0
  250. package/src/interfaces/api-responses/{code-count-response.ts → code-count-response.d.ts} +2 -2
  251. package/src/interfaces/api-responses/code-count-response.d.ts.map +1 -0
  252. package/src/interfaces/api-responses/code-count-response.js +3 -0
  253. package/src/interfaces/api-responses/code-count-response.js.map +1 -0
  254. package/src/interfaces/api-responses/{index.ts → index.d.ts} +2 -1
  255. package/src/interfaces/api-responses/index.d.ts.map +1 -0
  256. package/src/interfaces/api-responses/index.js +12 -0
  257. package/src/interfaces/api-responses/index.js.map +1 -0
  258. package/src/interfaces/api-responses/{login-response.ts → login-response.d.ts} +4 -4
  259. package/src/interfaces/api-responses/login-response.d.ts.map +1 -0
  260. package/src/interfaces/api-responses/login-response.js +3 -0
  261. package/src/interfaces/api-responses/login-response.js.map +1 -0
  262. package/src/interfaces/api-responses/{mnemonic-response.ts → mnemonic-response.d.ts} +2 -2
  263. package/src/interfaces/api-responses/mnemonic-response.d.ts.map +1 -0
  264. package/src/interfaces/api-responses/mnemonic-response.js +3 -0
  265. package/src/interfaces/api-responses/mnemonic-response.js.map +1 -0
  266. package/src/interfaces/api-responses/{registration-response.ts → registration-response.d.ts} +3 -3
  267. package/src/interfaces/api-responses/registration-response.d.ts.map +1 -0
  268. package/src/interfaces/api-responses/registration-response.js +3 -0
  269. package/src/interfaces/api-responses/registration-response.js.map +1 -0
  270. package/src/interfaces/api-responses/{request-user-response.ts → request-user-response.d.ts} +2 -2
  271. package/src/interfaces/api-responses/request-user-response.d.ts.map +1 -0
  272. package/src/interfaces/api-responses/request-user-response.js +3 -0
  273. package/src/interfaces/api-responses/request-user-response.js.map +1 -0
  274. package/src/interfaces/api-responses/user-settings-response.d.ts +12 -0
  275. package/src/interfaces/api-responses/user-settings-response.d.ts.map +1 -0
  276. package/src/interfaces/api-responses/user-settings-response.js +3 -0
  277. package/src/interfaces/api-responses/user-settings-response.js.map +1 -0
  278. package/src/interfaces/application.d.ts +16 -0
  279. package/src/interfaces/application.d.ts.map +1 -0
  280. package/src/interfaces/application.js +3 -0
  281. package/src/interfaces/application.js.map +1 -0
  282. package/src/interfaces/backend-objects/email-token.d.ts +4 -0
  283. package/src/interfaces/backend-objects/email-token.d.ts.map +1 -0
  284. package/src/interfaces/backend-objects/email-token.js +3 -0
  285. package/src/interfaces/backend-objects/email-token.js.map +1 -0
  286. package/src/interfaces/backend-objects/{index.ts → index.d.ts} +1 -0
  287. package/src/interfaces/backend-objects/index.d.ts.map +1 -0
  288. package/src/interfaces/backend-objects/index.js +8 -0
  289. package/src/interfaces/backend-objects/index.js.map +1 -0
  290. package/src/interfaces/backend-objects/request-user.d.ts +5 -0
  291. package/src/interfaces/backend-objects/request-user.d.ts.map +1 -0
  292. package/src/interfaces/backend-objects/request-user.js +3 -0
  293. package/src/interfaces/backend-objects/request-user.js.map +1 -0
  294. package/src/interfaces/backend-objects/{role.ts → role.d.ts} +1 -1
  295. package/src/interfaces/backend-objects/role.d.ts.map +1 -0
  296. package/src/interfaces/backend-objects/role.js +3 -0
  297. package/src/interfaces/backend-objects/role.js.map +1 -0
  298. package/src/interfaces/backend-objects/user.d.ts +4 -0
  299. package/src/interfaces/backend-objects/user.d.ts.map +1 -0
  300. package/src/interfaces/backend-objects/user.js +3 -0
  301. package/src/interfaces/backend-objects/user.js.map +1 -0
  302. package/src/interfaces/checksum-config.d.ts +5 -0
  303. package/src/interfaces/checksum-config.d.ts.map +1 -0
  304. package/src/interfaces/checksum-config.js +3 -0
  305. package/src/interfaces/checksum-config.js.map +1 -0
  306. package/src/interfaces/checksum-consts.d.ts +11 -0
  307. package/src/interfaces/checksum-consts.d.ts.map +1 -0
  308. package/src/interfaces/checksum-consts.js +3 -0
  309. package/src/interfaces/checksum-consts.js.map +1 -0
  310. package/src/interfaces/constants.d.ts +98 -0
  311. package/src/interfaces/constants.d.ts.map +1 -0
  312. package/src/interfaces/constants.js +3 -0
  313. package/src/interfaces/constants.js.map +1 -0
  314. package/src/interfaces/controller-config.d.ts +21 -0
  315. package/src/interfaces/controller-config.d.ts.map +1 -0
  316. package/src/interfaces/controller-config.js +3 -0
  317. package/src/interfaces/controller-config.js.map +1 -0
  318. package/src/interfaces/create-user-basics.d.ts +18 -0
  319. package/src/interfaces/create-user-basics.d.ts.map +1 -0
  320. package/src/interfaces/create-user-basics.js +3 -0
  321. package/src/interfaces/create-user-basics.js.map +1 -0
  322. package/src/interfaces/csp-config.d.ts +7 -0
  323. package/src/interfaces/csp-config.d.ts.map +1 -0
  324. package/src/interfaces/csp-config.js +13 -0
  325. package/src/interfaces/csp-config.js.map +1 -0
  326. package/src/interfaces/csp-definition.d.ts +13 -0
  327. package/src/interfaces/csp-definition.d.ts.map +1 -0
  328. package/src/interfaces/csp-definition.js +23 -0
  329. package/src/interfaces/csp-definition.js.map +1 -0
  330. package/src/interfaces/{db-init-result.ts → db-init-result.d.ts} +3 -3
  331. package/src/interfaces/db-init-result.d.ts.map +1 -0
  332. package/src/interfaces/db-init-result.js +3 -0
  333. package/src/interfaces/db-init-result.js.map +1 -0
  334. package/src/interfaces/deep-partial.d.ts +4 -0
  335. package/src/interfaces/deep-partial.d.ts.map +1 -0
  336. package/src/interfaces/deep-partial.js +3 -0
  337. package/src/interfaces/deep-partial.js.map +1 -0
  338. package/src/interfaces/{discriminator-collections.ts → discriminator-collections.d.ts} +3 -3
  339. package/src/interfaces/discriminator-collections.d.ts.map +1 -0
  340. package/src/interfaces/discriminator-collections.js +3 -0
  341. package/src/interfaces/discriminator-collections.js.map +1 -0
  342. package/src/interfaces/email-service.d.ts +4 -0
  343. package/src/interfaces/email-service.d.ts.map +1 -0
  344. package/src/interfaces/email-service.js +3 -0
  345. package/src/interfaces/email-service.js.map +1 -0
  346. package/src/interfaces/environment-mongo.d.ts +76 -0
  347. package/src/interfaces/environment-mongo.d.ts.map +1 -0
  348. package/src/interfaces/environment-mongo.js +3 -0
  349. package/src/interfaces/environment-mongo.js.map +1 -0
  350. package/src/interfaces/environment.d.ts +184 -0
  351. package/src/interfaces/environment.d.ts.map +1 -0
  352. package/src/interfaces/environment.js +3 -0
  353. package/src/interfaces/environment.js.map +1 -0
  354. package/src/interfaces/failable-result.d.ts +7 -0
  355. package/src/interfaces/failable-result.d.ts.map +1 -0
  356. package/src/interfaces/failable-result.js +3 -0
  357. package/src/interfaces/failable-result.js.map +1 -0
  358. package/src/interfaces/fec-consts.d.ts +5 -0
  359. package/src/interfaces/fec-consts.d.ts.map +1 -0
  360. package/src/interfaces/fec-consts.js +3 -0
  361. package/src/interfaces/fec-consts.js.map +1 -0
  362. package/src/interfaces/flexible-csp.d.ts +8 -0
  363. package/src/interfaces/flexible-csp.d.ts.map +1 -0
  364. package/src/interfaces/flexible-csp.js +14 -0
  365. package/src/interfaces/flexible-csp.js.map +1 -0
  366. package/src/interfaces/handleable-error-options.d.ts +7 -0
  367. package/src/interfaces/handleable-error-options.d.ts.map +1 -0
  368. package/src/interfaces/handleable-error-options.js +3 -0
  369. package/src/interfaces/handleable-error-options.js.map +1 -0
  370. package/src/interfaces/{index.ts → index.d.ts} +1 -0
  371. package/src/interfaces/index.d.ts.map +1 -0
  372. package/src/interfaces/index.js +38 -0
  373. package/src/interfaces/index.js.map +1 -0
  374. package/src/interfaces/jwt-consts.d.ts +11 -0
  375. package/src/interfaces/jwt-consts.d.ts.map +1 -0
  376. package/src/interfaces/jwt-consts.js +3 -0
  377. package/src/interfaces/jwt-consts.js.map +1 -0
  378. package/src/interfaces/jwt-sign-response.d.ts +11 -0
  379. package/src/interfaces/jwt-sign-response.d.ts.map +1 -0
  380. package/src/interfaces/jwt-sign-response.js +3 -0
  381. package/src/interfaces/jwt-sign-response.js.map +1 -0
  382. package/src/interfaces/models/{email-token.ts → email-token.d.ts} +1 -1
  383. package/src/interfaces/models/email-token.d.ts.map +1 -0
  384. package/src/interfaces/models/email-token.js +3 -0
  385. package/src/interfaces/models/email-token.js.map +1 -0
  386. package/src/interfaces/models/{index.ts → index.d.ts} +1 -0
  387. package/src/interfaces/models/index.d.ts.map +1 -0
  388. package/src/interfaces/models/index.js +11 -0
  389. package/src/interfaces/models/index.js.map +1 -0
  390. package/src/interfaces/models/{mnemonic.ts → mnemonic.d.ts} +1 -1
  391. package/src/interfaces/models/mnemonic.d.ts.map +1 -0
  392. package/src/interfaces/models/mnemonic.js +3 -0
  393. package/src/interfaces/models/mnemonic.js.map +1 -0
  394. package/src/interfaces/models/{role.ts → role.d.ts} +1 -1
  395. package/src/interfaces/models/role.d.ts.map +1 -0
  396. package/src/interfaces/models/role.js +3 -0
  397. package/src/interfaces/models/role.js.map +1 -0
  398. package/src/interfaces/models/{token-role.ts → token-role.d.ts} +1 -1
  399. package/src/interfaces/models/token-role.d.ts.map +1 -0
  400. package/src/interfaces/models/token-role.js +3 -0
  401. package/src/interfaces/models/token-role.js.map +1 -0
  402. package/src/interfaces/models/{used-direct-login-token.ts → used-direct-login-token.d.ts} +2 -3
  403. package/src/interfaces/models/used-direct-login-token.d.ts.map +1 -0
  404. package/src/interfaces/models/used-direct-login-token.js +3 -0
  405. package/src/interfaces/models/used-direct-login-token.js.map +1 -0
  406. package/src/interfaces/models/{user-role.ts → user-role.d.ts} +1 -1
  407. package/src/interfaces/models/user-role.d.ts.map +1 -0
  408. package/src/interfaces/models/user-role.js +3 -0
  409. package/src/interfaces/models/user-role.js.map +1 -0
  410. package/src/interfaces/models/{user.ts → user.d.ts} +3 -11
  411. package/src/interfaces/models/user.d.ts.map +1 -0
  412. package/src/interfaces/models/user.js +3 -0
  413. package/src/interfaces/models/user.js.map +1 -0
  414. package/src/interfaces/mongo-errors.d.ts +5 -0
  415. package/src/interfaces/mongo-errors.d.ts.map +1 -0
  416. package/src/interfaces/mongo-errors.js +3 -0
  417. package/src/interfaces/mongo-errors.js.map +1 -0
  418. package/src/interfaces/request-user.d.ts +58 -0
  419. package/src/interfaces/request-user.d.ts.map +1 -0
  420. package/src/interfaces/request-user.js +3 -0
  421. package/src/interfaces/request-user.js.map +1 -0
  422. package/src/interfaces/required-string-keys.d.ts +22 -0
  423. package/src/interfaces/required-string-keys.d.ts.map +1 -0
  424. package/src/interfaces/required-string-keys.js +3 -0
  425. package/src/interfaces/required-string-keys.js.map +1 -0
  426. package/src/interfaces/schema.d.ts +29 -0
  427. package/src/interfaces/schema.d.ts.map +1 -0
  428. package/src/interfaces/schema.js +3 -0
  429. package/src/interfaces/schema.js.map +1 -0
  430. package/src/interfaces/server-init-result.d.ts +36 -0
  431. package/src/interfaces/server-init-result.d.ts.map +1 -0
  432. package/src/interfaces/server-init-result.js +3 -0
  433. package/src/interfaces/server-init-result.js.map +1 -0
  434. package/src/interfaces/status-code-response.d.ts +7 -0
  435. package/src/interfaces/status-code-response.d.ts.map +1 -0
  436. package/src/interfaces/status-code-response.js +3 -0
  437. package/src/interfaces/status-code-response.js.map +1 -0
  438. package/src/interfaces/symmetric-encryption-results.d.ts +3 -3
  439. package/src/interfaces/symmetric-encryption-results.d.ts.map +1 -1
  440. package/src/interfaces/symmetric-encryption-results.js.map +1 -1
  441. package/src/interfaces/{test-environment.ts → test-environment.d.ts} +6 -6
  442. package/src/interfaces/test-environment.d.ts.map +1 -0
  443. package/src/interfaces/test-environment.js +3 -0
  444. package/src/interfaces/test-environment.js.map +1 -0
  445. package/src/interfaces/{token-response.ts → token-response.d.ts} +2 -2
  446. package/src/interfaces/token-response.d.ts.map +1 -0
  447. package/src/interfaces/token-response.js +3 -0
  448. package/src/interfaces/token-response.js.map +1 -0
  449. package/src/middlewares/authenticate-crypto.d.ts +10 -0
  450. package/src/middlewares/authenticate-crypto.d.ts.map +1 -0
  451. package/src/middlewares/authenticate-crypto.js +126 -0
  452. package/src/middlewares/authenticate-crypto.js.map +1 -0
  453. package/src/middlewares/authenticate-token.d.ts +21 -0
  454. package/src/middlewares/authenticate-token.d.ts.map +1 -0
  455. package/src/middlewares/authenticate-token.js +104 -0
  456. package/src/middlewares/authenticate-token.js.map +1 -0
  457. package/src/middlewares/cleanup-crypto.d.ts +7 -0
  458. package/src/middlewares/cleanup-crypto.d.ts.map +1 -0
  459. package/src/middlewares/cleanup-crypto.js +32 -0
  460. package/src/middlewares/cleanup-crypto.js.map +1 -0
  461. package/src/middlewares/{index.ts → index.d.ts} +1 -0
  462. package/src/middlewares/index.d.ts.map +1 -0
  463. package/src/middlewares/index.js +8 -0
  464. package/src/middlewares/index.js.map +1 -0
  465. package/src/middlewares/set-global-context-language.d.ts +3 -0
  466. package/src/middlewares/set-global-context-language.d.ts.map +1 -0
  467. package/src/middlewares/set-global-context-language.js +14 -0
  468. package/src/middlewares/set-global-context-language.js.map +1 -0
  469. package/src/middlewares.d.ts +8 -0
  470. package/src/middlewares.d.ts.map +1 -0
  471. package/src/middlewares.js +89 -0
  472. package/src/middlewares.js.map +1 -0
  473. package/src/model-registry.d.ts +23 -0
  474. package/src/model-registry.d.ts.map +1 -0
  475. package/src/model-registry.js +47 -0
  476. package/src/model-registry.js.map +1 -0
  477. package/src/models/email-token.d.ts +35 -11
  478. package/src/models/email-token.d.ts.map +1 -0
  479. package/src/models/email-token.js +11 -0
  480. package/src/models/email-token.js.map +1 -0
  481. package/src/models/{index.ts → index.d.ts} +1 -0
  482. package/src/models/index.d.ts.map +1 -0
  483. package/src/models/index.js +10 -0
  484. package/src/models/index.js.map +1 -0
  485. package/src/models/mnemonic.d.ts +35 -11
  486. package/src/models/mnemonic.d.ts.map +1 -0
  487. package/src/models/mnemonic.js +11 -0
  488. package/src/models/mnemonic.js.map +1 -0
  489. package/src/models/role.d.ts +35 -11
  490. package/src/models/role.d.ts.map +1 -0
  491. package/src/models/role.js +11 -0
  492. package/src/models/role.js.map +1 -0
  493. package/src/models/used-direct-login-token.d.ts +35 -11
  494. package/src/models/used-direct-login-token.d.ts.map +1 -0
  495. package/src/models/used-direct-login-token.js +11 -0
  496. package/src/models/used-direct-login-token.js.map +1 -0
  497. package/src/models/user-role.d.ts +3 -10
  498. package/src/models/user-role.d.ts.map +1 -0
  499. package/src/models/user-role.js +10 -0
  500. package/src/models/user-role.js.map +1 -0
  501. package/src/models/user.d.ts +3 -16
  502. package/src/models/user.d.ts.map +1 -0
  503. package/src/models/user.js +11 -0
  504. package/src/models/user.js.map +1 -0
  505. package/src/pipeline/{index.ts → index.d.ts} +1 -0
  506. package/src/pipeline/index.d.ts.map +1 -0
  507. package/src/pipeline/index.js +5 -0
  508. package/src/pipeline/index.js.map +1 -0
  509. package/src/pipeline/pipeline-builder.d.ts +8 -0
  510. package/src/pipeline/pipeline-builder.d.ts.map +1 -0
  511. package/src/pipeline/pipeline-builder.js +18 -0
  512. package/src/pipeline/pipeline-builder.js.map +1 -0
  513. package/src/plugins/{index.ts → index.d.ts} +1 -0
  514. package/src/plugins/index.d.ts.map +1 -0
  515. package/src/plugins/index.js +6 -0
  516. package/src/plugins/index.js.map +1 -0
  517. package/src/plugins/plugin-interface.d.ts +8 -0
  518. package/src/plugins/plugin-interface.d.ts.map +1 -0
  519. package/src/plugins/plugin-interface.js +3 -0
  520. package/src/plugins/plugin-interface.js.map +1 -0
  521. package/src/plugins/plugin-manager.d.ts +12 -0
  522. package/src/plugins/plugin-manager.d.ts.map +1 -0
  523. package/src/plugins/plugin-manager.js +37 -0
  524. package/src/plugins/plugin-manager.js.map +1 -0
  525. package/src/registry/email-service-registry.d.ts +27 -0
  526. package/src/registry/email-service-registry.d.ts.map +1 -0
  527. package/src/registry/email-service-registry.js +42 -0
  528. package/src/registry/email-service-registry.js.map +1 -0
  529. package/src/registry/{index.ts → index.d.ts} +1 -0
  530. package/src/registry/index.d.ts.map +1 -0
  531. package/src/registry/index.js +6 -0
  532. package/src/registry/index.js.map +1 -0
  533. package/src/responses/{index.ts → index.d.ts} +1 -0
  534. package/src/responses/index.d.ts.map +1 -0
  535. package/src/responses/index.js +5 -0
  536. package/src/responses/index.js.map +1 -0
  537. package/src/responses/response-builder.d.ts +24 -0
  538. package/src/responses/response-builder.d.ts.map +1 -0
  539. package/src/responses/response-builder.js +63 -0
  540. package/src/responses/response-builder.js.map +1 -0
  541. package/src/routers/api.d.ts +28 -0
  542. package/src/routers/api.d.ts.map +1 -0
  543. package/src/routers/api.js +80 -0
  544. package/src/routers/api.js.map +1 -0
  545. package/src/routers/app.d.ts +32 -0
  546. package/src/routers/app.d.ts.map +1 -0
  547. package/src/routers/app.js +228 -0
  548. package/src/routers/app.js.map +1 -0
  549. package/src/routers/base.d.ts +8 -0
  550. package/src/routers/base.d.ts.map +1 -0
  551. package/src/routers/base.js +14 -0
  552. package/src/routers/base.js.map +1 -0
  553. package/src/routers/{index.ts → index.d.ts} +1 -0
  554. package/src/routers/index.d.ts.map +1 -0
  555. package/src/routers/index.js +7 -0
  556. package/src/routers/index.js.map +1 -0
  557. package/src/routers/router-config.d.ts +18 -0
  558. package/src/routers/router-config.d.ts.map +1 -0
  559. package/src/routers/router-config.js +8 -0
  560. package/src/routers/router-config.js.map +1 -0
  561. package/src/routing/index.d.ts +2 -0
  562. package/src/routing/index.d.ts.map +1 -0
  563. package/src/routing/index.js +5 -0
  564. package/src/routing/index.js.map +1 -0
  565. package/src/routing/route-builder.d.ts +36 -0
  566. package/src/routing/route-builder.d.ts.map +1 -0
  567. package/src/routing/route-builder.js +86 -0
  568. package/src/routing/route-builder.js.map +1 -0
  569. package/src/schemas/email-token.d.ts +47 -13
  570. package/src/schemas/email-token.d.ts.map +1 -0
  571. package/src/schemas/email-token.js +55 -0
  572. package/src/schemas/email-token.js.map +1 -0
  573. package/src/schemas/{index.ts → index.d.ts} +1 -0
  574. package/src/schemas/index.d.ts.map +1 -0
  575. package/src/schemas/index.js +11 -0
  576. package/src/schemas/index.js.map +1 -0
  577. package/src/schemas/mnemonic.d.ts +26 -10
  578. package/src/schemas/mnemonic.d.ts.map +1 -0
  579. package/src/schemas/mnemonic.js +31 -0
  580. package/src/schemas/mnemonic.js.map +1 -0
  581. package/src/schemas/role.d.ts +40 -13
  582. package/src/schemas/role.d.ts.map +1 -0
  583. package/src/schemas/role.js +88 -0
  584. package/src/schemas/role.js.map +1 -0
  585. package/src/schemas/schema.d.ts +42 -0
  586. package/src/schemas/schema.d.ts.map +1 -0
  587. package/src/schemas/schema.js +70 -0
  588. package/src/schemas/schema.js.map +1 -0
  589. package/src/schemas/used-direct-login-token.d.ts +35 -12
  590. package/src/schemas/used-direct-login-token.d.ts.map +1 -0
  591. package/src/schemas/used-direct-login-token.js +24 -0
  592. package/src/schemas/used-direct-login-token.js.map +1 -0
  593. package/src/schemas/user-role.d.ts +37 -12
  594. package/src/schemas/user-role.d.ts.map +1 -0
  595. package/src/schemas/user-role.js +55 -0
  596. package/src/schemas/user-role.js.map +1 -0
  597. package/src/schemas/user.d.ts +23 -18
  598. package/src/schemas/user.d.ts.map +1 -0
  599. package/src/schemas/user.js +194 -0
  600. package/src/schemas/user.js.map +1 -0
  601. package/src/services/backup-code.d.ts +76 -0
  602. package/src/services/backup-code.d.ts.map +1 -0
  603. package/src/services/backup-code.js +185 -0
  604. package/src/services/backup-code.js.map +1 -0
  605. package/src/services/base.d.ts +10 -0
  606. package/src/services/base.d.ts.map +1 -0
  607. package/src/services/base.js +15 -0
  608. package/src/services/base.js.map +1 -0
  609. package/src/services/checksum.d.ts +69 -0
  610. package/src/services/checksum.d.ts.map +1 -0
  611. package/src/services/checksum.js +145 -0
  612. package/src/services/checksum.js.map +1 -0
  613. package/src/services/crc.d.ts +87 -0
  614. package/src/services/crc.d.ts.map +1 -0
  615. package/src/services/crc.js +198 -0
  616. package/src/services/crc.js.map +1 -0
  617. package/src/services/database-initialization.d.ts +103 -0
  618. package/src/services/database-initialization.d.ts.map +1 -0
  619. package/src/services/database-initialization.js +817 -0
  620. package/src/services/database-initialization.js.map +1 -0
  621. package/src/services/{db-init-cache.ts → db-init-cache.d.ts} +5 -11
  622. package/src/services/db-init-cache.d.ts.map +1 -0
  623. package/src/services/db-init-cache.js +3 -0
  624. package/src/services/db-init-cache.js.map +1 -0
  625. package/src/services/direct-login-token.d.ts +6 -0
  626. package/src/services/direct-login-token.d.ts.map +1 -0
  627. package/src/services/direct-login-token.js +41 -0
  628. package/src/services/direct-login-token.js.map +1 -0
  629. package/src/services/dummy-email-service.d.ts +10 -0
  630. package/src/services/dummy-email-service.d.ts.map +1 -0
  631. package/src/services/dummy-email-service.js +16 -0
  632. package/src/services/dummy-email-service.js.map +1 -0
  633. package/src/services/fec-usage-example.d.ts +38 -0
  634. package/src/services/fec-usage-example.d.ts.map +1 -0
  635. package/src/services/fec-usage-example.js +75 -0
  636. package/src/services/fec-usage-example.js.map +1 -0
  637. package/src/services/fec.d.ts +46 -0
  638. package/src/services/fec.d.ts.map +1 -0
  639. package/src/services/fec.js +214 -0
  640. package/src/services/fec.js.map +1 -0
  641. package/src/services/{index.ts → index.d.ts} +1 -0
  642. package/src/services/index.d.ts.map +1 -0
  643. package/src/services/index.js +23 -0
  644. package/src/services/index.js.map +1 -0
  645. package/src/services/jwt.d.ts +30 -0
  646. package/src/services/jwt.d.ts.map +1 -0
  647. package/src/services/jwt.js +90 -0
  648. package/src/services/jwt.js.map +1 -0
  649. package/src/services/key-wrapping.d.ts +61 -0
  650. package/src/services/key-wrapping.d.ts.map +1 -0
  651. package/src/services/key-wrapping.js +310 -0
  652. package/src/services/key-wrapping.js.map +1 -0
  653. package/src/services/mnemonic.d.ts +61 -0
  654. package/src/services/mnemonic.d.ts.map +1 -0
  655. package/src/services/mnemonic.js +114 -0
  656. package/src/services/mnemonic.js.map +1 -0
  657. package/src/services/request-user.d.ts +23 -0
  658. package/src/services/request-user.d.ts.map +1 -0
  659. package/src/services/request-user.js +66 -0
  660. package/src/services/request-user.js.map +1 -0
  661. package/src/services/role.d.ts +86 -0
  662. package/src/services/role.d.ts.map +1 -0
  663. package/src/services/role.js +285 -0
  664. package/src/services/role.js.map +1 -0
  665. package/src/services/symmetric.d.ts +42 -0
  666. package/src/services/symmetric.d.ts.map +1 -0
  667. package/src/services/symmetric.js +101 -0
  668. package/src/services/symmetric.js.map +1 -0
  669. package/src/services/system-user.d.ts +17 -0
  670. package/src/services/system-user.d.ts.map +1 -0
  671. package/src/services/system-user.js +46 -0
  672. package/src/services/system-user.js.map +1 -0
  673. package/src/services/user.d.ts +349 -0
  674. package/src/services/user.d.ts.map +1 -0
  675. package/src/services/user.js +1452 -0
  676. package/src/services/user.js.map +1 -0
  677. package/src/services/xor.d.ts +24 -0
  678. package/src/services/xor.d.ts.map +1 -0
  679. package/src/services/xor.js +37 -0
  680. package/src/services/xor.js.map +1 -0
  681. package/src/testing.d.ts +3 -0
  682. package/src/testing.d.ts.map +1 -0
  683. package/src/testing.js +7 -0
  684. package/src/testing.js.map +1 -0
  685. package/src/transactions/{index.ts → index.d.ts} +1 -0
  686. package/src/transactions/index.d.ts.map +1 -0
  687. package/src/transactions/index.js +5 -0
  688. package/src/transactions/index.js.map +1 -0
  689. package/src/transactions/transaction-manager.d.ts +12 -0
  690. package/src/transactions/transaction-manager.d.ts.map +1 -0
  691. package/src/transactions/transaction-manager.js +30 -0
  692. package/src/transactions/transaction-manager.js.map +1 -0
  693. package/src/types/{app-config.ts → app-config.d.ts} +9 -10
  694. package/src/types/app-config.d.ts.map +1 -0
  695. package/src/types/app-config.js +3 -0
  696. package/src/types/app-config.js.map +1 -0
  697. package/src/types/{controller-config.ts → controller-config.d.ts} +7 -8
  698. package/src/types/controller-config.d.ts.map +1 -0
  699. package/src/types/controller-config.js +3 -0
  700. package/src/types/controller-config.js.map +1 -0
  701. package/src/types/{environment-variables.ts → environment-variables.d.ts} +5 -26
  702. package/src/types/environment-variables.d.ts.map +1 -0
  703. package/src/types/environment-variables.js +39 -0
  704. package/src/types/environment-variables.js.map +1 -0
  705. package/src/types/id-converters.d.ts +28 -0
  706. package/src/types/id-converters.d.ts.map +1 -0
  707. package/src/types/id-converters.js +45 -0
  708. package/src/types/id-converters.js.map +1 -0
  709. package/src/types/{index.ts → index.d.ts} +1 -0
  710. package/src/types/index.d.ts.map +1 -0
  711. package/src/types/index.js +6 -0
  712. package/src/types/index.js.map +1 -0
  713. package/src/types/{mongoose-helpers.ts → mongoose-helpers.d.ts} +2 -2
  714. package/src/types/mongoose-helpers.d.ts.map +1 -0
  715. package/src/types/mongoose-helpers.js +6 -0
  716. package/src/types/mongoose-helpers.js.map +1 -0
  717. package/src/types.d.ts +68 -40
  718. package/src/types.d.ts.map +1 -0
  719. package/src/types.js +14 -0
  720. package/src/types.js.map +1 -0
  721. package/src/utils.d.ts +210 -0
  722. package/src/utils.d.ts.map +1 -0
  723. package/src/utils.js +819 -0
  724. package/src/utils.js.map +1 -0
  725. package/src/validation/{index.ts → index.d.ts} +1 -0
  726. package/src/validation/index.d.ts.map +1 -0
  727. package/src/validation/index.js +5 -0
  728. package/src/validation/index.js.map +1 -0
  729. package/src/validation/validation-builder.d.ts +32 -0
  730. package/src/validation/validation-builder.d.ts.map +1 -0
  731. package/src/validation/validation-builder.js +81 -0
  732. package/src/validation/validation-builder.js.map +1 -0
  733. package/LICENSE +0 -21
  734. package/src/__tests__/fixtures/index.ts +0 -1
  735. package/src/__tests__/fixtures/model-mocks.mock.ts +0 -122
  736. package/src/__tests__/helpers/application.mock.ts +0 -90
  737. package/src/__tests__/helpers/setup-test-env.ts +0 -163
  738. package/src/__tests__/index.ts +0 -2
  739. package/src/application-base.ts +0 -520
  740. package/src/application-concrete.ts +0 -32
  741. package/src/application.ts +0 -321
  742. package/src/backup-code.ts +0 -348
  743. package/src/builders/application-builder.ts +0 -94
  744. package/src/constants.ts +0 -83
  745. package/src/container/service-container.ts +0 -39
  746. package/src/container/service-definitions.ts +0 -11
  747. package/src/controllers/base.ts +0 -496
  748. package/src/controllers/user.ts +0 -1687
  749. package/src/decorators/base-controller.ts +0 -77
  750. package/src/decorators/controller.ts +0 -140
  751. package/src/decorators/zod-validation.ts +0 -57
  752. package/src/defaults.ts +0 -249
  753. package/src/documents/base.ts +0 -10
  754. package/src/enumerations/base-model-name.ts +0 -41
  755. package/src/enumerations/length-encoding-type.ts +0 -6
  756. package/src/enumerations/schema-collection.ts +0 -33
  757. package/src/enumerations/symmetric-error-type.ts +0 -4
  758. package/src/environment.ts +0 -836
  759. package/src/errors/express-validation.ts +0 -21
  760. package/src/errors/invalid-backup-code-version.ts +0 -15
  761. package/src/errors/invalid-jwt-token.ts +0 -11
  762. package/src/errors/invalid-model.ts +0 -11
  763. package/src/errors/invalid-new-password.ts +0 -18
  764. package/src/errors/invalid-password.ts +0 -13
  765. package/src/errors/missing-validated-data.ts +0 -36
  766. package/src/errors/mnemonic-or-password-required.ts +0 -13
  767. package/src/errors/model-not-registered.ts +0 -11
  768. package/src/errors/mongoose-validation.ts +0 -36
  769. package/src/errors/symmetric.ts +0 -38
  770. package/src/errors/token-expired.ts +0 -11
  771. package/src/get-language.ts +0 -53
  772. package/src/get-timezone.ts +0 -61
  773. package/src/interfaces/api-express-validation-error-response.ts +0 -8
  774. package/src/interfaces/api-message-response.ts +0 -3
  775. package/src/interfaces/api-responses/user-settings-response.ts +0 -12
  776. package/src/interfaces/application.ts +0 -16
  777. package/src/interfaces/backend-objects/email-token.ts +0 -11
  778. package/src/interfaces/backend-objects/request-user.ts +0 -8
  779. package/src/interfaces/backend-objects/user.ts +0 -7
  780. package/src/interfaces/checksum-config.ts +0 -4
  781. package/src/interfaces/checksum-consts.ts +0 -13
  782. package/src/interfaces/constants.ts +0 -103
  783. package/src/interfaces/controller-config.ts +0 -27
  784. package/src/interfaces/create-user-basics.ts +0 -17
  785. package/src/interfaces/csp-config.ts +0 -16
  786. package/src/interfaces/csp-definition.ts +0 -53
  787. package/src/interfaces/deep-partial.ts +0 -3
  788. package/src/interfaces/email-service.ts +0 -8
  789. package/src/interfaces/environment-mongo.ts +0 -76
  790. package/src/interfaces/environment.ts +0 -185
  791. package/src/interfaces/failable-result.ts +0 -6
  792. package/src/interfaces/fec-consts.ts +0 -4
  793. package/src/interfaces/flexible-csp.ts +0 -18
  794. package/src/interfaces/handleable-error-options.ts +0 -6
  795. package/src/interfaces/jwt-consts.ts +0 -23
  796. package/src/interfaces/jwt-sign-response.ts +0 -19
  797. package/src/interfaces/mongo-errors.ts +0 -5
  798. package/src/interfaces/request-user.ts +0 -66
  799. package/src/interfaces/required-string-keys.ts +0 -26
  800. package/src/interfaces/schema.ts +0 -31
  801. package/src/interfaces/server-init-result.ts +0 -38
  802. package/src/interfaces/status-code-response.ts +0 -7
  803. package/src/interfaces/symmetric-encryption-results.ts +0 -4
  804. package/src/middlewares/authenticate-crypto.ts +0 -216
  805. package/src/middlewares/authenticate-token.ts +0 -150
  806. package/src/middlewares/cleanup-crypto.ts +0 -37
  807. package/src/middlewares/set-global-context-language.ts +0 -24
  808. package/src/middlewares.ts +0 -105
  809. package/src/model-registry.ts +0 -75
  810. package/src/models/email-token.ts +0 -16
  811. package/src/models/mnemonic.ts +0 -16
  812. package/src/models/role.ts +0 -16
  813. package/src/models/used-direct-login-token.ts +0 -16
  814. package/src/models/user-role.ts +0 -14
  815. package/src/models/user.ts +0 -16
  816. package/src/pipeline/pipeline-builder.ts +0 -18
  817. package/src/plugins/plugin-interface.ts +0 -8
  818. package/src/plugins/plugin-manager.ts +0 -40
  819. package/src/registry/email-service-registry.ts +0 -53
  820. package/src/responses/response-builder.ts +0 -86
  821. package/src/routers/api.ts +0 -168
  822. package/src/routers/app.ts +0 -340
  823. package/src/routers/base.ts +0 -17
  824. package/src/routers/router-config.ts +0 -16
  825. package/src/routing/index.ts +0 -1
  826. package/src/routing/route-builder.ts +0 -126
  827. package/src/schemas/email-token.ts +0 -97
  828. package/src/schemas/mnemonic.ts +0 -39
  829. package/src/schemas/role.ts +0 -132
  830. package/src/schemas/schema.ts +0 -150
  831. package/src/schemas/used-direct-login-token.ts +0 -44
  832. package/src/schemas/user-role.ts +0 -81
  833. package/src/schemas/user.ts +0 -224
  834. package/src/services/backup-code.ts +0 -321
  835. package/src/services/base.ts +0 -35
  836. package/src/services/checksum.ts +0 -167
  837. package/src/services/crc.ts +0 -213
  838. package/src/services/database-initialization.ts +0 -1564
  839. package/src/services/direct-login-token.ts +0 -62
  840. package/src/services/dummy-email-service.ts +0 -20
  841. package/src/services/fec-usage-example.ts +0 -102
  842. package/src/services/fec.ts +0 -355
  843. package/src/services/jwt.ts +0 -133
  844. package/src/services/key-wrapping.ts +0 -449
  845. package/src/services/mnemonic.ts +0 -166
  846. package/src/services/request-user.ts +0 -99
  847. package/src/services/role.ts +0 -410
  848. package/src/services/symmetric.ts +0 -139
  849. package/src/services/system-user.ts +0 -79
  850. package/src/services/user.ts +0 -2279
  851. package/src/services/xor.ts +0 -34
  852. package/src/testing.ts +0 -3
  853. package/src/transactions/transaction-manager.ts +0 -37
  854. package/src/types/id-converters.ts +0 -53
  855. package/src/types/mongoose-override.d.ts +0 -1
  856. package/src/types/mongoose.d.ts +0 -1
  857. package/src/types.ts +0 -130
  858. package/src/utils.ts +0 -1081
  859. package/src/validation/validation-builder.ts +0 -94
@@ -0,0 +1,68 @@
1
+ import { Member as BackendMember } from '@digitaldefiance/node-ecies-lib';
2
+ import { BackupCodeString, IBackupCode } from '@digitaldefiance/suite-core-lib';
3
+ import { Types } from '@digitaldefiance/mongoose-types';
4
+ import { IConstants } from './interfaces';
5
+ /**
6
+ * Class representing a backup code string with associated operations.
7
+ *
8
+ * v1 scheme:
9
+ * - Code: 32 lowercase alphanumerics (a–z0–9), displayed as 8 groups of 4: xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx
10
+ * - Checksum/tag: HKDF-SHA256(codeUtf8, salt, "backup-checksum") → 32 bytes (stored as hex)
11
+ * - KDF for encryption key: Argon2id(codeUtf8, salt) → 32 bytes
12
+ * - Encryption: SymmetricService AEAD (encryptedData must embed IV + authTag + ciphertext)
13
+ * - Wrapping: AEAD blob wrapped with system user's asymmetric key (ECIES)
14
+ */
15
+ export declare class BackupCode extends BackupCodeString {
16
+ /** Current backup code scheme version implemented by this service. */
17
+ static readonly BackupCodeVersion = "1.0.0";
18
+ private static readonly Argon2Params;
19
+ constructor(code: string);
20
+ /**
21
+ * Generate the configured number of backup codes.
22
+ * Note: If generation alphabet/length is controlled elsewhere, prefer that path.
23
+ */
24
+ static generateBackupCodes(constants?: IConstants): Array<BackupCode>;
25
+ /**
26
+ * HKDF-Extract-and-Expand using HMAC-SHA-256.
27
+ *
28
+ * PRK = HMAC(salt, ikm)
29
+ * T(0) = empty
30
+ * T(i) = HMAC(PRK, T(i-1) || info || i)
31
+ * OKM = first 'length' bytes of T(1) || T(2) || ...
32
+ */
33
+ static hkdfSha256(ikm: Buffer, salt: Buffer, info: Buffer, length: number): Buffer;
34
+ /**
35
+ * v1: Derive a 32-byte encryption key from a normalized backup code using Argon2id and the per-code salt.
36
+ * Uses UTF-8 bytes of the normalized code (not hex).
37
+ */
38
+ static getBackupKeyV1(checksumSaltHex: string, normalizedCode: string, constants?: IConstants): Promise<Buffer>;
39
+ /**
40
+ * v1: Compute a 32-byte checksum/tag for a normalized code using HKDF-SHA256(codeUtf8, salt, "backup-checksum").
41
+ */
42
+ private static computeChecksumV1;
43
+ encrypt<TID extends string | Types.ObjectId | Buffer | Uint8Array = Buffer>(backupUser: BackendMember<TID>, systemUser: BackendMember<TID>, constants?: IConstants): Promise<IBackupCode>;
44
+ /**
45
+ * v1: Encrypt and wrap backup codes for a user.
46
+ * - Validates code format (display or normalized)
47
+ * - Computes HKDF checksum/tag
48
+ * - Derives Argon2id encryption key (32 bytes) from UTF-8 code
49
+ * - Encrypts the private key with AEAD and wraps with system user
50
+ */
51
+ static encryptBackupCodesV1<TID extends string | Types.ObjectId | Buffer | Uint8Array = Buffer>(backupUser: BackendMember<TID>, systemUser: BackendMember<TID>, codes: Array<BackupCode>): Promise<Array<IBackupCode>>;
52
+ /** Delegate to current version. */
53
+ static encryptBackupCodes<TID extends string | Types.ObjectId | Buffer | Uint8Array = Buffer>(backupUser: BackendMember<TID>, systemUser: BackendMember<TID>, codes: Array<BackupCode>): Promise<Array<IBackupCode>>;
54
+ /**
55
+ * v1: Validate whether a backup code exists (unused) in the provided collection.
56
+ * Uses constant-time comparison of binary checksums (codeUtf8 + salt).
57
+ */
58
+ static validateBackupCodeV1(encryptedBackupCodes: Array<IBackupCode>, backupCode: string, constants?: IConstants): boolean;
59
+ /**
60
+ * Validate a backup code against any supported version present in the collection.
61
+ */
62
+ static validateBackupCode(encryptedBackupCodes: Array<IBackupCode>, backupCode: string, constants?: IConstants): boolean;
63
+ /**
64
+ * Detect the version by matching checksum against stored codes; returns the matched version.
65
+ */
66
+ static detectBackupCodeVersion(encryptedBackupCodes: Array<IBackupCode>, backupCode: string, constants?: IConstants): string;
67
+ }
68
+ //# sourceMappingURL=backup-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup-code.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/backup-code.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,MAAM,IAAI,aAAa,EACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,gBAAgB,EAChB,WAAW,EAKZ,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAGxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;;;;;;;;;GASG;AACH,qBAAa,UAAW,SAAQ,gBAAgB;IAC9C,sEAAsE;IACtE,gBAAuB,iBAAiB,WAAW;IAEnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAOzB;gBAEC,IAAI,EAAE,MAAM;IAIxB;;;OAGG;WACoB,mBAAmB,CACxC,SAAS,GAAE,UAA+B,GACzC,KAAK,CAAC,UAAU,CAAC;IAQpB;;;;;;;OAOG;WACW,UAAU,CACtB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM;IA2BT;;;OAGG;WACiB,cAAc,CAChC,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,EACtB,SAAS,GAAE,UAA+B,GACzC,OAAO,CAAC,MAAM,CAAC;IAiBlB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAiBnB,OAAO,CAClB,GAAG,SAAS,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,EAElE,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,EAC9B,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,EAC9B,SAAS,GAAE,UAA+B,GACzC,OAAO,CAAC,WAAW,CAAC;IAiDvB;;;;;;OAMG;WACiB,oBAAoB,CACtC,GAAG,SAAS,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,EAElE,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,EAC9B,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,EAC9B,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,GACvB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAQ9B,mCAAmC;WACrB,kBAAkB,CAC9B,GAAG,SAAS,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,EAElE,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,EAC9B,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,EAC9B,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,GACvB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAI9B;;;OAGG;WACW,oBAAoB,CAChC,oBAAoB,EAAE,KAAK,CAAC,WAAW,CAAC,EACxC,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,UAA+B,GACzC,OAAO;IA6BV;;OAEG;WACW,kBAAkB,CAC9B,oBAAoB,EAAE,KAAK,CAAC,WAAW,CAAC,EACxC,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,UAA+B,GACzC,OAAO;IAoBV;;OAEG;WACW,uBAAuB,CACnC,oBAAoB,EAAE,KAAK,CAAC,WAAW,CAAC,EACxC,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,UAA+B,GACzC,MAAM;CA0CV"}
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BackupCode = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
6
+ const node_ecies_lib_1 = require("@digitaldefiance/node-ecies-lib");
7
+ const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
8
+ const argon2 = tslib_1.__importStar(require("argon2"));
9
+ const crypto_1 = require("crypto");
10
+ const constants_1 = require("./constants");
11
+ const invalid_backup_code_version_1 = require("./errors/invalid-backup-code-version");
12
+ const symmetric_1 = require("./services/symmetric");
13
+ /**
14
+ * Class representing a backup code string with associated operations.
15
+ *
16
+ * v1 scheme:
17
+ * - Code: 32 lowercase alphanumerics (a–z0–9), displayed as 8 groups of 4: xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx
18
+ * - Checksum/tag: HKDF-SHA256(codeUtf8, salt, "backup-checksum") → 32 bytes (stored as hex)
19
+ * - KDF for encryption key: Argon2id(codeUtf8, salt) → 32 bytes
20
+ * - Encryption: SymmetricService AEAD (encryptedData must embed IV + authTag + ciphertext)
21
+ * - Wrapping: AEAD blob wrapped with system user's asymmetric key (ECIES)
22
+ */
23
+ class BackupCode extends suite_core_lib_1.BackupCodeString {
24
+ /** Current backup code scheme version implemented by this service. */
25
+ static BackupCodeVersion = '1.0.0';
26
+ // Centralized Argon2id parameters (tunable)
27
+ static Argon2Params = {
28
+ type: argon2.argon2id,
29
+ hashLength: 32, // derive AES-256 key
30
+ timeCost: 3,
31
+ memoryCost: 65536, // 64 MiB
32
+ parallelism: 1,
33
+ raw: true,
34
+ };
35
+ constructor(code) {
36
+ super(code);
37
+ }
38
+ /**
39
+ * Generate the configured number of backup codes.
40
+ * Note: If generation alphabet/length is controlled elsewhere, prefer that path.
41
+ */
42
+ static generateBackupCodes(constants = constants_1.LocalhostConstants) {
43
+ const codes = [];
44
+ for (let i = 0; i < constants.BACKUP_CODES.Count; i++) {
45
+ codes.push(new BackupCode(BackupCode.generateBackupCode()));
46
+ }
47
+ return codes;
48
+ }
49
+ /**
50
+ * HKDF-Extract-and-Expand using HMAC-SHA-256.
51
+ *
52
+ * PRK = HMAC(salt, ikm)
53
+ * T(0) = empty
54
+ * T(i) = HMAC(PRK, T(i-1) || info || i)
55
+ * OKM = first 'length' bytes of T(1) || T(2) || ...
56
+ */
57
+ static hkdfSha256(ikm, salt, info, length) {
58
+ if (length === 0) {
59
+ return Buffer.alloc(0);
60
+ }
61
+ // HKDF-Extract: PRK = HMAC-Hash(salt, IKM)
62
+ // If salt is empty, use a string of HashLen zeros
63
+ const actualSalt = salt.length === 0 ? Buffer.alloc(32, 0) : salt;
64
+ const prk = (0, crypto_1.createHmac)('sha256', actualSalt).update(ikm).digest();
65
+ // HKDF-Expand
66
+ const blocks = [];
67
+ let prev = Buffer.alloc(0);
68
+ const n = Math.ceil(length / 32);
69
+ for (let i = 1; i <= n; i++) {
70
+ const hmac = (0, crypto_1.createHmac)('sha256', prk);
71
+ hmac.update(prev);
72
+ hmac.update(info);
73
+ hmac.update(Buffer.from([i]));
74
+ prev = Buffer.from(hmac.digest());
75
+ blocks.push(prev);
76
+ }
77
+ return Buffer.concat(blocks).subarray(0, length);
78
+ }
79
+ /**
80
+ * v1: Derive a 32-byte encryption key from a normalized backup code using Argon2id and the per-code salt.
81
+ * Uses UTF-8 bytes of the normalized code (not hex).
82
+ */
83
+ static async getBackupKeyV1(checksumSaltHex, normalizedCode, constants = constants_1.LocalhostConstants) {
84
+ if (!constants.BACKUP_CODES.NormalizedHexRegex.test(normalizedCode)) {
85
+ throw new suite_core_lib_1.InvalidBackupCodeError();
86
+ }
87
+ const codeBytes = Buffer.from(normalizedCode, 'utf8');
88
+ const checksumSalt = Buffer.from(checksumSaltHex, 'hex');
89
+ try {
90
+ const key = (await argon2.hash(codeBytes, {
91
+ ...BackupCode.Argon2Params,
92
+ salt: checksumSalt,
93
+ }));
94
+ return key; // 32-byte Buffer
95
+ }
96
+ finally {
97
+ codeBytes.fill(0);
98
+ }
99
+ }
100
+ /**
101
+ * v1: Compute a 32-byte checksum/tag for a normalized code using HKDF-SHA256(codeUtf8, salt, "backup-checksum").
102
+ */
103
+ static computeChecksumV1(normalizedCode, checksumSalt) {
104
+ const codeBytes = Buffer.from(normalizedCode, 'utf8');
105
+ try {
106
+ return BackupCode.hkdfSha256(codeBytes, checksumSalt, Buffer.from('backup-checksum'), 32);
107
+ }
108
+ finally {
109
+ codeBytes.fill(0);
110
+ }
111
+ }
112
+ async encrypt(backupUser, systemUser, constants = constants_1.LocalhostConstants) {
113
+ if (!backupUser.hasPrivateKey) {
114
+ throw new suite_core_lib_1.PrivateKeyRequiredError();
115
+ }
116
+ if (systemUser.type !== ecies_lib_1.MemberType.System) {
117
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_SystemUserMustBeSystemMemberType);
118
+ }
119
+ const raw = this.value ?? '';
120
+ const normalized = BackupCode.normalizeCode(raw);
121
+ if (!(constants.BACKUP_CODES.DisplayRegex.test(raw) ||
122
+ constants.BACKUP_CODES.NormalizedHexRegex.test(normalized))) {
123
+ throw new suite_core_lib_1.InvalidBackupCodeError();
124
+ }
125
+ const checksumSalt = (0, crypto_1.randomBytes)(node_ecies_lib_1.Constants.PBKDF2.SALT_BYTES);
126
+ const checksumBuf = BackupCode.computeChecksumV1(normalized, checksumSalt);
127
+ const encryptionKey = await BackupCode.getBackupKeyV1(checksumSalt.toString('hex'), normalized, constants);
128
+ try {
129
+ const sealed = symmetric_1.SymmetricService.encryptBuffer(Buffer.from(backupUser.privateKey.value), encryptionKey);
130
+ const wrappedEncryptedPrivateKey = systemUser
131
+ .encryptData(sealed.encryptedData)
132
+ .toString('hex');
133
+ return {
134
+ version: BackupCode.BackupCodeVersion,
135
+ checksumSalt: checksumSalt.toString('hex'),
136
+ checksum: checksumBuf.toString('hex'),
137
+ encrypted: wrappedEncryptedPrivateKey,
138
+ };
139
+ }
140
+ finally {
141
+ encryptionKey.fill(0);
142
+ checksumBuf.fill(0);
143
+ }
144
+ }
145
+ /**
146
+ * v1: Encrypt and wrap backup codes for a user.
147
+ * - Validates code format (display or normalized)
148
+ * - Computes HKDF checksum/tag
149
+ * - Derives Argon2id encryption key (32 bytes) from UTF-8 code
150
+ * - Encrypts the private key with AEAD and wraps with system user
151
+ */
152
+ static async encryptBackupCodesV1(backupUser, systemUser, codes) {
153
+ const encryptedCodes = [];
154
+ for (const code of codes) {
155
+ encryptedCodes.push(await code.encrypt(backupUser, systemUser));
156
+ }
157
+ return encryptedCodes;
158
+ }
159
+ /** Delegate to current version. */
160
+ static encryptBackupCodes(backupUser, systemUser, codes) {
161
+ return BackupCode.encryptBackupCodesV1(backupUser, systemUser, codes);
162
+ }
163
+ /**
164
+ * v1: Validate whether a backup code exists (unused) in the provided collection.
165
+ * Uses constant-time comparison of binary checksums (codeUtf8 + salt).
166
+ */
167
+ static validateBackupCodeV1(encryptedBackupCodes, backupCode, constants = constants_1.LocalhostConstants) {
168
+ const normalizedCode = suite_core_lib_1.BackupCodeString.normalizeCode(backupCode);
169
+ if (!constants.BACKUP_CODES.NormalizedHexRegex.test(normalizedCode)) {
170
+ return false;
171
+ }
172
+ const codeBytes = Buffer.from(normalizedCode, 'utf8');
173
+ try {
174
+ for (const code of encryptedBackupCodes) {
175
+ if (code.version !== BackupCode.BackupCodeVersion)
176
+ continue;
177
+ const checksumSalt = Buffer.from(code.checksumSalt, 'hex');
178
+ const expected = BackupCode.hkdfSha256(codeBytes, checksumSalt, Buffer.from('backup-checksum'), 32);
179
+ if (code.checksum.length === expected.length * 2 &&
180
+ (0, crypto_1.timingSafeEqual)(Buffer.from(code.checksum, 'hex'), expected)) {
181
+ return true;
182
+ }
183
+ }
184
+ return false;
185
+ }
186
+ finally {
187
+ codeBytes.fill(0);
188
+ }
189
+ }
190
+ /**
191
+ * Validate a backup code against any supported version present in the collection.
192
+ */
193
+ static validateBackupCode(encryptedBackupCodes, backupCode, constants = constants_1.LocalhostConstants) {
194
+ const normalizedCode = suite_core_lib_1.BackupCodeString.normalizeCode(backupCode);
195
+ if (!constants.BACKUP_CODES.NormalizedHexRegex.test(normalizedCode)) {
196
+ return false;
197
+ }
198
+ if (encryptedBackupCodes.some((c) => c.version === BackupCode.BackupCodeVersion)) {
199
+ return this.validateBackupCodeV1(encryptedBackupCodes.filter((c) => c.version === BackupCode.BackupCodeVersion), normalizedCode);
200
+ }
201
+ return false;
202
+ }
203
+ /**
204
+ * Detect the version by matching checksum against stored codes; returns the matched version.
205
+ */
206
+ static detectBackupCodeVersion(encryptedBackupCodes, backupCode, constants = constants_1.LocalhostConstants) {
207
+ const normalizedCode = suite_core_lib_1.BackupCodeString.normalizeCode(backupCode);
208
+ if (!constants.BACKUP_CODES.NormalizedHexRegex.test(normalizedCode)) {
209
+ throw new suite_core_lib_1.InvalidBackupCodeError();
210
+ }
211
+ const v1Set = encryptedBackupCodes.filter((c) => c.version === BackupCode.BackupCodeVersion);
212
+ if (v1Set.length) {
213
+ const codeBytes = Buffer.from(normalizedCode, 'utf8');
214
+ try {
215
+ for (const c of v1Set) {
216
+ const checksumSalt = Buffer.from(c.checksumSalt, 'hex');
217
+ const expected = BackupCode.hkdfSha256(codeBytes, checksumSalt, Buffer.from('backup-checksum'), 32);
218
+ if (c.checksum.length === expected.length * 2 &&
219
+ (0, crypto_1.timingSafeEqual)(Buffer.from(c.checksum, 'hex'), expected)) {
220
+ return c.version;
221
+ }
222
+ }
223
+ }
224
+ finally {
225
+ // zeroize
226
+ codeBytes.fill(0);
227
+ }
228
+ }
229
+ const versionsInSet = new Set(encryptedBackupCodes.map((c) => c.version));
230
+ if (versionsInSet.size > 0 &&
231
+ !versionsInSet.has(BackupCode.BackupCodeVersion)) {
232
+ throw new invalid_backup_code_version_1.InvalidBackupCodeVersionError([...versionsInSet][0]);
233
+ }
234
+ throw new suite_core_lib_1.InvalidBackupCodeError();
235
+ }
236
+ }
237
+ exports.BackupCode = BackupCode;
238
+ //# sourceMappingURL=backup-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup-code.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/backup-code.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import mongoose from '@digitaldefiance/mongoose-types';
2
+ import { Application } from '../application';
3
+ import { BaseRouter } from '../routers/base';
4
+ import { AppRouter } from '../routers/app';
5
+ import { Environment } from '../environment';
6
+ import { IConstants } from '../interfaces/constants';
7
+ import { ICSPConfig, IFailableResult, IServerInitResult } from '../interfaces';
8
+ import { SchemaMap } from '../types';
9
+ import { IBaseDocument } from '../documents';
10
+ import { BaseApplication } from '../application-base';
11
+ import { HelmetOptions } from 'helmet';
12
+ import { IFlexibleCSP } from '../interfaces/flexible-csp';
13
+ import { initMiddleware } from '../middlewares';
14
+ export declare class ApplicationBuilder<TModelDocs extends Record<string, IBaseDocument<any>>, TInitResults extends IServerInitResult, TConstants extends IConstants = IConstants> {
15
+ private environment?;
16
+ private apiRouterFactory?;
17
+ private appRouterFactory?;
18
+ private schemaMapFactory?;
19
+ private databaseInitFunction?;
20
+ private initResultHashFunction?;
21
+ private cspConfig?;
22
+ private constants?;
23
+ private customInitMiddleware?;
24
+ withEnvironment(env: Environment): this;
25
+ withApiRouter(factory: (app: any) => BaseRouter): this;
26
+ withAppRouter(factory: (apiRouter: BaseRouter) => AppRouter): this;
27
+ withSchemaMap(factory: (connection: mongoose.Connection) => SchemaMap<TModelDocs>): this;
28
+ withDatabaseInit(initFn: (app: BaseApplication<TModelDocs, TInitResults>) => Promise<IFailableResult<TInitResults>>, hashFn: (results: TInitResults) => string): this;
29
+ withCSP(config: ICSPConfig | HelmetOptions | IFlexibleCSP): this;
30
+ withConstants(constants: TConstants): this;
31
+ withMiddleware(middleware: typeof initMiddleware): this;
32
+ build(): Application<TInitResults, TModelDocs, Environment, TConstants, AppRouter>;
33
+ }
34
+ //# sourceMappingURL=application-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-builder.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/builders/application-builder.ts"],"names":[],"mappings":"AAAA,OAAO,QAAmB,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,qBAAa,kBAAkB,CAC7B,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EACrD,YAAY,SAAS,iBAAiB,EACtC,UAAU,SAAS,UAAU,GAAG,UAAU;IAE1C,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,gBAAgB,CAAC,CAA2B;IACpD,OAAO,CAAC,gBAAgB,CAAC,CAAuC;IAChE,OAAO,CAAC,gBAAgB,CAAC,CAA6D;IACtF,OAAO,CAAC,oBAAoB,CAAC,CAA6F;IAC1H,OAAO,CAAC,sBAAsB,CAAC,CAAoC;IACnE,OAAO,CAAC,SAAS,CAAC,CAA4C;IAC9D,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,oBAAoB,CAAC,CAAwB;IAErD,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAKvC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,UAAU,GAAG,IAAI;IAKtD,aAAa,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,SAAS,GAAG,IAAI;IAKlE,aAAa,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI;IAKxF,gBAAgB,CACd,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EAClG,MAAM,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,MAAM,GACxC,IAAI;IAMP,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,IAAI;IAKhE,aAAa,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAK1C,cAAc,CAAC,UAAU,EAAE,OAAO,cAAc,GAAG,IAAI;IAKvD,KAAK,IAAI,WAAW,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC;CAmBnF"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApplicationBuilder = void 0;
4
+ const application_1 = require("../application");
5
+ const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
6
+ class ApplicationBuilder {
7
+ environment;
8
+ apiRouterFactory;
9
+ appRouterFactory;
10
+ schemaMapFactory;
11
+ databaseInitFunction;
12
+ initResultHashFunction;
13
+ cspConfig;
14
+ constants;
15
+ customInitMiddleware;
16
+ withEnvironment(env) {
17
+ this.environment = env;
18
+ return this;
19
+ }
20
+ withApiRouter(factory) {
21
+ this.apiRouterFactory = factory;
22
+ return this;
23
+ }
24
+ withAppRouter(factory) {
25
+ this.appRouterFactory = factory;
26
+ return this;
27
+ }
28
+ withSchemaMap(factory) {
29
+ this.schemaMapFactory = factory;
30
+ return this;
31
+ }
32
+ withDatabaseInit(initFn, hashFn) {
33
+ this.databaseInitFunction = initFn;
34
+ this.initResultHashFunction = hashFn;
35
+ return this;
36
+ }
37
+ withCSP(config) {
38
+ this.cspConfig = config;
39
+ return this;
40
+ }
41
+ withConstants(constants) {
42
+ this.constants = constants;
43
+ return this;
44
+ }
45
+ withMiddleware(middleware) {
46
+ this.customInitMiddleware = middleware;
47
+ return this;
48
+ }
49
+ build() {
50
+ if (!this.environment)
51
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_EnvironmentIsRequired);
52
+ if (!this.apiRouterFactory)
53
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_ApiRouterFactoryIsRequired);
54
+ if (!this.schemaMapFactory)
55
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_SchemaMapFactoryIsRequired);
56
+ if (!this.databaseInitFunction)
57
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_DatabaseInitFunctionIsRequired);
58
+ if (!this.initResultHashFunction)
59
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_InitResultHashFunctionIsRequired);
60
+ return new application_1.Application(this.environment, this.apiRouterFactory, this.schemaMapFactory, this.databaseInitFunction, this.initResultHashFunction, this.cspConfig, this.constants, this.appRouterFactory, this.customInitMiddleware);
61
+ }
62
+ }
63
+ exports.ApplicationBuilder = ApplicationBuilder;
64
+ //# sourceMappingURL=application-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-builder.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/builders/application-builder.ts"],"names":[],"mappings":";;;AACA,gDAA6C;AAY7C,oEAA6F;AAE7F,MAAa,kBAAkB;IAKrB,WAAW,CAAe;IAC1B,gBAAgB,CAA4B;IAC5C,gBAAgB,CAAwC;IACxD,gBAAgB,CAA8D;IAC9E,oBAAoB,CAA8F;IAClH,sBAAsB,CAAqC;IAC3D,SAAS,CAA6C;IACtD,SAAS,CAAc;IACvB,oBAAoB,CAAyB;IAErD,eAAe,CAAC,GAAgB;QAC9B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,OAAiC;QAC7C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,OAA6C;QACzD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,OAAmE;QAC/E,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CACd,MAAkG,EAClG,MAAyC;QAEzC,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC;QACnC,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,MAAiD;QACvD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,SAAqB;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,UAAiC;QAC9C,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,uCAAsB,CAAC,mCAAkB,CAAC,2BAA2B,CAAC,CAAC;QACxG,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,MAAM,IAAI,uCAAsB,CAAC,mCAAkB,CAAC,gCAAgC,CAAC,CAAC;QAClH,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,MAAM,IAAI,uCAAsB,CAAC,mCAAkB,CAAC,gCAAgC,CAAC,CAAC;QAClH,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAAE,MAAM,IAAI,uCAAsB,CAAC,mCAAkB,CAAC,oCAAoC,CAAC,CAAC;QAC1H,IAAI,CAAC,IAAI,CAAC,sBAAsB;YAAE,MAAM,IAAI,uCAAsB,CAAC,mCAAkB,CAAC,sCAAsC,CAAC,CAAC;QAE9H,OAAO,IAAI,yBAAW,CACpB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,oBAAoB,CAC1B,CAAC;IACJ,CAAC;CACF;AA9ED,gDA8EC"}
@@ -1 +1,2 @@
1
1
  export * from './application-builder';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/builders/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./application-builder"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/builders/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC"}
@@ -0,0 +1,16 @@
1
+ import { IFECConsts } from './interfaces';
2
+ import { IChecksumConsts } from './interfaces/checksum-consts';
3
+ import { IConstants } from './interfaces/constants';
4
+ import { IJwtConsts } from './interfaces/jwt-consts';
5
+ /**
6
+ * Constants for checksum operations
7
+ * These values are critical for data integrity and MUST NOT be changed
8
+ * in an already established system as it will break all existing checksums.
9
+ */
10
+ export declare const CHECKSUM: IChecksumConsts;
11
+ export declare const JWT: IJwtConsts;
12
+ export declare const FEC: IFECConsts;
13
+ export declare const ECIES: Readonly<import("@digitaldefiance/ecies-lib").IECIESConstants>;
14
+ export declare const createExpressConstants: (siteDomain: string, siteHostname: string, overrides?: Partial<IConstants>) => IConstants;
15
+ export declare const LocalhostConstants: IConstants;
16
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/constants.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,eAYZ,CAAC;AAEZ,eAAO,MAAM,GAAG,EAAE,UAUR,CAAC;AAEX,eAAO,MAAM,GAAG,EAAE,UAKR,CAAC;AAGX,eAAO,MAAM,KAAK,gEAA+B,CAAC;AAElD,eAAO,MAAM,sBAAsB,GACjC,YAAY,MAAM,EAClB,cAAc,MAAM,EACpB,YAAY,OAAO,CAAC,UAAU,CAAC,KAC9B,UAWF,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,UAGhC,CAAC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LocalhostConstants = exports.createExpressConstants = exports.ECIES = exports.FEC = exports.JWT = exports.CHECKSUM = void 0;
4
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
5
+ const node_ecies_lib_1 = require("@digitaldefiance/node-ecies-lib");
6
+ const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
7
+ /**
8
+ * Constants for checksum operations
9
+ * These values are critical for data integrity and MUST NOT be changed
10
+ * in an already established system as it will break all existing checksums.
11
+ */
12
+ exports.CHECKSUM = Object.freeze({
13
+ /** Default hash bits for SHA3 */
14
+ SHA3_DEFAULT_HASH_BITS: 512,
15
+ /** Length of a SHA3 checksum buffer in bytes */
16
+ SHA3_BUFFER_LENGTH: 64,
17
+ /** algorithm to use for checksum */
18
+ ALGORITHM: 'sha3-512',
19
+ /** encoding to use for checksum */
20
+ ENCODING: 'hex',
21
+ });
22
+ exports.JWT = {
23
+ /**
24
+ * Algorithm to use for JWT
25
+ */
26
+ ALGORITHM: 'HS256',
27
+ /**
28
+ * The expiration time for a JWT token in seconds
29
+ */
30
+ EXPIRATION_SEC: 86400,
31
+ };
32
+ exports.FEC = {
33
+ /**
34
+ * Maximum size of a single shard
35
+ */
36
+ MAX_SHARD_SIZE: 1048576,
37
+ };
38
+ // use defaults from ecies-lib
39
+ exports.ECIES = Object.freeze(ecies_lib_1.ECIES);
40
+ const createExpressConstants = (siteDomain, siteHostname, overrides) => {
41
+ return Object.freeze({
42
+ ...node_ecies_lib_1.Constants,
43
+ CHECKSUM: exports.CHECKSUM,
44
+ JWT: exports.JWT,
45
+ FEC: exports.FEC,
46
+ ECIES: exports.ECIES,
47
+ ECIES_VERSION_SIZE: 1,
48
+ ECIES_CIPHER_SUITE_SIZE: 1,
49
+ ...(0, suite_core_lib_1.createConstants)(siteDomain, siteHostname, overrides),
50
+ });
51
+ };
52
+ exports.createExpressConstants = createExpressConstants;
53
+ exports.LocalhostConstants = (0, exports.createExpressConstants)('localhost', 'localhost');
54
+ if (exports.CHECKSUM.SHA3_BUFFER_LENGTH !== exports.CHECKSUM.SHA3_DEFAULT_HASH_BITS / 8 ||
55
+ exports.CHECKSUM.SHA3_BUFFER_LENGTH !== exports.CHECKSUM.SHA3_DEFAULT_HASH_BITS / 8) {
56
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_InvalidChecksumConstants);
57
+ }
58
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/constants.ts"],"names":[],"mappings":";;;AAAA,0DAAoE;AACpE,oEAAkF;AAClF,oEAIyC;AAMzC;;;;GAIG;AACU,QAAA,QAAQ,GAAoB,MAAM,CAAC,MAAM,CAAC;IACrD,iCAAiC;IACjC,sBAAsB,EAAE,GAAY;IAEpC,gDAAgD;IAChD,kBAAkB,EAAE,EAAW;IAE/B,oCAAoC;IACpC,SAAS,EAAE,UAAmB;IAE9B,mCAAmC;IACnC,QAAQ,EAAE,KAAc;CAChB,CAAC,CAAC;AAEC,QAAA,GAAG,GAAe;IAC7B;;OAEG;IACH,SAAS,EAAE,OAAgB;IAE3B;;OAEG;IACH,cAAc,EAAE,KAAc;CACtB,CAAC;AAEE,QAAA,GAAG,GAAe;IAC7B;;OAEG;IACH,cAAc,EAAE,OAAgB;CACxB,CAAC;AAEX,8BAA8B;AACjB,QAAA,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAa,CAAC,CAAC;AAE3C,MAAM,sBAAsB,GAAG,CACpC,UAAkB,EAClB,YAAoB,EACpB,SAA+B,EACnB,EAAE;IACd,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,0BAAkB;QACrB,QAAQ,EAAE,gBAAQ;QAClB,GAAG,EAAE,WAAG;QACR,GAAG,EAAE,WAAG;QACR,KAAK,EAAE,aAAK;QACZ,kBAAkB,EAAE,CAAC;QACrB,uBAAuB,EAAE,CAAC;QAC1B,GAAG,IAAA,gCAAe,EAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC;KAC1C,CAAC,CAAC;AACnB,CAAC,CAAC;AAfW,QAAA,sBAAsB,0BAejC;AAEW,QAAA,kBAAkB,GAAe,IAAA,8BAAsB,EAClE,WAAW,EACX,WAAW,CACZ,CAAC;AAEF,IACE,gBAAQ,CAAC,kBAAkB,KAAK,gBAAQ,CAAC,sBAAsB,GAAG,CAAC;IACnE,gBAAQ,CAAC,kBAAkB,KAAK,gBAAQ,CAAC,sBAAsB,GAAG,CAAC,EACnE,CAAC;IACD,MAAM,IAAI,uCAAsB,CAC9B,mCAAkB,CAAC,8BAA8B,CAClD,CAAC;AACJ,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from './service-container';
2
2
  export * from './service-definitions';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/container/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./service-container"), exports);
5
+ tslib_1.__exportStar(require("./service-definitions"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/container/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,gEAAsC"}
@@ -0,0 +1,11 @@
1
+ export type ServiceFactory<T = any> = () => T;
2
+ export declare class ServiceContainer {
3
+ private services;
4
+ private instances;
5
+ private singletons;
6
+ register<T>(key: string, factory: ServiceFactory<T>, singleton?: boolean): void;
7
+ get<T>(key: string): T;
8
+ has(key: string): boolean;
9
+ clear(): void;
10
+ }
11
+ //# sourceMappingURL=service-container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-container.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/container/service-container.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC;AAE9C,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,UAAU,CAAqB;IAEvC,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,SAAS,UAAO,GAAG,IAAI;IAO5E,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC;IAetB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceContainer = void 0;
4
+ const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
5
+ class ServiceContainer {
6
+ services = new Map();
7
+ instances = new Map();
8
+ singletons = new Set();
9
+ register(key, factory, singleton = true) {
10
+ this.services.set(key, factory);
11
+ if (singleton) {
12
+ this.singletons.add(key);
13
+ }
14
+ }
15
+ get(key) {
16
+ if (this.singletons.has(key)) {
17
+ if (!this.instances.has(key)) {
18
+ const factory = this.services.get(key);
19
+ if (!factory)
20
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_ServiceIsNotRegisteredTemplate, { key });
21
+ this.instances.set(key, factory());
22
+ }
23
+ return this.instances.get(key);
24
+ }
25
+ const factory = this.services.get(key);
26
+ if (!factory)
27
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_ServiceIsNotRegisteredTemplate, { key });
28
+ return factory();
29
+ }
30
+ has(key) {
31
+ return this.services.has(key);
32
+ }
33
+ clear() {
34
+ this.instances.clear();
35
+ }
36
+ }
37
+ exports.ServiceContainer = ServiceContainer;
38
+ //# sourceMappingURL=service-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-container.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/container/service-container.ts"],"names":[],"mappings":";;;AAAA,oEAA6F;AAI7F,MAAa,gBAAgB;IACnB,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC7C,SAAS,GAAG,IAAI,GAAG,EAAe,CAAC;IACnC,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,QAAQ,CAAI,GAAW,EAAE,OAA0B,EAAE,SAAS,GAAG,IAAI;QACnE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAChC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,GAAG,CAAI,GAAW;QAChB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,CAAC,OAAO;oBAAE,MAAM,IAAI,uCAAsB,CAAC,mCAAkB,CAAC,oCAAoC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,uCAAsB,CAAC,mCAAkB,CAAC,oCAAoC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACjH,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;AAlCD,4CAkCC"}
@@ -0,0 +1,11 @@
1
+ export declare const ServiceKeys: {
2
+ readonly JWT: "jwt";
3
+ readonly EMAIL: "email";
4
+ readonly ECIES: "ecies";
5
+ readonly KEY_WRAPPING: "keyWrapping";
6
+ readonly ROLE: "role";
7
+ readonly USER: "user";
8
+ readonly BACKUP_CODE: "backupCode";
9
+ };
10
+ export type ServiceKey = typeof ServiceKeys[keyof typeof ServiceKeys];
11
+ //# sourceMappingURL=service-definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-definitions.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/container/service-definitions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;CAQd,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC"}