@digitaldefiance/node-express-suite 3.7.4 → 3.7.6

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 (600) hide show
  1. package/package.json +2 -2
  2. package/src/__tests__/helpers/setup-test-env.d.ts +1 -1
  3. package/src/__tests__/helpers/setup-test-env.d.ts.map +1 -1
  4. package/src/__tests__/helpers/setup-test-env.js.map +1 -1
  5. package/src/application-base.d.ts +9 -4
  6. package/src/application-base.d.ts.map +1 -1
  7. package/src/application-base.js +5 -0
  8. package/src/application-base.js.map +1 -1
  9. package/src/application-concrete.d.ts +14 -1
  10. package/src/application-concrete.d.ts.map +1 -1
  11. package/src/application-concrete.js +14 -1
  12. package/src/application-concrete.js.map +1 -1
  13. package/src/application.d.ts +7 -2
  14. package/src/application.d.ts.map +1 -1
  15. package/src/application.js +5 -0
  16. package/src/application.js.map +1 -1
  17. package/src/backup-code.d.ts +5 -0
  18. package/src/backup-code.d.ts.map +1 -1
  19. package/src/backup-code.js +5 -0
  20. package/src/backup-code.js.map +1 -1
  21. package/src/builders/application-builder.d.ts +13 -1
  22. package/src/builders/application-builder.d.ts.map +1 -1
  23. package/src/builders/application-builder.js +12 -0
  24. package/src/builders/application-builder.js.map +1 -1
  25. package/src/constants.d.ts +5 -0
  26. package/src/constants.d.ts.map +1 -1
  27. package/src/constants.js +5 -0
  28. package/src/constants.js.map +1 -1
  29. package/src/container/service-container.d.ts +34 -0
  30. package/src/container/service-container.d.ts.map +1 -1
  31. package/src/container/service-container.js +30 -0
  32. package/src/container/service-container.js.map +1 -1
  33. package/src/container/service-definitions.d.ts +11 -0
  34. package/src/container/service-definitions.d.ts.map +1 -1
  35. package/src/container/service-definitions.js +8 -0
  36. package/src/container/service-definitions.js.map +1 -1
  37. package/src/controllers/base.d.ts +21 -8
  38. package/src/controllers/base.d.ts.map +1 -1
  39. package/src/controllers/base.js +13 -0
  40. package/src/controllers/base.js.map +1 -1
  41. package/src/controllers/user.d.ts +25 -8
  42. package/src/controllers/user.d.ts.map +1 -1
  43. package/src/controllers/user.js +17 -0
  44. package/src/controllers/user.js.map +1 -1
  45. package/src/database/database-initializer.d.ts +5 -0
  46. package/src/database/database-initializer.d.ts.map +1 -1
  47. package/src/database/database-initializer.js +5 -0
  48. package/src/database/database-initializer.js.map +1 -1
  49. package/src/decorators/base-controller.d.ts +11 -0
  50. package/src/decorators/base-controller.d.ts.map +1 -1
  51. package/src/decorators/base-controller.js +11 -0
  52. package/src/decorators/base-controller.js.map +1 -1
  53. package/src/decorators/controller.d.ts +5 -0
  54. package/src/decorators/controller.d.ts.map +1 -1
  55. package/src/decorators/controller.js +5 -0
  56. package/src/decorators/controller.js.map +1 -1
  57. package/src/decorators/zod-validation.d.ts +5 -0
  58. package/src/decorators/zod-validation.d.ts.map +1 -1
  59. package/src/decorators/zod-validation.js +5 -0
  60. package/src/decorators/zod-validation.js.map +1 -1
  61. package/src/defaults.d.ts +5 -0
  62. package/src/defaults.d.ts.map +1 -1
  63. package/src/defaults.js +5 -0
  64. package/src/defaults.js.map +1 -1
  65. package/src/documents/base.d.ts +12 -1
  66. package/src/documents/base.d.ts.map +1 -1
  67. package/src/documents/base.js +5 -0
  68. package/src/documents/base.js.map +1 -1
  69. package/src/documents/email-token.d.ts +9 -2
  70. package/src/documents/email-token.d.ts.map +1 -1
  71. package/src/documents/email-token.js +5 -0
  72. package/src/documents/email-token.js.map +1 -1
  73. package/src/documents/mnemonic.d.ts +10 -2
  74. package/src/documents/mnemonic.d.ts.map +1 -1
  75. package/src/documents/mnemonic.js +5 -0
  76. package/src/documents/mnemonic.js.map +1 -1
  77. package/src/documents/role.d.ts +9 -2
  78. package/src/documents/role.d.ts.map +1 -1
  79. package/src/documents/role.js +5 -0
  80. package/src/documents/role.js.map +1 -1
  81. package/src/documents/used-direct-login-token.d.ts +12 -1
  82. package/src/documents/used-direct-login-token.d.ts.map +1 -1
  83. package/src/documents/used-direct-login-token.js +5 -0
  84. package/src/documents/used-direct-login-token.js.map +1 -1
  85. package/src/documents/user-role.d.ts +10 -2
  86. package/src/documents/user-role.d.ts.map +1 -1
  87. package/src/documents/user-role.js +5 -0
  88. package/src/documents/user-role.js.map +1 -1
  89. package/src/documents/user.d.ts +10 -2
  90. package/src/documents/user.d.ts.map +1 -1
  91. package/src/documents/user.js +5 -0
  92. package/src/documents/user.js.map +1 -1
  93. package/src/enumerations/base-model-name.d.ts +5 -0
  94. package/src/enumerations/base-model-name.d.ts.map +1 -1
  95. package/src/enumerations/base-model-name.js +5 -0
  96. package/src/enumerations/base-model-name.js.map +1 -1
  97. package/src/enumerations/length-encoding-type.d.ts +9 -0
  98. package/src/enumerations/length-encoding-type.d.ts.map +1 -1
  99. package/src/enumerations/length-encoding-type.js +9 -0
  100. package/src/enumerations/length-encoding-type.js.map +1 -1
  101. package/src/enumerations/schema-collection.d.ts +5 -0
  102. package/src/enumerations/schema-collection.d.ts.map +1 -1
  103. package/src/enumerations/schema-collection.js +5 -0
  104. package/src/enumerations/schema-collection.js.map +1 -1
  105. package/src/enumerations/symmetric-error-type.d.ts +8 -0
  106. package/src/enumerations/symmetric-error-type.d.ts.map +1 -1
  107. package/src/enumerations/symmetric-error-type.js +8 -0
  108. package/src/enumerations/symmetric-error-type.js.map +1 -1
  109. package/src/environment.d.ts +15 -10
  110. package/src/environment.d.ts.map +1 -1
  111. package/src/environment.js +5 -0
  112. package/src/environment.js.map +1 -1
  113. package/src/errors/express-validation.d.ts +15 -0
  114. package/src/errors/express-validation.d.ts.map +1 -1
  115. package/src/errors/express-validation.js +15 -0
  116. package/src/errors/express-validation.js.map +1 -1
  117. package/src/errors/invalid-backup-code-version.d.ts +13 -0
  118. package/src/errors/invalid-backup-code-version.d.ts.map +1 -1
  119. package/src/errors/invalid-backup-code-version.js +13 -0
  120. package/src/errors/invalid-backup-code-version.js.map +1 -1
  121. package/src/errors/invalid-jwt-token.d.ts +12 -0
  122. package/src/errors/invalid-jwt-token.d.ts.map +1 -1
  123. package/src/errors/invalid-jwt-token.js +12 -0
  124. package/src/errors/invalid-jwt-token.js.map +1 -1
  125. package/src/errors/invalid-model.d.ts +12 -0
  126. package/src/errors/invalid-model.d.ts.map +1 -1
  127. package/src/errors/invalid-model.js +12 -0
  128. package/src/errors/invalid-model.js.map +1 -1
  129. package/src/errors/invalid-new-password.d.ts +14 -0
  130. package/src/errors/invalid-new-password.d.ts.map +1 -1
  131. package/src/errors/invalid-new-password.js +14 -0
  132. package/src/errors/invalid-new-password.js.map +1 -1
  133. package/src/errors/invalid-password.d.ts +14 -0
  134. package/src/errors/invalid-password.d.ts.map +1 -1
  135. package/src/errors/invalid-password.js +14 -0
  136. package/src/errors/invalid-password.js.map +1 -1
  137. package/src/errors/missing-validated-data.d.ts +17 -0
  138. package/src/errors/missing-validated-data.d.ts.map +1 -1
  139. package/src/errors/missing-validated-data.js +17 -0
  140. package/src/errors/missing-validated-data.js.map +1 -1
  141. package/src/errors/mnemonic-or-password-required.d.ts +12 -0
  142. package/src/errors/mnemonic-or-password-required.d.ts.map +1 -1
  143. package/src/errors/mnemonic-or-password-required.js +12 -0
  144. package/src/errors/mnemonic-or-password-required.js.map +1 -1
  145. package/src/errors/model-not-registered.d.ts +12 -0
  146. package/src/errors/model-not-registered.d.ts.map +1 -1
  147. package/src/errors/model-not-registered.js +12 -0
  148. package/src/errors/model-not-registered.js.map +1 -1
  149. package/src/errors/mongoose-validation.d.ts +16 -0
  150. package/src/errors/mongoose-validation.d.ts.map +1 -1
  151. package/src/errors/mongoose-validation.js +16 -0
  152. package/src/errors/mongoose-validation.js.map +1 -1
  153. package/src/errors/symmetric.d.ts +15 -0
  154. package/src/errors/symmetric.d.ts.map +1 -1
  155. package/src/errors/symmetric.js +15 -0
  156. package/src/errors/symmetric.js.map +1 -1
  157. package/src/errors/token-expired.d.ts +12 -0
  158. package/src/errors/token-expired.d.ts.map +1 -1
  159. package/src/errors/token-expired.js +12 -0
  160. package/src/errors/token-expired.js.map +1 -1
  161. package/src/get-language.d.ts +10 -0
  162. package/src/get-language.d.ts.map +1 -1
  163. package/src/get-language.js +10 -0
  164. package/src/get-language.js.map +1 -1
  165. package/src/get-timezone.d.ts +10 -0
  166. package/src/get-timezone.d.ts.map +1 -1
  167. package/src/get-timezone.js +15 -1
  168. package/src/get-timezone.js.map +1 -1
  169. package/src/interfaces/api-error-response.d.ts +9 -0
  170. package/src/interfaces/api-error-response.d.ts.map +1 -1
  171. package/src/interfaces/api-error-response.js +5 -0
  172. package/src/interfaces/api-error-response.js.map +1 -1
  173. package/src/interfaces/api-express-validation-error-response.d.ts +9 -0
  174. package/src/interfaces/api-express-validation-error-response.d.ts.map +1 -1
  175. package/src/interfaces/api-express-validation-error-response.js +5 -0
  176. package/src/interfaces/api-express-validation-error-response.js.map +1 -1
  177. package/src/interfaces/api-message-response.d.ts +8 -0
  178. package/src/interfaces/api-message-response.d.ts.map +1 -1
  179. package/src/interfaces/api-message-response.js +5 -0
  180. package/src/interfaces/api-message-response.js.map +1 -1
  181. package/src/interfaces/api-mongo-validation-error-response.d.ts +10 -0
  182. package/src/interfaces/api-mongo-validation-error-response.d.ts.map +1 -1
  183. package/src/interfaces/api-mongo-validation-error-response.js +5 -0
  184. package/src/interfaces/api-mongo-validation-error-response.js.map +1 -1
  185. package/src/interfaces/api-responses/backup-codes-response.d.ts +9 -0
  186. package/src/interfaces/api-responses/backup-codes-response.d.ts.map +1 -1
  187. package/src/interfaces/api-responses/backup-codes-response.js +5 -0
  188. package/src/interfaces/api-responses/backup-codes-response.js.map +1 -1
  189. package/src/interfaces/api-responses/challenge-response.d.ts +10 -0
  190. package/src/interfaces/api-responses/challenge-response.d.ts.map +1 -1
  191. package/src/interfaces/api-responses/challenge-response.js +4 -0
  192. package/src/interfaces/api-responses/challenge-response.js.map +1 -1
  193. package/src/interfaces/api-responses/code-count-response.d.ts +6 -0
  194. package/src/interfaces/api-responses/code-count-response.d.ts.map +1 -1
  195. package/src/interfaces/api-responses/code-count-response.js +5 -0
  196. package/src/interfaces/api-responses/code-count-response.js.map +1 -1
  197. package/src/interfaces/api-responses/login-response.d.ts +9 -0
  198. package/src/interfaces/api-responses/login-response.d.ts.map +1 -1
  199. package/src/interfaces/api-responses/login-response.js +5 -0
  200. package/src/interfaces/api-responses/login-response.js.map +1 -1
  201. package/src/interfaces/api-responses/mnemonic-response.d.ts +9 -0
  202. package/src/interfaces/api-responses/mnemonic-response.d.ts.map +1 -1
  203. package/src/interfaces/api-responses/mnemonic-response.js +4 -0
  204. package/src/interfaces/api-responses/mnemonic-response.js.map +1 -1
  205. package/src/interfaces/api-responses/registration-response.d.ts +10 -0
  206. package/src/interfaces/api-responses/registration-response.d.ts.map +1 -1
  207. package/src/interfaces/api-responses/registration-response.js +4 -0
  208. package/src/interfaces/api-responses/registration-response.js.map +1 -1
  209. package/src/interfaces/api-responses/request-user-response.d.ts +9 -0
  210. package/src/interfaces/api-responses/request-user-response.d.ts.map +1 -1
  211. package/src/interfaces/api-responses/request-user-response.js +5 -0
  212. package/src/interfaces/api-responses/request-user-response.js.map +1 -1
  213. package/src/interfaces/api-responses/user-settings-response.d.ts +6 -0
  214. package/src/interfaces/api-responses/user-settings-response.d.ts.map +1 -1
  215. package/src/interfaces/api-responses/user-settings-response.js +5 -0
  216. package/src/interfaces/api-responses/user-settings-response.js.map +1 -1
  217. package/src/interfaces/application.d.ts +22 -0
  218. package/src/interfaces/application.d.ts.map +1 -1
  219. package/src/interfaces/application.js +5 -0
  220. package/src/interfaces/application.js.map +1 -1
  221. package/src/interfaces/backend-objects/email-token.d.ts +10 -1
  222. package/src/interfaces/backend-objects/email-token.d.ts.map +1 -1
  223. package/src/interfaces/backend-objects/email-token.js +5 -0
  224. package/src/interfaces/backend-objects/email-token.js.map +1 -1
  225. package/src/interfaces/backend-objects/request-user.d.ts +11 -1
  226. package/src/interfaces/backend-objects/request-user.d.ts.map +1 -1
  227. package/src/interfaces/backend-objects/request-user.js +5 -0
  228. package/src/interfaces/backend-objects/request-user.js.map +1 -1
  229. package/src/interfaces/backend-objects/role.d.ts +10 -1
  230. package/src/interfaces/backend-objects/role.d.ts.map +1 -1
  231. package/src/interfaces/backend-objects/role.js +5 -0
  232. package/src/interfaces/backend-objects/role.js.map +1 -1
  233. package/src/interfaces/backend-objects/user.d.ts +11 -1
  234. package/src/interfaces/backend-objects/user.d.ts.map +1 -1
  235. package/src/interfaces/backend-objects/user.js +5 -0
  236. package/src/interfaces/backend-objects/user.js.map +1 -1
  237. package/src/interfaces/checksum-config.d.ts +10 -0
  238. package/src/interfaces/checksum-config.d.ts.map +1 -1
  239. package/src/interfaces/checksum-config.js +5 -0
  240. package/src/interfaces/checksum-config.js.map +1 -1
  241. package/src/interfaces/checksum-consts.d.ts +9 -0
  242. package/src/interfaces/checksum-consts.d.ts.map +1 -1
  243. package/src/interfaces/checksum-consts.js +5 -0
  244. package/src/interfaces/checksum-consts.js.map +1 -1
  245. package/src/interfaces/constants.d.ts +7 -2
  246. package/src/interfaces/constants.d.ts.map +1 -1
  247. package/src/interfaces/constants.js +5 -0
  248. package/src/interfaces/constants.js.map +1 -1
  249. package/src/interfaces/controller-config.d.ts +27 -10
  250. package/src/interfaces/controller-config.d.ts.map +1 -1
  251. package/src/interfaces/controller-config.js +5 -0
  252. package/src/interfaces/controller-config.js.map +1 -1
  253. package/src/interfaces/create-user-basics.d.ts +7 -1
  254. package/src/interfaces/create-user-basics.d.ts.map +1 -1
  255. package/src/interfaces/create-user-basics.js +5 -0
  256. package/src/interfaces/create-user-basics.js.map +1 -1
  257. package/src/interfaces/csp-config.d.ts +15 -0
  258. package/src/interfaces/csp-config.d.ts.map +1 -1
  259. package/src/interfaces/csp-config.js +10 -0
  260. package/src/interfaces/csp-config.js.map +1 -1
  261. package/src/interfaces/csp-definition.d.ts +21 -0
  262. package/src/interfaces/csp-definition.d.ts.map +1 -1
  263. package/src/interfaces/csp-definition.js +10 -0
  264. package/src/interfaces/csp-definition.js.map +1 -1
  265. package/src/interfaces/db-init-result.d.ts +11 -0
  266. package/src/interfaces/db-init-result.d.ts.map +1 -1
  267. package/src/interfaces/db-init-result.js +5 -0
  268. package/src/interfaces/db-init-result.js.map +1 -1
  269. package/src/interfaces/deep-partial.d.ts +10 -0
  270. package/src/interfaces/deep-partial.d.ts.map +1 -1
  271. package/src/interfaces/deep-partial.js +5 -0
  272. package/src/interfaces/deep-partial.js.map +1 -1
  273. package/src/interfaces/discriminator-collections.d.ts +11 -1
  274. package/src/interfaces/discriminator-collections.d.ts.map +1 -1
  275. package/src/interfaces/discriminator-collections.js +5 -0
  276. package/src/interfaces/discriminator-collections.js.map +1 -1
  277. package/src/interfaces/email-service.d.ts +17 -0
  278. package/src/interfaces/email-service.d.ts.map +1 -1
  279. package/src/interfaces/email-service.js +5 -0
  280. package/src/interfaces/email-service.js.map +1 -1
  281. package/src/interfaces/environment-mongo.d.ts +9 -0
  282. package/src/interfaces/environment-mongo.d.ts.map +1 -1
  283. package/src/interfaces/environment-mongo.js +5 -0
  284. package/src/interfaces/environment-mongo.js.map +1 -1
  285. package/src/interfaces/environment.d.ts +20 -10
  286. package/src/interfaces/environment.d.ts.map +1 -1
  287. package/src/interfaces/environment.js +5 -0
  288. package/src/interfaces/environment.js.map +1 -1
  289. package/src/interfaces/failable-result.d.ts +13 -0
  290. package/src/interfaces/failable-result.d.ts.map +1 -1
  291. package/src/interfaces/failable-result.js +5 -0
  292. package/src/interfaces/failable-result.js.map +1 -1
  293. package/src/interfaces/fec-consts.d.ts +9 -0
  294. package/src/interfaces/fec-consts.d.ts.map +1 -1
  295. package/src/interfaces/fec-consts.js +5 -0
  296. package/src/interfaces/fec-consts.js.map +1 -1
  297. package/src/interfaces/flexible-csp.d.ts +16 -0
  298. package/src/interfaces/flexible-csp.d.ts.map +1 -1
  299. package/src/interfaces/flexible-csp.js +10 -0
  300. package/src/interfaces/flexible-csp.js.map +1 -1
  301. package/src/interfaces/handleable-error-options.d.ts +12 -0
  302. package/src/interfaces/handleable-error-options.d.ts.map +1 -1
  303. package/src/interfaces/handleable-error-options.js +5 -0
  304. package/src/interfaces/handleable-error-options.js.map +1 -1
  305. package/src/interfaces/jwt-consts.d.ts +9 -0
  306. package/src/interfaces/jwt-consts.d.ts.map +1 -1
  307. package/src/interfaces/jwt-consts.js +5 -0
  308. package/src/interfaces/jwt-consts.js.map +1 -1
  309. package/src/interfaces/jwt-sign-response.d.ts +12 -1
  310. package/src/interfaces/jwt-sign-response.d.ts.map +1 -1
  311. package/src/interfaces/jwt-sign-response.js +5 -0
  312. package/src/interfaces/jwt-sign-response.js.map +1 -1
  313. package/src/interfaces/models/email-token.d.ts +7 -1
  314. package/src/interfaces/models/email-token.d.ts.map +1 -1
  315. package/src/interfaces/models/email-token.js +5 -0
  316. package/src/interfaces/models/email-token.js.map +1 -1
  317. package/src/interfaces/models/mnemonic.d.ts +8 -1
  318. package/src/interfaces/models/mnemonic.d.ts.map +1 -1
  319. package/src/interfaces/models/mnemonic.js +5 -0
  320. package/src/interfaces/models/mnemonic.js.map +1 -1
  321. package/src/interfaces/models/role.d.ts +7 -1
  322. package/src/interfaces/models/role.d.ts.map +1 -1
  323. package/src/interfaces/models/role.js +5 -0
  324. package/src/interfaces/models/role.js.map +1 -1
  325. package/src/interfaces/models/token-role.d.ts +11 -3
  326. package/src/interfaces/models/token-role.d.ts.map +1 -1
  327. package/src/interfaces/models/token-role.js +5 -0
  328. package/src/interfaces/models/token-role.js.map +1 -1
  329. package/src/interfaces/models/used-direct-login-token.d.ts +11 -3
  330. package/src/interfaces/models/used-direct-login-token.d.ts.map +1 -1
  331. package/src/interfaces/models/used-direct-login-token.js +5 -0
  332. package/src/interfaces/models/used-direct-login-token.js.map +1 -1
  333. package/src/interfaces/models/user-role.d.ts +11 -3
  334. package/src/interfaces/models/user-role.d.ts.map +1 -1
  335. package/src/interfaces/models/user-role.js +5 -0
  336. package/src/interfaces/models/user-role.js.map +1 -1
  337. package/src/interfaces/models/user.d.ts +13 -3
  338. package/src/interfaces/models/user.d.ts.map +1 -1
  339. package/src/interfaces/models/user.js +5 -0
  340. package/src/interfaces/models/user.js.map +1 -1
  341. package/src/interfaces/mongo-errors.d.ts +8 -0
  342. package/src/interfaces/mongo-errors.d.ts.map +1 -1
  343. package/src/interfaces/mongo-errors.js +5 -0
  344. package/src/interfaces/mongo-errors.js.map +1 -1
  345. package/src/interfaces/request-user.d.ts +16 -7
  346. package/src/interfaces/request-user.d.ts.map +1 -1
  347. package/src/interfaces/request-user.js +5 -0
  348. package/src/interfaces/request-user.js.map +1 -1
  349. package/src/interfaces/required-string-keys.d.ts +9 -3
  350. package/src/interfaces/required-string-keys.d.ts.map +1 -1
  351. package/src/interfaces/required-string-keys.js +5 -0
  352. package/src/interfaces/required-string-keys.js.map +1 -1
  353. package/src/interfaces/schema.d.ts +11 -3
  354. package/src/interfaces/schema.d.ts.map +1 -1
  355. package/src/interfaces/schema.js +5 -0
  356. package/src/interfaces/schema.js.map +1 -1
  357. package/src/interfaces/server-init-result.d.ts +23 -13
  358. package/src/interfaces/server-init-result.d.ts.map +1 -1
  359. package/src/interfaces/server-init-result.js +5 -0
  360. package/src/interfaces/server-init-result.js.map +1 -1
  361. package/src/interfaces/status-code-response.d.ts +12 -0
  362. package/src/interfaces/status-code-response.d.ts.map +1 -1
  363. package/src/interfaces/status-code-response.js +5 -0
  364. package/src/interfaces/status-code-response.js.map +1 -1
  365. package/src/interfaces/symmetric-encryption-results.d.ts +10 -0
  366. package/src/interfaces/symmetric-encryption-results.d.ts.map +1 -1
  367. package/src/interfaces/symmetric-encryption-results.js +5 -0
  368. package/src/interfaces/symmetric-encryption-results.js.map +1 -1
  369. package/src/interfaces/test-environment.d.ts +10 -0
  370. package/src/interfaces/test-environment.d.ts.map +1 -1
  371. package/src/interfaces/test-environment.js +5 -0
  372. package/src/interfaces/test-environment.js.map +1 -1
  373. package/src/interfaces/token-response.d.ts +10 -0
  374. package/src/interfaces/token-response.d.ts.map +1 -1
  375. package/src/interfaces/token-response.js +5 -0
  376. package/src/interfaces/token-response.js.map +1 -1
  377. package/src/middleware-utils.d.ts +23 -0
  378. package/src/middleware-utils.d.ts.map +1 -1
  379. package/src/middleware-utils.js +23 -0
  380. package/src/middleware-utils.js.map +1 -1
  381. package/src/middlewares/authenticate-crypto.d.ts +20 -3
  382. package/src/middlewares/authenticate-crypto.d.ts.map +1 -1
  383. package/src/middlewares/authenticate-crypto.js +19 -2
  384. package/src/middlewares/authenticate-crypto.js.map +1 -1
  385. package/src/middlewares/authenticate-token.d.ts +23 -10
  386. package/src/middlewares/authenticate-token.d.ts.map +1 -1
  387. package/src/middlewares/authenticate-token.js +22 -9
  388. package/src/middlewares/authenticate-token.js.map +1 -1
  389. package/src/middlewares/cleanup-crypto.d.ts +11 -2
  390. package/src/middlewares/cleanup-crypto.d.ts.map +1 -1
  391. package/src/middlewares/cleanup-crypto.js +11 -2
  392. package/src/middlewares/cleanup-crypto.js.map +1 -1
  393. package/src/middlewares/set-global-context-language.d.ts +13 -0
  394. package/src/middlewares/set-global-context-language.d.ts.map +1 -1
  395. package/src/middlewares/set-global-context-language.js +14 -1
  396. package/src/middlewares/set-global-context-language.js.map +1 -1
  397. package/src/model-registry.d.ts +63 -7
  398. package/src/model-registry.d.ts.map +1 -1
  399. package/src/model-registry.js +50 -0
  400. package/src/model-registry.js.map +1 -1
  401. package/src/models/email-token.d.ts +17 -1
  402. package/src/models/email-token.d.ts.map +1 -1
  403. package/src/models/email-token.js +5 -0
  404. package/src/models/email-token.js.map +1 -1
  405. package/src/models/mnemonic.d.ts +17 -1
  406. package/src/models/mnemonic.d.ts.map +1 -1
  407. package/src/models/mnemonic.js +16 -0
  408. package/src/models/mnemonic.js.map +1 -1
  409. package/src/models/role.d.ts +17 -1
  410. package/src/models/role.d.ts.map +1 -1
  411. package/src/models/role.js +16 -0
  412. package/src/models/role.js.map +1 -1
  413. package/src/models/used-direct-login-token.d.ts +17 -1
  414. package/src/models/used-direct-login-token.d.ts.map +1 -1
  415. package/src/models/used-direct-login-token.js +5 -0
  416. package/src/models/used-direct-login-token.js.map +1 -1
  417. package/src/models/user-role.d.ts +17 -1
  418. package/src/models/user-role.d.ts.map +1 -1
  419. package/src/models/user-role.js +16 -0
  420. package/src/models/user-role.js.map +1 -1
  421. package/src/models/user.d.ts +17 -1
  422. package/src/models/user.d.ts.map +1 -1
  423. package/src/models/user.js +16 -0
  424. package/src/models/user.js.map +1 -1
  425. package/src/pipeline/pipeline-builder.d.ts +8 -0
  426. package/src/pipeline/pipeline-builder.d.ts.map +1 -1
  427. package/src/pipeline/pipeline-builder.js +8 -0
  428. package/src/pipeline/pipeline-builder.js.map +1 -1
  429. package/src/plugins/plugin-interface.d.ts +9 -0
  430. package/src/plugins/plugin-interface.d.ts.map +1 -1
  431. package/src/plugins/plugin-interface.js +5 -0
  432. package/src/plugins/plugin-interface.js.map +1 -1
  433. package/src/plugins/plugin-manager.d.ts +9 -0
  434. package/src/plugins/plugin-manager.d.ts.map +1 -1
  435. package/src/plugins/plugin-manager.js +9 -0
  436. package/src/plugins/plugin-manager.js.map +1 -1
  437. package/src/registry/email-service-registry.d.ts +28 -6
  438. package/src/registry/email-service-registry.d.ts.map +1 -1
  439. package/src/registry/email-service-registry.js +28 -6
  440. package/src/registry/email-service-registry.js.map +1 -1
  441. package/src/responses/response-builder.d.ts +79 -0
  442. package/src/responses/response-builder.d.ts.map +1 -1
  443. package/src/responses/response-builder.js +79 -0
  444. package/src/responses/response-builder.js.map +1 -1
  445. package/src/routers/api.d.ts +36 -5
  446. package/src/routers/api.d.ts.map +1 -1
  447. package/src/routers/api.js +34 -4
  448. package/src/routers/api.js.map +1 -1
  449. package/src/routers/app.d.ts +61 -7
  450. package/src/routers/app.d.ts.map +1 -1
  451. package/src/routers/app.js +62 -5
  452. package/src/routers/app.js.map +1 -1
  453. package/src/routers/base.d.ts +17 -0
  454. package/src/routers/base.d.ts.map +1 -1
  455. package/src/routers/base.js +17 -0
  456. package/src/routers/base.js.map +1 -1
  457. package/src/routers/router-config.d.ts +17 -0
  458. package/src/routers/router-config.d.ts.map +1 -1
  459. package/src/routers/router-config.js +8 -0
  460. package/src/routers/router-config.js.map +1 -1
  461. package/src/routing/route-builder.d.ts +85 -0
  462. package/src/routing/route-builder.d.ts.map +1 -1
  463. package/src/routing/route-builder.js +81 -0
  464. package/src/routing/route-builder.js.map +1 -1
  465. package/src/schemas/email-token.d.ts +19 -3
  466. package/src/schemas/email-token.d.ts.map +1 -1
  467. package/src/schemas/email-token.js +15 -2
  468. package/src/schemas/email-token.js.map +1 -1
  469. package/src/schemas/mnemonic.d.ts +12 -2
  470. package/src/schemas/mnemonic.d.ts.map +1 -1
  471. package/src/schemas/mnemonic.js +12 -2
  472. package/src/schemas/mnemonic.js.map +1 -1
  473. package/src/schemas/role.d.ts +18 -3
  474. package/src/schemas/role.d.ts.map +1 -1
  475. package/src/schemas/role.js +15 -2
  476. package/src/schemas/role.js.map +1 -1
  477. package/src/schemas/schema.d.ts +21 -1
  478. package/src/schemas/schema.d.ts.map +1 -1
  479. package/src/schemas/schema.js +11 -0
  480. package/src/schemas/schema.js.map +1 -1
  481. package/src/schemas/used-direct-login-token.d.ts +15 -3
  482. package/src/schemas/used-direct-login-token.d.ts.map +1 -1
  483. package/src/schemas/used-direct-login-token.js +13 -2
  484. package/src/schemas/used-direct-login-token.js.map +1 -1
  485. package/src/schemas/user-role.d.ts +16 -3
  486. package/src/schemas/user-role.d.ts.map +1 -1
  487. package/src/schemas/user-role.js +14 -2
  488. package/src/schemas/user-role.js.map +1 -1
  489. package/src/schemas/user.d.ts +20 -1
  490. package/src/schemas/user.d.ts.map +1 -1
  491. package/src/schemas/user.js +20 -1
  492. package/src/schemas/user.js.map +1 -1
  493. package/src/services/backup-code.d.ts +22 -18
  494. package/src/services/backup-code.d.ts.map +1 -1
  495. package/src/services/backup-code.js +12 -8
  496. package/src/services/backup-code.js.map +1 -1
  497. package/src/services/base.d.ts +11 -0
  498. package/src/services/base.d.ts.map +1 -1
  499. package/src/services/base.js +11 -0
  500. package/src/services/base.js.map +1 -1
  501. package/src/services/checksum.d.ts +50 -29
  502. package/src/services/checksum.d.ts.map +1 -1
  503. package/src/services/checksum.js +50 -29
  504. package/src/services/checksum.js.map +1 -1
  505. package/src/services/database-initialization.d.ts +82 -55
  506. package/src/services/database-initialization.d.ts.map +1 -1
  507. package/src/services/database-initialization.js +61 -35
  508. package/src/services/database-initialization.js.map +1 -1
  509. package/src/services/db-init-cache.d.ts +8 -0
  510. package/src/services/db-init-cache.d.ts.map +1 -1
  511. package/src/services/db-init-cache.js +4 -0
  512. package/src/services/db-init-cache.js.map +1 -1
  513. package/src/services/direct-login-token.d.ts +22 -1
  514. package/src/services/direct-login-token.d.ts.map +1 -1
  515. package/src/services/direct-login-token.js +21 -0
  516. package/src/services/direct-login-token.js.map +1 -1
  517. package/src/services/dummy-email-service.d.ts +20 -1
  518. package/src/services/dummy-email-service.d.ts.map +1 -1
  519. package/src/services/dummy-email-service.js +20 -1
  520. package/src/services/dummy-email-service.js.map +1 -1
  521. package/src/services/fec-usage-example.d.ts +25 -5
  522. package/src/services/fec-usage-example.d.ts.map +1 -1
  523. package/src/services/fec-usage-example.js +25 -5
  524. package/src/services/fec-usage-example.js.map +1 -1
  525. package/src/services/fec.d.ts +49 -7
  526. package/src/services/fec.d.ts.map +1 -1
  527. package/src/services/fec.js +39 -7
  528. package/src/services/fec.js.map +1 -1
  529. package/src/services/jwt.d.ts +17 -2
  530. package/src/services/jwt.d.ts.map +1 -1
  531. package/src/services/jwt.js +15 -0
  532. package/src/services/jwt.js.map +1 -1
  533. package/src/services/key-wrapping.d.ts +86 -8
  534. package/src/services/key-wrapping.d.ts.map +1 -1
  535. package/src/services/key-wrapping.js +75 -10
  536. package/src/services/key-wrapping.js.map +1 -1
  537. package/src/services/mnemonic.d.ts +14 -8
  538. package/src/services/mnemonic.d.ts.map +1 -1
  539. package/src/services/mnemonic.js +8 -2
  540. package/src/services/mnemonic.js.map +1 -1
  541. package/src/services/request-user.d.ts +33 -11
  542. package/src/services/request-user.d.ts.map +1 -1
  543. package/src/services/request-user.js +28 -6
  544. package/src/services/request-user.js.map +1 -1
  545. package/src/services/role.d.ts +28 -18
  546. package/src/services/role.d.ts.map +1 -1
  547. package/src/services/role.js +11 -1
  548. package/src/services/role.js.map +1 -1
  549. package/src/services/symmetric.d.ts +35 -17
  550. package/src/services/symmetric.d.ts.map +1 -1
  551. package/src/services/symmetric.js +41 -17
  552. package/src/services/symmetric.js.map +1 -1
  553. package/src/services/system-user.d.ts +7 -1
  554. package/src/services/system-user.d.ts.map +1 -1
  555. package/src/services/system-user.js +7 -1
  556. package/src/services/system-user.js.map +1 -1
  557. package/src/services/user.d.ts +61 -38
  558. package/src/services/user.d.ts.map +1 -1
  559. package/src/services/user.js +23 -0
  560. package/src/services/user.js.map +1 -1
  561. package/src/services/xor.d.ts +10 -6
  562. package/src/services/xor.d.ts.map +1 -1
  563. package/src/services/xor.js +14 -6
  564. package/src/services/xor.js.map +1 -1
  565. package/src/testing.d.ts +5 -0
  566. package/src/testing.d.ts.map +1 -1
  567. package/src/testing.js +5 -0
  568. package/src/testing.js.map +1 -1
  569. package/src/transactions/transaction-manager.d.ts +25 -0
  570. package/src/transactions/transaction-manager.d.ts.map +1 -1
  571. package/src/transactions/transaction-manager.js +20 -0
  572. package/src/transactions/transaction-manager.js.map +1 -1
  573. package/src/types/app-config.d.ts +16 -2
  574. package/src/types/app-config.d.ts.map +1 -1
  575. package/src/types/app-config.js +5 -0
  576. package/src/types/app-config.js.map +1 -1
  577. package/src/types/controller-config.d.ts +14 -2
  578. package/src/types/controller-config.d.ts.map +1 -1
  579. package/src/types/controller-config.js +5 -0
  580. package/src/types/controller-config.js.map +1 -1
  581. package/src/types/environment-variables.d.ts +5 -0
  582. package/src/types/environment-variables.d.ts.map +1 -1
  583. package/src/types/environment-variables.js +3 -1
  584. package/src/types/environment-variables.js.map +1 -1
  585. package/src/types/mongoose-helpers.d.ts +5 -0
  586. package/src/types/mongoose-helpers.d.ts.map +1 -1
  587. package/src/types/mongoose-helpers.js +3 -1
  588. package/src/types/mongoose-helpers.js.map +1 -1
  589. package/src/types.d.ts +17 -3
  590. package/src/types.d.ts.map +1 -1
  591. package/src/types.js +14 -0
  592. package/src/types.js.map +1 -1
  593. package/src/utils.d.ts +58 -29
  594. package/src/utils.d.ts.map +1 -1
  595. package/src/utils.js +56 -31
  596. package/src/utils.js.map +1 -1
  597. package/src/validation/validation-builder.d.ts +39 -0
  598. package/src/validation/validation-builder.d.ts.map +1 -1
  599. package/src/validation/validation-builder.js +39 -0
  600. package/src/validation/validation-builder.js.map +1 -1
@@ -1,12 +1,28 @@
1
1
  "use strict";
2
+ /**
3
+ * @fileoverview Service for calculating and validating SHA3-512 checksums.
4
+ * Provides checksum operations for buffers, strings, files, and streams.
5
+ * @module services/checksum
6
+ */
2
7
  Object.defineProperty(exports, "__esModule", { value: true });
3
8
  exports.ChecksumService = void 0;
4
9
  const crypto_1 = require("crypto");
5
10
  const fs_1 = require("fs");
6
11
  const constants_1 = require("../constants");
12
+ /**
13
+ * Service for calculating and validating SHA3-512 checksums.
14
+ * Supports multiple input types including buffers, strings, files, and streams.
15
+ */
7
16
  class ChecksumService {
17
+ /** Checksum configuration (algorithm and encoding) */
8
18
  config;
19
+ /** Checksum constants (buffer lengths and defaults) */
9
20
  constants;
21
+ /**
22
+ * Creates a new checksum service instance.
23
+ * @param config Optional configuration overrides
24
+ * @param constants Checksum constants (defaults to CHECKSUM)
25
+ */
10
26
  constructor(config, constants = constants_1.CHECKSUM) {
11
27
  this.config = {
12
28
  algorithm: constants.ALGORITHM,
@@ -16,9 +32,9 @@ class ChecksumService {
16
32
  this.constants = constants;
17
33
  }
18
34
  /**
19
- * Calculate a checksum for a buffer
20
- * @param data - The data to calculate the checksum for
21
- * @returns The checksum as a Buffer
35
+ * Calculates a checksum for a buffer.
36
+ * @param data Buffer to calculate checksum for
37
+ * @returns Checksum as a Buffer
22
38
  */
23
39
  calculateChecksum(data) {
24
40
  const hash = (0, crypto_1.createHash)(this.config.algorithm);
@@ -27,9 +43,9 @@ class ChecksumService {
27
43
  return Buffer.from(digest);
28
44
  }
29
45
  /**
30
- * Calculate a checksum for multiple buffers
31
- * @param buffers - The buffers to calculate the checksum for
32
- * @returns The checksum as a Buffer
46
+ * Calculates a checksum for multiple buffers.
47
+ * @param buffers Array of buffers to calculate checksum for
48
+ * @returns Checksum as a Buffer
33
49
  */
34
50
  calculateChecksumForBuffers(buffers) {
35
51
  const hash = (0, crypto_1.createHash)(this.config.algorithm);
@@ -40,18 +56,18 @@ class ChecksumService {
40
56
  return Buffer.from(digest);
41
57
  }
42
58
  /**
43
- * Calculate a checksum for a string
44
- * @param str - The string to calculate the checksum for
45
- * @returns The checksum as a Buffer
59
+ * Calculates a checksum for a UTF-8 string.
60
+ * @param str String to calculate checksum for
61
+ * @returns Checksum as a Buffer
46
62
  */
47
63
  calculateChecksumForString(str) {
48
64
  return this.calculateChecksum(Buffer.from(str, 'utf8'));
49
65
  }
50
66
  /**
51
- * Compare two checksums for equality
52
- * @param checksum1 - The first checksum
53
- * @param checksum2 - The second checksum
54
- * @returns True if the checksums are equal, false otherwise
67
+ * Compares two checksums for equality.
68
+ * @param checksum1 First checksum
69
+ * @param checksum2 Second checksum
70
+ * @returns True if checksums are equal, false otherwise
55
71
  */
56
72
  compareChecksums(checksum1, checksum2) {
57
73
  if (checksum1.length !== this.constants.SHA3_BUFFER_LENGTH ||
@@ -61,17 +77,18 @@ class ChecksumService {
61
77
  return checksum1.equals(new Uint8Array(checksum2));
62
78
  }
63
79
  /**
64
- * Convert a checksum to a hex string
65
- * @param checksum - The checksum to convert
66
- * @returns The checksum as a hex string
80
+ * Converts a checksum buffer to a hex string.
81
+ * @param checksum Checksum buffer
82
+ * @returns Checksum as a hex string
67
83
  */
68
84
  checksumToHexString(checksum) {
69
85
  return checksum.toString(this.constants.ENCODING);
70
86
  }
71
87
  /**
72
- * Convert a hex string to a checksum
73
- * @param hexString - The hex string to convert
74
- * @returns The checksum as a Buffer
88
+ * Converts a hex string to a checksum buffer.
89
+ * @param hexString Hex string to convert
90
+ * @returns Checksum as a Buffer
91
+ * @throws {Error} If hex string length is invalid
75
92
  */
76
93
  hexStringToChecksum(hexString) {
77
94
  if (hexString.length !== this.constants.SHA3_BUFFER_LENGTH * 2) {
@@ -80,17 +97,18 @@ class ChecksumService {
80
97
  return Buffer.from(hexString, this.constants.ENCODING);
81
98
  }
82
99
  /**
83
- * Validate a checksum buffer
84
- * @param checksum - The checksum to validate
85
- * @returns True if the checksum is valid, false otherwise
100
+ * Validates a checksum buffer length.
101
+ * @param checksum Checksum buffer to validate
102
+ * @returns True if checksum length is valid, false otherwise
86
103
  */
87
104
  validateChecksum(checksum) {
88
105
  return checksum.length === this.constants.SHA3_BUFFER_LENGTH;
89
106
  }
90
107
  /**
91
- * Calculate a checksum for a file
92
- * @param filePath - The path to the file
93
- * @returns The checksum as a Buffer
108
+ * Calculates a checksum for a file.
109
+ * @param filePath Path to the file
110
+ * @returns Promise resolving to checksum as a Buffer
111
+ * @throws {Error} If file cannot be read
94
112
  */
95
113
  async calculateChecksumForFile(filePath) {
96
114
  // Removed dynamic import by using the data service to read file data
@@ -100,7 +118,10 @@ class ChecksumService {
100
118
  return this.calculateChecksum(buffer);
101
119
  }
102
120
  /**
103
- * Internal file reading method
121
+ * Internal file reading method using fs.promises.
122
+ * @param filePath Path to the file
123
+ * @returns Promise resolving to file contents as Buffer
124
+ * @throws {Error} If file cannot be read
104
125
  * @private
105
126
  */
106
127
  async readFile(filePath) {
@@ -114,9 +135,9 @@ class ChecksumService {
114
135
  }
115
136
  }
116
137
  /**
117
- * Calculate a checksum for a stream
118
- * @param stream - The readable stream
119
- * @returns The checksum as a Buffer
138
+ * Calculates a checksum for a readable stream.
139
+ * @param stream Readable stream to calculate checksum for
140
+ * @returns Promise resolving to checksum as a Buffer
120
141
  */
121
142
  calculateChecksumForStream(stream) {
122
143
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"checksum.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/checksum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checksum.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/checksum.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @fileoverview Service for initializing the database with default users, roles, and relationships.
3
+ * Handles creation of system, admin, and member users with encrypted credentials and backup codes.
4
+ * @module services/database-initialization
5
+ */
1
6
  import { EmailString, MemberType, SecureString } from '@digitaldefiance/ecies-lib';
2
7
  import { Connection } from '@digitaldefiance/mongoose-types';
3
8
  import { Member as BackendMember, ECIESService, PlatformID } from '@digitaldefiance/node-ecies-lib';
@@ -10,88 +15,109 @@ import { KeyWrappingService } from '../services/key-wrapping';
10
15
  import { BackupCodeService } from './backup-code';
11
16
  import { MnemonicService } from './mnemonic';
12
17
  import { RoleService } from './role';
18
+ /**
19
+ * Service for initializing the database with default users, roles, and relationships.
20
+ * Manages creation of system, admin, and member accounts with encrypted credentials.
21
+ */
13
22
  export declare abstract class DatabaseInitializationService {
23
+ /**
24
+ * Static initialization state management to prevent concurrent initialization.
25
+ * @private
26
+ */
14
27
  protected static initializationPromises: Map<string, Promise<IFailableResult<IServerInitResult<Buffer<ArrayBufferLike>>>>>;
28
+ /** Initialization lock to prevent race conditions */
15
29
  protected static initializationLock: Map<string, boolean>;
30
+ /**
31
+ * Default i18n translation function for database initialization messages.
32
+ * @param str String key to translate
33
+ * @param variables Template variables
34
+ * @param language Target language
35
+ * @param application Application instance
36
+ * @returns Translated string
37
+ */
16
38
  protected static defaultI18nTFunc(str: string, variables?: Record<string, unknown>, language?: string, application?: IApplication): string;
17
39
  /**
18
- * Get the mnemonic or generate a new one if not present
19
- * @param mnemonic The existing mnemonic or undefined
20
- * @param eciesService The ECIES service to generate a new mnemonic
21
- * @returns The existing or new mnemonic
40
+ * Gets the mnemonic or generates a new one if not present.
41
+ * @template TID Platform-specific ID type
42
+ * @param mnemonic Existing mnemonic or undefined
43
+ * @param eciesService ECIES service to generate a new mnemonic
44
+ * @returns Existing or new mnemonic
22
45
  */
23
- static mnemonicOrNew<I extends PlatformID = Buffer>(mnemonic: SecureString | undefined, eciesService: ECIESService<I>): SecureString;
46
+ static mnemonicOrNew<TID extends PlatformID = Buffer>(mnemonic: SecureString | undefined, eciesService: ECIESService<TID>): SecureString;
24
47
  /**
25
- * Generate a cache key for a user based on their details
26
- * @param username The username
27
- * @param email The email address
28
- * @param mnemonic The mnemonic
29
- * @param id The user ID
30
- * @returns The generated cache key
48
+ * Generates a cache key for a user based on their details.
49
+ * @template TID Platform-specific ID type
50
+ * @param username Username
51
+ * @param email Email address
52
+ * @param mnemonic Mnemonic
53
+ * @param id User ID
54
+ * @returns Generated cache key as hex string
31
55
  */
32
- static cacheKey<I extends PlatformID = Buffer>(username: string, email: EmailString, mnemonic: SecureString, id: I): string;
56
+ static cacheKey<TID extends PlatformID = Buffer>(username: string, email: EmailString, mnemonic: SecureString, id: TID): string;
33
57
  /**
34
- * Get a cached BackendMember or create a new one if not cached
35
- * @param username The username
36
- * @param email The email address
37
- * @param mnemonic The mnemonic or undefined to generate a new one
38
- * @param memberType The type of member (Admin, Member, System)
39
- * @param eciesService The ECIES service to handle key generation
58
+ * Gets a cached BackendMember or creates a new one if not cached.
59
+ * @template TID Platform-specific ID type
60
+ * @param username Username
61
+ * @param email Email address
62
+ * @param mnemonic Mnemonic or undefined to generate a new one
63
+ * @param memberType Type of member (Admin, Member, System)
64
+ * @param eciesService ECIES service to handle key generation
40
65
  * @param memberId Optional specific member ID to use
41
66
  * @param createdBy Optional ID of the user who created this member
42
- * @returns The cached or newly created BackendMember and the mnemonic used
67
+ * @returns Cached or newly created BackendMember and the mnemonic used
43
68
  */
44
- static cacheOrNew<I extends PlatformID = Buffer>(username: string, email: EmailString, mnemonic: SecureString | undefined, memberType: MemberType, eciesService: ECIESService<I>, memberId?: I, createdBy?: I): {
45
- member: BackendMember<I>;
69
+ static cacheOrNew<TID extends PlatformID = Buffer>(username: string, email: EmailString, mnemonic: SecureString | undefined, memberType: MemberType, eciesService: ECIESService<TID>, memberId?: TID, createdBy?: TID): {
70
+ member: BackendMember<TID>;
46
71
  mnemonic: SecureString;
47
72
  };
48
73
  /**
49
- * Generate a random password
50
- * @param length The length of the password
51
- * @returns The generated password
74
+ * Generates a random password meeting security requirements.
75
+ * @param length Length of the password
76
+ * @returns Generated password string
52
77
  */
53
78
  static generatePassword(length: number): string;
54
79
  /**
55
- * Drops the database
56
- * @param connection The database connection
80
+ * Drops the database.
81
+ * @param connection Database connection
57
82
  * @returns True if the database was dropped, false if not connected
58
83
  */
59
84
  static dropDatabase(connection: Connection): Promise<boolean>;
60
- static getInitOptions<I extends PlatformID = Buffer>(application: IApplication<I>): {
61
- adminId?: I;
85
+ static getInitOptions<TID extends PlatformID = Buffer>(application: IApplication<TID>): {
86
+ adminId?: TID;
62
87
  adminMnemonic?: SecureString;
63
88
  adminPassword?: SecureString;
64
- adminRoleId?: I;
65
- adminUserRoleId?: I;
89
+ adminRoleId?: TID;
90
+ adminUserRoleId?: TID;
66
91
  adminBackupCodes?: BackupCode[];
67
- memberId?: I;
92
+ memberId?: TID;
68
93
  memberMnemonic?: SecureString;
69
94
  memberPassword?: SecureString;
70
- memberRoleId?: I;
71
- memberUserRoleId?: I;
95
+ memberRoleId?: TID;
96
+ memberUserRoleId?: TID;
72
97
  memberBackupCodes?: BackupCode[];
73
- systemId?: I;
98
+ systemId?: TID;
74
99
  systemMnemonic?: SecureString;
75
100
  systemPassword?: SecureString;
76
- systemRoleId?: I;
77
- systemUserRoleId?: I;
101
+ systemRoleId?: TID;
102
+ systemUserRoleId?: TID;
78
103
  systemBackupCodes?: BackupCode[];
79
104
  };
80
- static serverInitResultHash<I extends PlatformID = Buffer>(serverInitResult: IServerInitResult<I>): string;
105
+ static serverInitResultHash<TID extends PlatformID = Buffer>(serverInitResult: IServerInitResult<TID>): string;
81
106
  /**
82
- * Initialize the user database with default users and roles (with dependency injection)
83
- * @param application The application
84
- * @param keyWrappingService The key wrapping service
85
- * @param mnemonicService The mnemonic service
86
- * @param eciesService The ECIES service
87
- * @param roleService The role service
88
- * @param backupCodeService The backup code service
89
- * @returns The result of the initialization
107
+ * Initializes the user database with default users and roles using dependency injection.
108
+ * @template TID Platform-specific ID type
109
+ * @param application Application instance
110
+ * @param keyWrappingService Key wrapping service
111
+ * @param mnemonicService Mnemonic service
112
+ * @param eciesService ECIES service
113
+ * @param roleService Role service
114
+ * @param backupCodeService Backup code service
115
+ * @returns Result of the initialization
90
116
  */
91
- static initUserDbWithServices<I extends PlatformID = Buffer>(application: IApplication<I>, keyWrappingService: KeyWrappingService, mnemonicService: MnemonicService<I>, eciesService: ECIESService<I>, roleService: RoleService<I>, backupCodeService: BackupCodeService<I>): Promise<IDBInitResult<IServerInitResult<I>>>;
92
- static serverInitResultsToDotEnv<I extends PlatformID = Buffer>(serverInitResult: IServerInitResult<I>): string;
93
- static printServerInitResults<I extends PlatformID = Buffer>(result: IServerInitResult<I>, printDotEnv?: boolean): void;
94
- static setEnvFromInitResults<I extends PlatformID = Buffer>(result: IServerInitResult<I>): void;
117
+ static initUserDbWithServices<TID extends PlatformID = Buffer>(application: IApplication<TID>, keyWrappingService: KeyWrappingService, mnemonicService: MnemonicService<TID>, eciesService: ECIESService<TID>, roleService: RoleService<TID>, backupCodeService: BackupCodeService<TID>): Promise<IDBInitResult<IServerInitResult<TID>>>;
118
+ static serverInitResultsToDotEnv<TID extends PlatformID = Buffer>(serverInitResult: IServerInitResult<TID>): string;
119
+ static printServerInitResults<TID extends PlatformID = Buffer>(result: IServerInitResult<TID>, printDotEnv?: boolean): void;
120
+ static setEnvFromInitResults<TID extends PlatformID = Buffer>(result: IServerInitResult<TID>): void;
95
121
  /**
96
122
  * Write initialization results to a .env file
97
123
  * Updates or adds the credential variables in the specified .env file
@@ -99,13 +125,14 @@ export declare abstract class DatabaseInitializationService {
99
125
  * @param result The initialization results containing credentials
100
126
  * @param idToString Function to convert IDs to strings
101
127
  */
102
- static writeEnvFile<I extends PlatformID = Buffer>(envFilePath: string, result: IServerInitResult<I>): void;
128
+ static writeEnvFile<TID extends PlatformID = Buffer>(envFilePath: string, result: IServerInitResult<TID>): void;
103
129
  /**
104
- * Initialize the user database with default users and roles (convenience method)
105
- * This method creates the necessary services and calls initUserDbWithServices
106
- * @param application The application
107
- * @returns The result of the initialization
130
+ * Initializes the user database with default users and roles (convenience method).
131
+ * Creates necessary services and calls initUserDbWithServices.
132
+ * @template TID Platform-specific ID type
133
+ * @param application Application instance
134
+ * @returns Result of the initialization
108
135
  */
109
- static initUserDb<I extends PlatformID = Buffer>(application: IApplication<I>): Promise<IFailableResult<IServerInitResult<I>>>;
136
+ static initUserDb<TID extends PlatformID = Buffer>(application: IApplication<TID>): Promise<IFailableResult<IServerInitResult<TID>>>;
110
137
  }
111
138
  //# sourceMappingURL=database-initialization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"database-initialization.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/database-initialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-initialization.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/database-initialization.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
1
  "use strict";
2
+ /**
3
+ * @fileoverview Service for initializing the database with default users, roles, and relationships.
4
+ * Handles creation of system, admin, and member users with encrypted credentials and backup codes.
5
+ * @module services/database-initialization
6
+ */
2
7
  Object.defineProperty(exports, "__esModule", { value: true });
3
8
  exports.DatabaseInitializationService = void 0;
4
9
  const tslib_1 = require("tslib");
@@ -19,19 +24,36 @@ const backup_code_2 = require("./backup-code");
19
24
  const mnemonic_1 = require("./mnemonic");
20
25
  const role_1 = require("./role");
21
26
  const system_user_1 = require("./system-user");
27
+ /**
28
+ * Service for initializing the database with default users, roles, and relationships.
29
+ * Manages creation of system, admin, and member accounts with encrypted credentials.
30
+ */
22
31
  class DatabaseInitializationService {
23
- // Static initialization state management
32
+ /**
33
+ * Static initialization state management to prevent concurrent initialization.
34
+ * @private
35
+ */
24
36
  static initializationPromises = new Map();
37
+ /** Initialization lock to prevent race conditions */
25
38
  static initializationLock = new Map();
39
+ /**
40
+ * Default i18n translation function for database initialization messages.
41
+ * @param str String key to translate
42
+ * @param variables Template variables
43
+ * @param language Target language
44
+ * @param application Application instance
45
+ * @returns Translated string
46
+ */
26
47
  static defaultI18nTFunc(str, variables, language, application) {
27
48
  // Handles template strings with {{component.key}} syntax
28
49
  return (0, suite_core_lib_1.getSuiteCoreI18nEngine)(application ? { constants: application.constants } : undefined).t(str, variables, language);
29
50
  }
30
51
  /**
31
- * Get the mnemonic or generate a new one if not present
32
- * @param mnemonic The existing mnemonic or undefined
33
- * @param eciesService The ECIES service to generate a new mnemonic
34
- * @returns The existing or new mnemonic
52
+ * Gets the mnemonic or generates a new one if not present.
53
+ * @template TID Platform-specific ID type
54
+ * @param mnemonic Existing mnemonic or undefined
55
+ * @param eciesService ECIES service to generate a new mnemonic
56
+ * @returns Existing or new mnemonic
35
57
  */
36
58
  static mnemonicOrNew(mnemonic, eciesService) {
37
59
  return mnemonic && mnemonic.hasValue
@@ -39,12 +61,13 @@ class DatabaseInitializationService {
39
61
  : eciesService.generateNewMnemonic();
40
62
  }
41
63
  /**
42
- * Generate a cache key for a user based on their details
43
- * @param username The username
44
- * @param email The email address
45
- * @param mnemonic The mnemonic
46
- * @param id The user ID
47
- * @returns The generated cache key
64
+ * Generates a cache key for a user based on their details.
65
+ * @template TID Platform-specific ID type
66
+ * @param username Username
67
+ * @param email Email address
68
+ * @param mnemonic Mnemonic
69
+ * @param id User ID
70
+ * @returns Generated cache key as hex string
48
71
  */
49
72
  static cacheKey(username, email, mnemonic, id) {
50
73
  const idProvider = (0, node_ecies_lib_1.getEnhancedNodeIdProvider)();
@@ -54,15 +77,16 @@ class DatabaseInitializationService {
54
77
  return crcHash.toString(16).padStart(8, '0');
55
78
  }
56
79
  /**
57
- * Get a cached BackendMember or create a new one if not cached
58
- * @param username The username
59
- * @param email The email address
60
- * @param mnemonic The mnemonic or undefined to generate a new one
61
- * @param memberType The type of member (Admin, Member, System)
62
- * @param eciesService The ECIES service to handle key generation
80
+ * Gets a cached BackendMember or creates a new one if not cached.
81
+ * @template TID Platform-specific ID type
82
+ * @param username Username
83
+ * @param email Email address
84
+ * @param mnemonic Mnemonic or undefined to generate a new one
85
+ * @param memberType Type of member (Admin, Member, System)
86
+ * @param eciesService ECIES service to handle key generation
63
87
  * @param memberId Optional specific member ID to use
64
88
  * @param createdBy Optional ID of the user who created this member
65
- * @returns The cached or newly created BackendMember and the mnemonic used
89
+ * @returns Cached or newly created BackendMember and the mnemonic used
66
90
  */
67
91
  static cacheOrNew(username, email, mnemonic, memberType, eciesService, memberId, createdBy) {
68
92
  const idProvider = (0, node_ecies_lib_1.getEnhancedNodeIdProvider)();
@@ -90,9 +114,9 @@ class DatabaseInitializationService {
90
114
  }
91
115
  }
92
116
  /**
93
- * Generate a random password
94
- * @param length The length of the password
95
- * @returns The generated password
117
+ * Generates a random password meeting security requirements.
118
+ * @param length Length of the password
119
+ * @returns Generated password string
96
120
  */
97
121
  static generatePassword(length) {
98
122
  const specialCharacters = "!@#$%^&*()_+-=[]{};':|,.<>/?";
@@ -125,8 +149,8 @@ class DatabaseInitializationService {
125
149
  return chars.join('');
126
150
  }
127
151
  /**
128
- * Drops the database
129
- * @param connection The database connection
152
+ * Drops the database.
153
+ * @param connection Database connection
130
154
  * @returns True if the database was dropped, false if not connected
131
155
  */
132
156
  static async dropDatabase(connection) {
@@ -203,14 +227,15 @@ class DatabaseInitializationService {
203
227
  return h.digest('hex');
204
228
  }
205
229
  /**
206
- * Initialize the user database with default users and roles (with dependency injection)
207
- * @param application The application
208
- * @param keyWrappingService The key wrapping service
209
- * @param mnemonicService The mnemonic service
210
- * @param eciesService The ECIES service
211
- * @param roleService The role service
212
- * @param backupCodeService The backup code service
213
- * @returns The result of the initialization
230
+ * Initializes the user database with default users and roles using dependency injection.
231
+ * @template TID Platform-specific ID type
232
+ * @param application Application instance
233
+ * @param keyWrappingService Key wrapping service
234
+ * @param mnemonicService Mnemonic service
235
+ * @param eciesService ECIES service
236
+ * @param roleService Role service
237
+ * @param backupCodeService Backup code service
238
+ * @returns Result of the initialization
214
239
  */
215
240
  static async initUserDbWithServices(application, keyWrappingService, mnemonicService, eciesService, roleService, backupCodeService) {
216
241
  const engine = (0, suite_core_lib_1.getSuiteCoreI18nEngine)({ constants: application.constants });
@@ -851,10 +876,11 @@ SYSTEM_PASSWORD="${serverInitResult.systemPassword}"
851
876
  }));
852
877
  }
853
878
  /**
854
- * Initialize the user database with default users and roles (convenience method)
855
- * This method creates the necessary services and calls initUserDbWithServices
856
- * @param application The application
857
- * @returns The result of the initialization
879
+ * Initializes the user database with default users and roles (convenience method).
880
+ * Creates necessary services and calls initUserDbWithServices.
881
+ * @template TID Platform-specific ID type
882
+ * @param application Application instance
883
+ * @returns Result of the initialization
858
884
  */
859
885
  static async initUserDb(application) {
860
886
  const mnemonicModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.Mnemonic);