@digitaldefiance/node-express-suite 3.7.5 → 3.8.0

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 (814) hide show
  1. package/README.md +38 -6
  2. package/package.json +9 -8
  3. package/src/__tests__/fixtures/{index.ts → index.d.ts} +1 -0
  4. package/src/__tests__/fixtures/index.d.ts.map +1 -0
  5. package/src/__tests__/fixtures/index.js +5 -0
  6. package/src/__tests__/fixtures/index.js.map +1 -0
  7. package/src/__tests__/fixtures/model-mocks.mock.d.ts +12 -0
  8. package/src/__tests__/fixtures/model-mocks.mock.d.ts.map +1 -0
  9. package/src/__tests__/fixtures/model-mocks.mock.js +102 -0
  10. package/src/__tests__/fixtures/model-mocks.mock.js.map +1 -0
  11. package/src/__tests__/helpers/application.mock.d.ts +8 -0
  12. package/src/__tests__/helpers/application.mock.d.ts.map +1 -0
  13. package/src/__tests__/helpers/application.mock.js +77 -0
  14. package/src/__tests__/helpers/application.mock.js.map +1 -0
  15. package/src/__tests__/helpers/{index.ts → index.d.ts} +1 -0
  16. package/src/__tests__/helpers/index.d.ts.map +1 -0
  17. package/src/__tests__/helpers/index.js +7 -0
  18. package/src/__tests__/helpers/index.js.map +1 -0
  19. package/src/__tests__/helpers/setup-test-env.d.ts +12 -0
  20. package/src/__tests__/helpers/setup-test-env.d.ts.map +1 -0
  21. package/src/__tests__/helpers/setup-test-env.js +121 -0
  22. package/src/__tests__/helpers/setup-test-env.js.map +1 -0
  23. package/src/__tests__/{index.ts → index.d.ts} +1 -0
  24. package/src/__tests__/index.d.ts.map +1 -0
  25. package/src/__tests__/index.js +6 -0
  26. package/src/__tests__/index.js.map +1 -0
  27. package/src/application-base.d.ts +128 -0
  28. package/src/application-base.d.ts.map +1 -0
  29. package/src/application-base.js +364 -0
  30. package/src/application-base.js.map +1 -0
  31. package/src/application-concrete.d.ts +26 -0
  32. package/src/application-concrete.d.ts.map +1 -0
  33. package/src/application-concrete.js +34 -0
  34. package/src/application-concrete.js.map +1 -0
  35. package/src/application.d.ts +34 -0
  36. package/src/application.d.ts.map +1 -0
  37. package/src/application.js +172 -0
  38. package/src/application.js.map +1 -0
  39. package/src/backup-code.d.ts +72 -0
  40. package/src/backup-code.d.ts.map +1 -0
  41. package/src/backup-code.js +243 -0
  42. package/src/backup-code.js.map +1 -0
  43. package/src/builders/application-builder.d.ts +47 -0
  44. package/src/builders/application-builder.d.ts.map +1 -0
  45. package/src/builders/application-builder.js +76 -0
  46. package/src/builders/application-builder.js.map +1 -0
  47. package/src/builders/{index.ts → index.d.ts} +1 -0
  48. package/src/builders/index.d.ts.map +1 -0
  49. package/src/builders/index.js +5 -0
  50. package/src/builders/index.js.map +1 -0
  51. package/src/constants.d.ts +21 -0
  52. package/src/constants.d.ts.map +1 -0
  53. package/src/constants.js +63 -0
  54. package/src/constants.js.map +1 -0
  55. package/src/container/{index.ts → index.d.ts} +1 -0
  56. package/src/container/index.d.ts.map +1 -0
  57. package/src/container/index.js +6 -0
  58. package/src/container/index.js.map +1 -0
  59. package/src/container/service-container.d.ts +45 -0
  60. package/src/container/service-container.d.ts.map +1 -0
  61. package/src/container/service-container.js +68 -0
  62. package/src/container/service-container.js.map +1 -0
  63. package/src/container/{service-definitions.ts → service-definitions.d.ts} +10 -11
  64. package/src/container/service-definitions.d.ts.map +1 -0
  65. package/src/container/service-definitions.js +21 -0
  66. package/src/container/service-definitions.js.map +1 -0
  67. package/src/controllers/base.d.ts +80 -0
  68. package/src/controllers/base.d.ts.map +1 -0
  69. package/src/controllers/base.js +318 -0
  70. package/src/controllers/base.js.map +1 -0
  71. package/src/controllers/{index.ts → index.d.ts} +1 -0
  72. package/src/controllers/index.d.ts.map +1 -0
  73. package/src/controllers/index.js +6 -0
  74. package/src/controllers/index.js.map +1 -0
  75. package/src/controllers/user.d.ts +66 -0
  76. package/src/controllers/user.d.ts.map +1 -0
  77. package/src/controllers/user.js +936 -0
  78. package/src/controllers/user.js.map +1 -0
  79. package/src/database/{database-initializer.ts → database-initializer.d.ts} +3 -4
  80. package/src/database/database-initializer.d.ts.map +1 -0
  81. package/src/database/database-initializer.js +8 -0
  82. package/src/database/database-initializer.js.map +1 -0
  83. package/src/database/{index.ts → index.d.ts} +1 -0
  84. package/src/database/index.d.ts.map +1 -0
  85. package/src/database/index.js +5 -0
  86. package/src/database/index.js.map +1 -0
  87. package/src/decorators/base-controller.d.ts +22 -0
  88. package/src/decorators/base-controller.d.ts.map +1 -0
  89. package/src/decorators/base-controller.js +71 -0
  90. package/src/decorators/base-controller.js.map +1 -0
  91. package/src/decorators/controller.d.ts +43 -0
  92. package/src/decorators/controller.d.ts.map +1 -0
  93. package/src/decorators/controller.js +73 -0
  94. package/src/decorators/controller.js.map +1 -0
  95. package/src/decorators/{index.ts → index.d.ts} +1 -0
  96. package/src/decorators/index.d.ts.map +1 -0
  97. package/src/decorators/index.js +7 -0
  98. package/src/decorators/index.js.map +1 -0
  99. package/src/decorators/zod-validation.d.ts +10 -0
  100. package/src/decorators/zod-validation.d.ts.map +1 -0
  101. package/src/decorators/zod-validation.js +53 -0
  102. package/src/decorators/zod-validation.js.map +1 -0
  103. package/src/defaults.d.ts +12 -0
  104. package/src/defaults.d.ts.map +1 -0
  105. package/src/defaults.js +212 -0
  106. package/src/defaults.js.map +1 -0
  107. package/src/documents/{base.ts → base.d.ts} +2 -4
  108. package/src/documents/base.d.ts.map +1 -0
  109. package/src/documents/base.js +8 -0
  110. package/src/documents/base.js.map +1 -0
  111. package/src/documents/{email-token.ts → email-token.d.ts} +3 -8
  112. package/src/documents/email-token.d.ts.map +1 -0
  113. package/src/documents/email-token.js +8 -0
  114. package/src/documents/email-token.js.map +1 -0
  115. package/src/documents/{index.ts → index.d.ts} +1 -0
  116. package/src/documents/index.d.ts.map +1 -0
  117. package/src/documents/index.js +3 -0
  118. package/src/documents/index.js.map +1 -0
  119. package/src/documents/{mnemonic.ts → mnemonic.d.ts} +2 -6
  120. package/src/documents/mnemonic.d.ts.map +1 -0
  121. package/src/documents/mnemonic.js +8 -0
  122. package/src/documents/mnemonic.js.map +1 -0
  123. package/src/documents/{role.ts → role.d.ts} +2 -6
  124. package/src/documents/role.d.ts.map +1 -0
  125. package/src/documents/role.js +8 -0
  126. package/src/documents/role.js.map +1 -0
  127. package/src/documents/{used-direct-login-token.ts → used-direct-login-token.d.ts} +2 -4
  128. package/src/documents/used-direct-login-token.d.ts.map +1 -0
  129. package/src/documents/used-direct-login-token.js +8 -0
  130. package/src/documents/used-direct-login-token.js.map +1 -0
  131. package/src/documents/{user-role.ts → user-role.d.ts} +2 -6
  132. package/src/documents/user-role.d.ts.map +1 -0
  133. package/src/documents/user-role.js +8 -0
  134. package/src/documents/user-role.js.map +1 -0
  135. package/src/documents/{user.ts → user.d.ts} +2 -6
  136. package/src/documents/user.d.ts.map +1 -0
  137. package/src/documents/user.js +8 -0
  138. package/src/documents/user.js.map +1 -0
  139. package/src/enumerations/base-model-name.d.ts +43 -0
  140. package/src/enumerations/base-model-name.d.ts.map +1 -0
  141. package/src/enumerations/base-model-name.js +39 -0
  142. package/src/enumerations/base-model-name.js.map +1 -0
  143. package/src/enumerations/{index.ts → index.d.ts} +1 -0
  144. package/src/enumerations/index.d.ts.map +1 -0
  145. package/src/enumerations/index.js +8 -0
  146. package/src/enumerations/index.js.map +1 -0
  147. package/src/enumerations/{length-encoding-type.ts → length-encoding-type.d.ts} +6 -6
  148. package/src/enumerations/length-encoding-type.d.ts.map +1 -0
  149. package/src/enumerations/length-encoding-type.js +20 -0
  150. package/src/enumerations/length-encoding-type.js.map +1 -0
  151. package/src/enumerations/schema-collection.d.ts +39 -0
  152. package/src/enumerations/schema-collection.d.ts.map +1 -0
  153. package/src/enumerations/schema-collection.js +43 -0
  154. package/src/enumerations/schema-collection.js.map +1 -0
  155. package/src/enumerations/{symmetric-error-type.ts → symmetric-error-type.d.ts} +4 -4
  156. package/src/enumerations/symmetric-error-type.d.ts.map +1 -0
  157. package/src/enumerations/symmetric-error-type.js +17 -0
  158. package/src/enumerations/symmetric-error-type.js.map +1 -0
  159. package/src/environment.d.ts +194 -0
  160. package/src/environment.d.ts.map +1 -0
  161. package/src/environment.js +649 -0
  162. package/src/environment.js.map +1 -0
  163. package/src/errors/express-validation.d.ts +24 -0
  164. package/src/errors/express-validation.d.ts.map +1 -0
  165. package/src/errors/express-validation.js +33 -0
  166. package/src/errors/express-validation.js.map +1 -0
  167. package/src/errors/{index.ts → index.d.ts} +1 -0
  168. package/src/errors/index.d.ts.map +1 -0
  169. package/src/errors/index.js +16 -0
  170. package/src/errors/index.js.map +1 -0
  171. package/src/errors/invalid-backup-code-version.d.ts +19 -0
  172. package/src/errors/invalid-backup-code-version.d.ts.map +1 -0
  173. package/src/errors/invalid-backup-code-version.js +29 -0
  174. package/src/errors/invalid-backup-code-version.js.map +1 -0
  175. package/src/errors/invalid-jwt-token.d.ts +17 -0
  176. package/src/errors/invalid-jwt-token.d.ts.map +1 -0
  177. package/src/errors/invalid-jwt-token.js +24 -0
  178. package/src/errors/invalid-jwt-token.js.map +1 -0
  179. package/src/errors/invalid-model.d.ts +18 -0
  180. package/src/errors/invalid-model.d.ts.map +1 -0
  181. package/src/errors/invalid-model.js +26 -0
  182. package/src/errors/invalid-model.js.map +1 -0
  183. package/src/errors/invalid-new-password.d.ts +19 -0
  184. package/src/errors/invalid-new-password.d.ts.map +1 -0
  185. package/src/errors/invalid-new-password.js +28 -0
  186. package/src/errors/invalid-new-password.js.map +1 -0
  187. package/src/errors/invalid-password.d.ts +19 -0
  188. package/src/errors/invalid-password.d.ts.map +1 -0
  189. package/src/errors/invalid-password.js +28 -0
  190. package/src/errors/invalid-password.js.map +1 -0
  191. package/src/errors/missing-validated-data.d.ts +24 -0
  192. package/src/errors/missing-validated-data.d.ts.map +1 -0
  193. package/src/errors/missing-validated-data.js +53 -0
  194. package/src/errors/missing-validated-data.js.map +1 -0
  195. package/src/errors/mnemonic-or-password-required.d.ts +17 -0
  196. package/src/errors/mnemonic-or-password-required.d.ts.map +1 -0
  197. package/src/errors/mnemonic-or-password-required.js +26 -0
  198. package/src/errors/mnemonic-or-password-required.js.map +1 -0
  199. package/src/errors/model-not-registered.d.ts +18 -0
  200. package/src/errors/model-not-registered.d.ts.map +1 -0
  201. package/src/errors/model-not-registered.js +26 -0
  202. package/src/errors/model-not-registered.js.map +1 -0
  203. package/src/errors/mongoose-validation.d.ts +28 -0
  204. package/src/errors/mongoose-validation.d.ts.map +1 -0
  205. package/src/errors/mongoose-validation.js +33 -0
  206. package/src/errors/mongoose-validation.js.map +1 -0
  207. package/src/errors/symmetric.d.ts +23 -0
  208. package/src/errors/symmetric.d.ts.map +1 -0
  209. package/src/errors/symmetric.js +37 -0
  210. package/src/errors/symmetric.js.map +1 -0
  211. package/src/errors/token-expired.d.ts +17 -0
  212. package/src/errors/token-expired.d.ts.map +1 -0
  213. package/src/errors/token-expired.js +24 -0
  214. package/src/errors/token-expired.js.map +1 -0
  215. package/src/get-language.d.ts +12 -0
  216. package/src/get-language.d.ts.map +1 -0
  217. package/src/get-language.js +40 -0
  218. package/src/get-language.js.map +1 -0
  219. package/src/get-timezone.d.ts +12 -0
  220. package/src/get-timezone.d.ts.map +1 -0
  221. package/src/get-timezone.js +53 -0
  222. package/src/get-timezone.js.map +1 -0
  223. package/src/{index.ts → index.d.ts} +2 -44
  224. package/src/index.d.ts.map +1 -0
  225. package/src/index.js +80 -0
  226. package/src/index.js.map +1 -0
  227. package/src/interfaces/{api-error-response.ts → api-error-response.d.ts} +2 -3
  228. package/src/interfaces/api-error-response.d.ts.map +1 -0
  229. package/src/interfaces/api-error-response.js +8 -0
  230. package/src/interfaces/api-error-response.js.map +1 -0
  231. package/src/interfaces/{api-express-validation-error-response.ts → api-express-validation-error-response.d.ts} +3 -4
  232. package/src/interfaces/api-express-validation-error-response.d.ts.map +1 -0
  233. package/src/interfaces/api-express-validation-error-response.js +8 -0
  234. package/src/interfaces/api-express-validation-error-response.js.map +1 -0
  235. package/src/interfaces/{api-message-response.ts → api-message-response.d.ts} +2 -2
  236. package/src/interfaces/api-message-response.d.ts.map +1 -0
  237. package/src/interfaces/api-message-response.js +8 -0
  238. package/src/interfaces/api-message-response.js.map +1 -0
  239. package/src/interfaces/{api-mongo-validation-error-response.ts → api-mongo-validation-error-response.d.ts} +2 -3
  240. package/src/interfaces/api-mongo-validation-error-response.d.ts.map +1 -0
  241. package/src/interfaces/api-mongo-validation-error-response.js +8 -0
  242. package/src/interfaces/api-mongo-validation-error-response.js.map +1 -0
  243. package/src/interfaces/api-responses/{backup-codes-response.ts → backup-codes-response.d.ts} +2 -3
  244. package/src/interfaces/api-responses/backup-codes-response.d.ts.map +1 -0
  245. package/src/interfaces/api-responses/backup-codes-response.js +8 -0
  246. package/src/interfaces/api-responses/backup-codes-response.js.map +1 -0
  247. package/src/interfaces/api-responses/{challenge-response.ts → challenge-response.d.ts} +5 -6
  248. package/src/interfaces/api-responses/challenge-response.d.ts.map +1 -0
  249. package/src/interfaces/api-responses/challenge-response.js +7 -0
  250. package/src/interfaces/api-responses/challenge-response.js.map +1 -0
  251. package/src/interfaces/api-responses/{code-count-response.ts → code-count-response.d.ts} +2 -3
  252. package/src/interfaces/api-responses/code-count-response.d.ts.map +1 -0
  253. package/src/interfaces/api-responses/code-count-response.js +8 -0
  254. package/src/interfaces/api-responses/code-count-response.js.map +1 -0
  255. package/src/interfaces/api-responses/{index.ts → index.d.ts} +1 -0
  256. package/src/interfaces/api-responses/index.d.ts.map +1 -0
  257. package/src/interfaces/api-responses/index.js +12 -0
  258. package/src/interfaces/api-responses/index.js.map +1 -0
  259. package/src/interfaces/api-responses/{login-response.ts → login-response.d.ts} +4 -5
  260. package/src/interfaces/api-responses/login-response.d.ts.map +1 -0
  261. package/src/interfaces/api-responses/login-response.js +8 -0
  262. package/src/interfaces/api-responses/login-response.js.map +1 -0
  263. package/src/interfaces/api-responses/{mnemonic-response.ts → mnemonic-response.d.ts} +3 -4
  264. package/src/interfaces/api-responses/mnemonic-response.d.ts.map +1 -0
  265. package/src/interfaces/api-responses/mnemonic-response.js +7 -0
  266. package/src/interfaces/api-responses/mnemonic-response.js.map +1 -0
  267. package/src/interfaces/api-responses/{registration-response.ts → registration-response.d.ts} +5 -6
  268. package/src/interfaces/api-responses/registration-response.d.ts.map +1 -0
  269. package/src/interfaces/api-responses/registration-response.js +7 -0
  270. package/src/interfaces/api-responses/registration-response.js.map +1 -0
  271. package/src/interfaces/api-responses/{request-user-response.ts → request-user-response.d.ts} +2 -3
  272. package/src/interfaces/api-responses/request-user-response.d.ts.map +1 -0
  273. package/src/interfaces/api-responses/request-user-response.js +8 -0
  274. package/src/interfaces/api-responses/request-user-response.js.map +1 -0
  275. package/src/interfaces/api-responses/{user-settings-response.ts → user-settings-response.d.ts} +9 -10
  276. package/src/interfaces/api-responses/user-settings-response.d.ts.map +1 -0
  277. package/src/interfaces/api-responses/user-settings-response.js +8 -0
  278. package/src/interfaces/api-responses/user-settings-response.js.map +1 -0
  279. package/src/interfaces/application.d.ts +39 -0
  280. package/src/interfaces/application.d.ts.map +1 -0
  281. package/src/interfaces/application.js +8 -0
  282. package/src/interfaces/application.js.map +1 -0
  283. package/src/interfaces/backend-objects/{email-token.ts → email-token.d.ts} +3 -8
  284. package/src/interfaces/backend-objects/email-token.d.ts.map +1 -0
  285. package/src/interfaces/backend-objects/email-token.js +8 -0
  286. package/src/interfaces/backend-objects/email-token.js.map +1 -0
  287. package/src/interfaces/backend-objects/{index.ts → index.d.ts} +1 -0
  288. package/src/interfaces/backend-objects/index.d.ts.map +1 -0
  289. package/src/interfaces/backend-objects/index.js +8 -0
  290. package/src/interfaces/backend-objects/index.js.map +1 -0
  291. package/src/interfaces/backend-objects/{request-user.ts → request-user.d.ts} +2 -6
  292. package/src/interfaces/backend-objects/request-user.d.ts.map +1 -0
  293. package/src/interfaces/backend-objects/request-user.js +8 -0
  294. package/src/interfaces/backend-objects/request-user.js.map +1 -0
  295. package/src/interfaces/backend-objects/{role.ts → role.d.ts} +2 -7
  296. package/src/interfaces/backend-objects/role.d.ts.map +1 -0
  297. package/src/interfaces/backend-objects/role.js +8 -0
  298. package/src/interfaces/backend-objects/role.js.map +1 -0
  299. package/src/interfaces/backend-objects/{user.ts → user.d.ts} +2 -6
  300. package/src/interfaces/backend-objects/user.d.ts.map +1 -0
  301. package/src/interfaces/backend-objects/user.js +8 -0
  302. package/src/interfaces/backend-objects/user.js.map +1 -0
  303. package/src/interfaces/{checksum-config.ts → checksum-config.d.ts} +3 -3
  304. package/src/interfaces/checksum-config.d.ts.map +1 -0
  305. package/src/interfaces/checksum-config.js +8 -0
  306. package/src/interfaces/checksum-config.js.map +1 -0
  307. package/src/interfaces/checksum-consts.d.ts +20 -0
  308. package/src/interfaces/checksum-consts.d.ts.map +1 -0
  309. package/src/interfaces/checksum-consts.js +8 -0
  310. package/src/interfaces/checksum-consts.js.map +1 -0
  311. package/src/interfaces/constants.d.ts +66 -0
  312. package/src/interfaces/constants.d.ts.map +1 -0
  313. package/src/interfaces/constants.js +8 -0
  314. package/src/interfaces/constants.js.map +1 -0
  315. package/src/interfaces/{controller-config.ts → controller-config.d.ts} +15 -31
  316. package/src/interfaces/controller-config.d.ts.map +1 -0
  317. package/src/interfaces/controller-config.js +8 -0
  318. package/src/interfaces/controller-config.js.map +1 -0
  319. package/src/interfaces/{create-user-basics.ts → create-user-basics.d.ts} +13 -13
  320. package/src/interfaces/create-user-basics.d.ts.map +1 -0
  321. package/src/interfaces/create-user-basics.js +8 -0
  322. package/src/interfaces/create-user-basics.js.map +1 -0
  323. package/src/interfaces/{csp-config.ts → csp-config.d.ts} +5 -15
  324. package/src/interfaces/csp-config.d.ts.map +1 -0
  325. package/src/interfaces/csp-config.js +23 -0
  326. package/src/interfaces/csp-config.js.map +1 -0
  327. package/src/interfaces/{csp-definition.ts → csp-definition.d.ts} +9 -46
  328. package/src/interfaces/csp-definition.d.ts.map +1 -0
  329. package/src/interfaces/csp-definition.js +32 -0
  330. package/src/interfaces/csp-definition.js.map +1 -0
  331. package/src/interfaces/{db-init-result.ts → db-init-result.d.ts} +2 -3
  332. package/src/interfaces/db-init-result.d.ts.map +1 -0
  333. package/src/interfaces/db-init-result.js +8 -0
  334. package/src/interfaces/db-init-result.js.map +1 -0
  335. package/src/interfaces/{deep-partial.ts → deep-partial.d.ts} +2 -2
  336. package/src/interfaces/deep-partial.d.ts.map +1 -0
  337. package/src/interfaces/deep-partial.js +8 -0
  338. package/src/interfaces/deep-partial.js.map +1 -0
  339. package/src/interfaces/{discriminator-collections.ts → discriminator-collections.d.ts} +4 -8
  340. package/src/interfaces/discriminator-collections.d.ts.map +1 -0
  341. package/src/interfaces/discriminator-collections.js +8 -0
  342. package/src/interfaces/discriminator-collections.js.map +1 -0
  343. package/src/interfaces/email-service.d.ts +21 -0
  344. package/src/interfaces/email-service.d.ts.map +1 -0
  345. package/src/interfaces/email-service.js +8 -0
  346. package/src/interfaces/email-service.js.map +1 -0
  347. package/src/interfaces/environment-mongo.d.ts +85 -0
  348. package/src/interfaces/environment-mongo.d.ts.map +1 -0
  349. package/src/interfaces/environment-mongo.js +8 -0
  350. package/src/interfaces/environment-mongo.js.map +1 -0
  351. package/src/interfaces/environment.d.ts +190 -0
  352. package/src/interfaces/environment.d.ts.map +1 -0
  353. package/src/interfaces/environment.js +8 -0
  354. package/src/interfaces/environment.js.map +1 -0
  355. package/src/interfaces/{failable-result.ts → failable-result.d.ts} +5 -5
  356. package/src/interfaces/failable-result.d.ts.map +1 -0
  357. package/src/interfaces/failable-result.js +8 -0
  358. package/src/interfaces/failable-result.js.map +1 -0
  359. package/src/interfaces/{fec-consts.ts → fec-consts.d.ts} +3 -3
  360. package/src/interfaces/fec-consts.d.ts.map +1 -0
  361. package/src/interfaces/fec-consts.js +8 -0
  362. package/src/interfaces/fec-consts.js.map +1 -0
  363. package/src/interfaces/{flexible-csp.ts → flexible-csp.d.ts} +5 -16
  364. package/src/interfaces/flexible-csp.d.ts.map +1 -0
  365. package/src/interfaces/flexible-csp.js +24 -0
  366. package/src/interfaces/flexible-csp.js.map +1 -0
  367. package/src/interfaces/{handleable-error-options.ts → handleable-error-options.d.ts} +5 -5
  368. package/src/interfaces/handleable-error-options.d.ts.map +1 -0
  369. package/src/interfaces/handleable-error-options.js +8 -0
  370. package/src/interfaces/handleable-error-options.js.map +1 -0
  371. package/src/interfaces/{index.ts → index.d.ts} +1 -0
  372. package/src/interfaces/index.d.ts.map +1 -0
  373. package/src/interfaces/index.js +38 -0
  374. package/src/interfaces/index.js.map +1 -0
  375. package/src/interfaces/jwt-consts.d.ts +20 -0
  376. package/src/interfaces/jwt-consts.d.ts.map +1 -0
  377. package/src/interfaces/jwt-consts.js +8 -0
  378. package/src/interfaces/jwt-consts.js.map +1 -0
  379. package/src/interfaces/{jwt-sign-response.ts → jwt-sign-response.d.ts} +9 -18
  380. package/src/interfaces/jwt-sign-response.d.ts.map +1 -0
  381. package/src/interfaces/jwt-sign-response.js +8 -0
  382. package/src/interfaces/jwt-sign-response.js.map +1 -0
  383. package/src/interfaces/models/{email-token.ts → email-token.d.ts} +1 -2
  384. package/src/interfaces/models/email-token.d.ts.map +1 -0
  385. package/src/interfaces/models/email-token.js +8 -0
  386. package/src/interfaces/models/email-token.js.map +1 -0
  387. package/src/interfaces/models/{index.ts → index.d.ts} +1 -0
  388. package/src/interfaces/models/index.d.ts.map +1 -0
  389. package/src/interfaces/models/index.js +11 -0
  390. package/src/interfaces/models/index.js.map +1 -0
  391. package/src/interfaces/models/{mnemonic.ts → mnemonic.d.ts} +1 -2
  392. package/src/interfaces/models/mnemonic.d.ts.map +1 -0
  393. package/src/interfaces/models/mnemonic.js +8 -0
  394. package/src/interfaces/models/mnemonic.js.map +1 -0
  395. package/src/interfaces/models/{role.ts → role.d.ts} +1 -2
  396. package/src/interfaces/models/role.d.ts.map +1 -0
  397. package/src/interfaces/models/role.js +8 -0
  398. package/src/interfaces/models/role.js.map +1 -0
  399. package/src/interfaces/models/{token-role.ts → token-role.d.ts} +2 -6
  400. package/src/interfaces/models/token-role.d.ts.map +1 -0
  401. package/src/interfaces/models/token-role.js +8 -0
  402. package/src/interfaces/models/token-role.js.map +1 -0
  403. package/src/interfaces/models/{used-direct-login-token.ts → used-direct-login-token.d.ts} +2 -4
  404. package/src/interfaces/models/used-direct-login-token.d.ts.map +1 -0
  405. package/src/interfaces/models/used-direct-login-token.js +8 -0
  406. package/src/interfaces/models/used-direct-login-token.js.map +1 -0
  407. package/src/interfaces/models/{user-role.ts → user-role.d.ts} +2 -6
  408. package/src/interfaces/models/user-role.d.ts.map +1 -0
  409. package/src/interfaces/models/user-role.js +8 -0
  410. package/src/interfaces/models/user-role.js.map +1 -0
  411. package/src/interfaces/models/{user.ts → user.d.ts} +3 -12
  412. package/src/interfaces/models/user.d.ts.map +1 -0
  413. package/src/interfaces/models/user.js +8 -0
  414. package/src/interfaces/models/user.js.map +1 -0
  415. package/src/interfaces/{mongo-errors.ts → mongo-errors.d.ts} +2 -3
  416. package/src/interfaces/mongo-errors.d.ts.map +1 -0
  417. package/src/interfaces/mongo-errors.js +8 -0
  418. package/src/interfaces/mongo-errors.js.map +1 -0
  419. package/src/interfaces/request-user.d.ts +67 -0
  420. package/src/interfaces/request-user.d.ts.map +1 -0
  421. package/src/interfaces/request-user.js +8 -0
  422. package/src/interfaces/request-user.js.map +1 -0
  423. package/src/interfaces/required-string-keys.d.ts +28 -0
  424. package/src/interfaces/required-string-keys.d.ts.map +1 -0
  425. package/src/interfaces/required-string-keys.js +8 -0
  426. package/src/interfaces/required-string-keys.js.map +1 -0
  427. package/src/interfaces/{schema.ts → schema.d.ts} +22 -28
  428. package/src/interfaces/schema.d.ts.map +1 -0
  429. package/src/interfaces/schema.js +8 -0
  430. package/src/interfaces/schema.js.map +1 -0
  431. package/src/interfaces/server-init-result.d.ts +45 -0
  432. package/src/interfaces/server-init-result.d.ts.map +1 -0
  433. package/src/interfaces/server-init-result.js +8 -0
  434. package/src/interfaces/server-init-result.js.map +1 -0
  435. package/src/interfaces/{status-code-response.ts → status-code-response.d.ts} +4 -5
  436. package/src/interfaces/status-code-response.d.ts.map +1 -0
  437. package/src/interfaces/status-code-response.js +8 -0
  438. package/src/interfaces/status-code-response.js.map +1 -0
  439. package/src/interfaces/{symmetric-encryption-results.ts → symmetric-encryption-results.d.ts} +3 -3
  440. package/src/interfaces/symmetric-encryption-results.d.ts.map +1 -1
  441. package/src/interfaces/symmetric-encryption-results.js +5 -0
  442. package/src/interfaces/symmetric-encryption-results.js.map +1 -1
  443. package/src/interfaces/{test-environment.ts → test-environment.d.ts} +6 -7
  444. package/src/interfaces/test-environment.d.ts.map +1 -0
  445. package/src/interfaces/test-environment.js +8 -0
  446. package/src/interfaces/test-environment.js.map +1 -0
  447. package/src/interfaces/{token-response.ts → token-response.d.ts} +2 -3
  448. package/src/interfaces/token-response.d.ts.map +1 -0
  449. package/src/interfaces/token-response.js +8 -0
  450. package/src/interfaces/token-response.js.map +1 -0
  451. package/src/middleware-utils.d.ts +31 -0
  452. package/src/middleware-utils.d.ts.map +1 -0
  453. package/src/middleware-utils.js +117 -0
  454. package/src/middleware-utils.js.map +1 -0
  455. package/src/middlewares/authenticate-crypto.d.ts +27 -0
  456. package/src/middlewares/authenticate-crypto.d.ts.map +1 -0
  457. package/src/middlewares/authenticate-crypto.js +143 -0
  458. package/src/middlewares/authenticate-crypto.js.map +1 -0
  459. package/src/middlewares/authenticate-token.d.ts +34 -0
  460. package/src/middlewares/authenticate-token.d.ts.map +1 -0
  461. package/src/middlewares/authenticate-token.js +117 -0
  462. package/src/middlewares/authenticate-token.js.map +1 -0
  463. package/src/middlewares/cleanup-crypto.d.ts +16 -0
  464. package/src/middlewares/cleanup-crypto.d.ts.map +1 -0
  465. package/src/middlewares/cleanup-crypto.js +41 -0
  466. package/src/middlewares/cleanup-crypto.js.map +1 -0
  467. package/src/middlewares/{index.ts → index.d.ts} +1 -0
  468. package/src/middlewares/index.d.ts.map +1 -0
  469. package/src/middlewares/index.js +8 -0
  470. package/src/middlewares/index.js.map +1 -0
  471. package/src/middlewares/{set-global-context-language.ts → set-global-context-language.d.ts} +2 -24
  472. package/src/middlewares/set-global-context-language.d.ts.map +1 -0
  473. package/src/middlewares/set-global-context-language.js +27 -0
  474. package/src/middlewares/set-global-context-language.js.map +1 -0
  475. package/src/model-registry.d.ts +79 -0
  476. package/src/model-registry.d.ts.map +1 -0
  477. package/src/model-registry.js +97 -0
  478. package/src/model-registry.js.map +1 -0
  479. package/src/models/{email-token.ts → email-token.d.ts} +2 -27
  480. package/src/models/email-token.d.ts.map +1 -0
  481. package/src/models/email-token.js +16 -0
  482. package/src/models/email-token.js.map +1 -0
  483. package/src/models/{index.ts → index.d.ts} +1 -0
  484. package/src/models/index.d.ts.map +1 -0
  485. package/src/models/index.js +10 -0
  486. package/src/models/index.js.map +1 -0
  487. package/src/models/{mnemonic.ts → mnemonic.d.ts} +2 -20
  488. package/src/models/mnemonic.d.ts.map +1 -0
  489. package/src/models/mnemonic.js +27 -0
  490. package/src/models/mnemonic.js.map +1 -0
  491. package/src/models/{role.ts → role.d.ts} +2 -16
  492. package/src/models/role.d.ts.map +1 -0
  493. package/src/models/role.js +27 -0
  494. package/src/models/role.js.map +1 -0
  495. package/src/models/{used-direct-login-token.ts → used-direct-login-token.d.ts} +2 -27
  496. package/src/models/used-direct-login-token.d.ts.map +1 -0
  497. package/src/models/used-direct-login-token.js +16 -0
  498. package/src/models/used-direct-login-token.js.map +1 -0
  499. package/src/models/{user-role.ts → user-role.d.ts} +2 -19
  500. package/src/models/user-role.d.ts.map +1 -0
  501. package/src/models/user-role.js +26 -0
  502. package/src/models/user-role.js.map +1 -0
  503. package/src/models/{user.ts → user.d.ts} +2 -20
  504. package/src/models/user.d.ts.map +1 -0
  505. package/src/models/user.js +27 -0
  506. package/src/models/user.js.map +1 -0
  507. package/src/pipeline/{index.ts → index.d.ts} +1 -0
  508. package/src/pipeline/index.d.ts.map +1 -0
  509. package/src/pipeline/index.js +5 -0
  510. package/src/pipeline/index.js.map +1 -0
  511. package/src/pipeline/pipeline-builder.d.ts +16 -0
  512. package/src/pipeline/pipeline-builder.d.ts.map +1 -0
  513. package/src/pipeline/pipeline-builder.js +26 -0
  514. package/src/pipeline/pipeline-builder.js.map +1 -0
  515. package/src/plugins/{index.ts → index.d.ts} +1 -0
  516. package/src/plugins/index.d.ts.map +1 -0
  517. package/src/plugins/index.js +6 -0
  518. package/src/plugins/index.js.map +1 -0
  519. package/src/plugins/{plugin-interface.ts → plugin-interface.d.ts} +5 -6
  520. package/src/plugins/plugin-interface.d.ts.map +1 -0
  521. package/src/plugins/plugin-interface.js +8 -0
  522. package/src/plugins/plugin-interface.js.map +1 -0
  523. package/src/plugins/plugin-manager.d.ts +22 -0
  524. package/src/plugins/plugin-manager.d.ts.map +1 -0
  525. package/src/plugins/plugin-manager.js +46 -0
  526. package/src/plugins/plugin-manager.js.map +1 -0
  527. package/src/registry/email-service-registry.d.ts +49 -0
  528. package/src/registry/email-service-registry.d.ts.map +1 -0
  529. package/src/registry/email-service-registry.js +64 -0
  530. package/src/registry/email-service-registry.js.map +1 -0
  531. package/src/registry/{index.ts → index.d.ts} +1 -0
  532. package/src/registry/index.d.ts.map +1 -0
  533. package/src/registry/index.js +6 -0
  534. package/src/registry/index.js.map +1 -0
  535. package/src/responses/{index.ts → index.d.ts} +1 -0
  536. package/src/responses/index.d.ts.map +1 -0
  537. package/src/responses/index.js +5 -0
  538. package/src/responses/index.js.map +1 -0
  539. package/src/responses/response-builder.d.ts +103 -0
  540. package/src/responses/response-builder.d.ts.map +1 -0
  541. package/src/responses/response-builder.js +142 -0
  542. package/src/responses/response-builder.js.map +1 -0
  543. package/src/routers/api.d.ts +59 -0
  544. package/src/routers/api.d.ts.map +1 -0
  545. package/src/routers/api.js +110 -0
  546. package/src/routers/api.js.map +1 -0
  547. package/src/routers/app.d.ts +87 -0
  548. package/src/routers/app.d.ts.map +1 -0
  549. package/src/routers/app.js +285 -0
  550. package/src/routers/app.js.map +1 -0
  551. package/src/routers/{base.ts → base.d.ts} +11 -19
  552. package/src/routers/base.d.ts.map +1 -0
  553. package/src/routers/base.js +31 -0
  554. package/src/routers/base.js.map +1 -0
  555. package/src/routers/{index.ts → index.d.ts} +1 -0
  556. package/src/routers/index.d.ts.map +1 -0
  557. package/src/routers/index.js +7 -0
  558. package/src/routers/index.js.map +1 -0
  559. package/src/routers/router-config.d.ts +35 -0
  560. package/src/routers/router-config.d.ts.map +1 -0
  561. package/src/routers/router-config.js +16 -0
  562. package/src/routers/router-config.js.map +1 -0
  563. package/src/routing/index.d.ts +2 -0
  564. package/src/routing/index.d.ts.map +1 -0
  565. package/src/routing/index.js +5 -0
  566. package/src/routing/index.js.map +1 -0
  567. package/src/routing/route-builder.d.ts +121 -0
  568. package/src/routing/route-builder.d.ts.map +1 -0
  569. package/src/routing/route-builder.js +167 -0
  570. package/src/routing/route-builder.js.map +1 -0
  571. package/src/schemas/email-token.d.ts +65 -0
  572. package/src/schemas/email-token.d.ts.map +1 -0
  573. package/src/schemas/email-token.js +68 -0
  574. package/src/schemas/email-token.js.map +1 -0
  575. package/src/schemas/{index.ts → index.d.ts} +1 -0
  576. package/src/schemas/index.d.ts.map +1 -0
  577. package/src/schemas/index.js +11 -0
  578. package/src/schemas/index.js.map +1 -0
  579. package/src/schemas/mnemonic.d.ts +37 -0
  580. package/src/schemas/mnemonic.d.ts.map +1 -0
  581. package/src/schemas/mnemonic.js +41 -0
  582. package/src/schemas/mnemonic.js.map +1 -0
  583. package/src/schemas/role.d.ts +57 -0
  584. package/src/schemas/role.d.ts.map +1 -0
  585. package/src/schemas/role.js +102 -0
  586. package/src/schemas/role.js.map +1 -0
  587. package/src/schemas/schema.d.ts +62 -0
  588. package/src/schemas/schema.d.ts.map +1 -0
  589. package/src/schemas/schema.js +81 -0
  590. package/src/schemas/schema.js.map +1 -0
  591. package/src/schemas/used-direct-login-token.d.ts +49 -0
  592. package/src/schemas/used-direct-login-token.d.ts.map +1 -0
  593. package/src/schemas/used-direct-login-token.js +35 -0
  594. package/src/schemas/used-direct-login-token.js.map +1 -0
  595. package/src/schemas/user-role.d.ts +52 -0
  596. package/src/schemas/user-role.d.ts.map +1 -0
  597. package/src/schemas/user-role.js +67 -0
  598. package/src/schemas/user-role.js.map +1 -0
  599. package/src/schemas/user.d.ts +43 -0
  600. package/src/schemas/user.d.ts.map +1 -0
  601. package/src/schemas/user.js +214 -0
  602. package/src/schemas/user.js.map +1 -0
  603. package/src/services/backup-code.d.ts +80 -0
  604. package/src/services/backup-code.d.ts.map +1 -0
  605. package/src/services/backup-code.js +189 -0
  606. package/src/services/backup-code.js.map +1 -0
  607. package/src/services/base.d.ts +22 -0
  608. package/src/services/base.d.ts.map +1 -0
  609. package/src/services/base.js +26 -0
  610. package/src/services/base.js.map +1 -0
  611. package/src/services/checksum.d.ts +90 -0
  612. package/src/services/checksum.d.ts.map +1 -0
  613. package/src/services/checksum.js +166 -0
  614. package/src/services/checksum.js.map +1 -0
  615. package/src/services/database-initialization.d.ts +138 -0
  616. package/src/services/database-initialization.d.ts.map +1 -0
  617. package/src/services/database-initialization.js +904 -0
  618. package/src/services/database-initialization.js.map +1 -0
  619. package/src/services/{db-init-cache.ts → db-init-cache.d.ts} +6 -16
  620. package/src/services/db-init-cache.d.ts.map +1 -0
  621. package/src/services/db-init-cache.js +7 -0
  622. package/src/services/db-init-cache.js.map +1 -0
  623. package/src/services/direct-login-token.d.ts +28 -0
  624. package/src/services/direct-login-token.d.ts.map +1 -0
  625. package/src/services/direct-login-token.js +62 -0
  626. package/src/services/direct-login-token.js.map +1 -0
  627. package/src/services/dummy-email-service.d.ts +30 -0
  628. package/src/services/dummy-email-service.d.ts.map +1 -0
  629. package/src/services/dummy-email-service.js +35 -0
  630. package/src/services/dummy-email-service.js.map +1 -0
  631. package/src/services/fec-usage-example.d.ts +58 -0
  632. package/src/services/fec-usage-example.d.ts.map +1 -0
  633. package/src/services/fec-usage-example.js +95 -0
  634. package/src/services/fec-usage-example.js.map +1 -0
  635. package/src/services/fec.d.ts +88 -0
  636. package/src/services/fec.d.ts.map +1 -0
  637. package/src/services/fec.js +246 -0
  638. package/src/services/fec.js.map +1 -0
  639. package/src/services/{index.ts → index.d.ts} +1 -0
  640. package/src/services/index.d.ts.map +1 -0
  641. package/src/services/index.js +22 -0
  642. package/src/services/index.js.map +1 -0
  643. package/src/services/jwt.d.ts +45 -0
  644. package/src/services/jwt.d.ts.map +1 -0
  645. package/src/services/jwt.js +105 -0
  646. package/src/services/jwt.js.map +1 -0
  647. package/src/services/key-wrapping.d.ts +139 -0
  648. package/src/services/key-wrapping.d.ts.map +1 -0
  649. package/src/services/key-wrapping.js +372 -0
  650. package/src/services/key-wrapping.js.map +1 -0
  651. package/src/services/mnemonic.d.ts +68 -0
  652. package/src/services/mnemonic.d.ts.map +1 -0
  653. package/src/services/mnemonic.js +120 -0
  654. package/src/services/mnemonic.js.map +1 -0
  655. package/src/services/request-user.d.ts +45 -0
  656. package/src/services/request-user.d.ts.map +1 -0
  657. package/src/services/request-user.js +90 -0
  658. package/src/services/request-user.js.map +1 -0
  659. package/src/services/role.d.ts +97 -0
  660. package/src/services/role.d.ts.map +1 -0
  661. package/src/services/role.js +289 -0
  662. package/src/services/role.js.map +1 -0
  663. package/src/services/symmetric.d.ts +60 -0
  664. package/src/services/symmetric.d.ts.map +1 -0
  665. package/src/services/symmetric.js +125 -0
  666. package/src/services/symmetric.js.map +1 -0
  667. package/src/services/system-user.d.ts +22 -0
  668. package/src/services/system-user.d.ts.map +1 -0
  669. package/src/services/system-user.js +52 -0
  670. package/src/services/system-user.js.map +1 -0
  671. package/src/services/user.d.ts +368 -0
  672. package/src/services/user.d.ts.map +1 -0
  673. package/src/services/user.js +1470 -0
  674. package/src/services/user.js.map +1 -0
  675. package/src/services/xor.d.ts +28 -0
  676. package/src/services/xor.d.ts.map +1 -0
  677. package/src/services/xor.js +45 -0
  678. package/src/services/xor.js.map +1 -0
  679. package/src/{testing.ts → testing.d.ts} +1 -2
  680. package/src/testing.d.ts.map +1 -0
  681. package/src/testing.js +12 -0
  682. package/src/testing.js.map +1 -0
  683. package/src/transactions/{index.ts → index.d.ts} +1 -0
  684. package/src/transactions/index.d.ts.map +1 -0
  685. package/src/transactions/index.js +5 -0
  686. package/src/transactions/index.js.map +1 -0
  687. package/src/transactions/transaction-manager.d.ts +37 -0
  688. package/src/transactions/transaction-manager.d.ts.map +1 -0
  689. package/src/transactions/transaction-manager.js +50 -0
  690. package/src/transactions/transaction-manager.js.map +1 -0
  691. package/src/types/{app-config.ts → app-config.d.ts} +10 -16
  692. package/src/types/app-config.d.ts.map +1 -0
  693. package/src/types/app-config.js +8 -0
  694. package/src/types/app-config.js.map +1 -0
  695. package/src/types/{controller-config.ts → controller-config.d.ts} +7 -9
  696. package/src/types/controller-config.d.ts.map +1 -0
  697. package/src/types/controller-config.js +8 -0
  698. package/src/types/controller-config.js.map +1 -0
  699. package/src/types/{environment-variables.ts → environment-variables.d.ts} +5 -27
  700. package/src/types/environment-variables.d.ts.map +1 -0
  701. package/src/types/environment-variables.js +41 -0
  702. package/src/types/environment-variables.js.map +1 -0
  703. package/src/types/{index.ts → index.d.ts} +1 -0
  704. package/src/types/index.d.ts.map +1 -0
  705. package/src/types/index.js +6 -0
  706. package/src/types/index.js.map +1 -0
  707. package/src/types/{mongoose-helpers.ts → mongoose-helpers.d.ts} +2 -3
  708. package/src/types/mongoose-helpers.d.ts.map +1 -0
  709. package/src/types/mongoose-helpers.js +8 -0
  710. package/src/types/mongoose-helpers.js.map +1 -0
  711. package/src/types.d.ts +118 -0
  712. package/src/types.d.ts.map +1 -0
  713. package/src/types.js +28 -0
  714. package/src/types.js.map +1 -0
  715. package/src/utils.d.ts +240 -0
  716. package/src/utils.d.ts.map +1 -0
  717. package/src/utils.js +843 -0
  718. package/src/utils.js.map +1 -0
  719. package/src/validation/{index.ts → index.d.ts} +1 -0
  720. package/src/validation/index.d.ts.map +1 -0
  721. package/src/validation/index.js +5 -0
  722. package/src/validation/index.js.map +1 -0
  723. package/src/validation/validation-builder.d.ts +71 -0
  724. package/src/validation/validation-builder.d.ts.map +1 -0
  725. package/src/validation/validation-builder.js +120 -0
  726. package/src/validation/validation-builder.js.map +1 -0
  727. package/LICENSE +0 -21
  728. package/src/__tests__/fixtures/model-mocks.mock.ts +0 -164
  729. package/src/__tests__/helpers/application.mock.ts +0 -89
  730. package/src/__tests__/helpers/setup-test-env.ts +0 -202
  731. package/src/application-base.ts +0 -548
  732. package/src/application-concrete.ts +0 -62
  733. package/src/application.ts +0 -330
  734. package/src/backup-code.ts +0 -348
  735. package/src/builders/application-builder.ts +0 -147
  736. package/src/constants.ts +0 -89
  737. package/src/container/service-container.ts +0 -85
  738. package/src/controllers/base.ts +0 -512
  739. package/src/controllers/user.ts +0 -1734
  740. package/src/decorators/base-controller.ts +0 -91
  741. package/src/decorators/controller.ts +0 -152
  742. package/src/decorators/zod-validation.ts +0 -64
  743. package/src/defaults.ts +0 -259
  744. package/src/enumerations/base-model-name.ts +0 -47
  745. package/src/enumerations/schema-collection.ts +0 -39
  746. package/src/environment.ts +0 -859
  747. package/src/errors/express-validation.ts +0 -38
  748. package/src/errors/invalid-backup-code-version.ts +0 -30
  749. package/src/errors/invalid-jwt-token.ts +0 -24
  750. package/src/errors/invalid-model.ts +0 -24
  751. package/src/errors/invalid-new-password.ts +0 -33
  752. package/src/errors/invalid-password.ts +0 -28
  753. package/src/errors/missing-validated-data.ts +0 -55
  754. package/src/errors/mnemonic-or-password-required.ts +0 -26
  755. package/src/errors/model-not-registered.ts +0 -24
  756. package/src/errors/mongoose-validation.ts +0 -56
  757. package/src/errors/symmetric.ts +0 -53
  758. package/src/errors/token-expired.ts +0 -24
  759. package/src/get-language.ts +0 -64
  760. package/src/get-timezone.ts +0 -76
  761. package/src/interfaces/application.ts +0 -40
  762. package/src/interfaces/checksum-consts.ts +0 -23
  763. package/src/interfaces/constants.ts +0 -114
  764. package/src/interfaces/email-service.ts +0 -26
  765. package/src/interfaces/environment-mongo.ts +0 -86
  766. package/src/interfaces/environment.ts +0 -191
  767. package/src/interfaces/jwt-consts.ts +0 -33
  768. package/src/interfaces/request-user.ts +0 -80
  769. package/src/interfaces/required-string-keys.ts +0 -33
  770. package/src/interfaces/server-init-result.ts +0 -48
  771. package/src/middleware-utils.ts +0 -138
  772. package/src/middlewares/authenticate-crypto.ts +0 -237
  773. package/src/middlewares/authenticate-token.ts +0 -165
  774. package/src/middlewares/cleanup-crypto.ts +0 -47
  775. package/src/model-registry.ts +0 -142
  776. package/src/pipeline/pipeline-builder.ts +0 -27
  777. package/src/plugins/plugin-manager.ts +0 -53
  778. package/src/registry/email-service-registry.ts +0 -76
  779. package/src/responses/response-builder.ts +0 -166
  780. package/src/routers/api.ts +0 -233
  781. package/src/routers/app.ts +0 -395
  782. package/src/routers/router-config.ts +0 -34
  783. package/src/routing/index.ts +0 -1
  784. package/src/routing/route-builder.ts +0 -214
  785. package/src/schemas/email-token.ts +0 -112
  786. package/src/schemas/mnemonic.ts +0 -48
  787. package/src/schemas/role.ts +0 -153
  788. package/src/schemas/schema.ts +0 -185
  789. package/src/schemas/used-direct-login-token.ts +0 -58
  790. package/src/schemas/user-role.ts +0 -93
  791. package/src/schemas/user.ts +0 -244
  792. package/src/services/backup-code.ts +0 -327
  793. package/src/services/base.ts +0 -46
  794. package/src/services/checksum.ts +0 -189
  795. package/src/services/database-initialization.ts +0 -1653
  796. package/src/services/direct-login-token.ts +0 -83
  797. package/src/services/dummy-email-service.ts +0 -43
  798. package/src/services/fec-usage-example.ts +0 -123
  799. package/src/services/fec.ts +0 -399
  800. package/src/services/jwt.ts +0 -146
  801. package/src/services/key-wrapping.ts +0 -528
  802. package/src/services/mnemonic.ts +0 -174
  803. package/src/services/request-user.ts +0 -127
  804. package/src/services/role.ts +0 -417
  805. package/src/services/symmetric.ts +0 -164
  806. package/src/services/system-user.ts +0 -87
  807. package/src/services/user.ts +0 -2324
  808. package/src/services/xor.ts +0 -39
  809. package/src/transactions/transaction-manager.ts +0 -63
  810. package/src/types/mongoose-override.d.ts +0 -1
  811. package/src/types/mongoose.d.ts +0 -1
  812. package/src/types.ts +0 -189
  813. package/src/utils.ts +0 -1116
  814. package/src/validation/validation-builder.ts +0 -155
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authenticate-token.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/authenticate-token.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAwCH,sCASC;AAkBD,8CA6FC;AA7JD,wDAAgE;AAEhE,oEAMyC;AAIzC,qEAAgE;AAChE,2DAA4D;AAE5D,yCAA6C;AAC7C,2DAA8D;AAC9D,2CAA+C;AAC/C,oCAA2C;AAM3C,iFAAiF;AACjF,SAAS,cAAc,CAAC,EAAU;IAChC,MAAM,OAAO,GAAG,8BAAmB,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,mBAAmB,GAAG,OAAO,CAAC,aAAa;SAC9C,WAAkC,CAAC;IACtC,OAAO,IAAI,mBAAmB,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,OAA4B;IACxD,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IACxE,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC9D,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,iBAAiB,CAOrC,WAAyB,EACzB,GAAY,EACZ,GAAa,EACb,IAAkB;IAElB,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CACpC,+BAAa,CAAC,IAAI,CACnB,CAAC;IACF,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,GAAG;aACP,MAAM,CAAC,GAAG,CAAC;aACX,IAAI,CACH,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,uBAAuB,CAAC,CACpE,CAAC;IACN,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,IAAA,uBAAe,EAC1B,WAAW,CAAC,EAAE,CAAC,UAAU,EACzB,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,EAC7C,SAAS,EACT,KAAK,EAAE,IAA+B,EAAE,EAAE;YACxC,MAAM,UAAU,GAAG,IAAI,gBAAU,CAM/B,WAAW,CAAC,CAAC;YACf,MAAM,IAAI,GAAsB,MAAM,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACpE,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI;gBACzB,4DAA4D;gBAC5D,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,uBAAuB,CAAC,CACpE,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;iBAClD,MAAM,CAAC,WAAW,CAAC;iBACnB,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;iBACrB,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,KAAK,8BAAa,CAAC,MAAM,EAAE,CAAC;gBAC/D,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI;gBACzB,4DAA4D;gBAC5D,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,uBAAuB,CAAC,CACpE,CAAC;YACJ,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,kBAAW,CAAqB,WAAW,CAAC,CAAC;YACrE,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,GAAU,EAAE,IAAI,CAAC,CAAC;YACvE,MAAM,UAAU,GAAG,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACxD,GAAG,CAAC,IAAI,GAAG,iCAAkB,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,8BAAmB,CAAC,WAAW,EAAE,CAAC;YAClD,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;YACpE,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACxC,OAAO,CAAC,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,EAAE,CAAC;YACP,OAAO,GAAG,CAAC;QACb,CAAC,EACD;YACE,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,kBAAkB;SAC5D,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,iCAAiB,EAAE,CAAC;YACrC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,IAAA,wCAAuB,EAC9B,mCAAkB,CAAC,uBAAuB,CAC3C;gBACD,KAAK,EAAE,GAAG;aACX,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACpE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,IAAA,wCAAuB,EAC9B,mCAAkB,CAAC,uBAAuB,CAC3C;gBACD,KAAK,EAAE,GAAG;aACX,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,IAAA,wCAAuB,EAC9B,mCAAkB,CAAC,sBAAsB,CAC1C;gBACD,KAAK,EAAE,GAAG;aACX,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @fileoverview Cleanup middleware for disposing cryptographic resources.
3
+ * Ensures private keys and sensitive material are properly disposed after request completion.
4
+ * @module middlewares/cleanup-crypto
5
+ */
6
+ import { NextFunction, Request, Response } from 'express';
7
+ /**
8
+ * Express middleware to cleanup cryptographic resources after request completion.
9
+ * Wraps response.end() to dispose of req.eciesUser before sending response.
10
+ * Should be registered early in middleware chain to ensure cleanup on all responses.
11
+ * @param {Request} req - Express request object
12
+ * @param {Response} res - Express response object
13
+ * @param {NextFunction} next - Express next function
14
+ */
15
+ export declare function cleanupCrypto(req: Request, res: Response, next: NextFunction): void;
16
+ //# sourceMappingURL=cleanup-crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup-crypto.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/cleanup-crypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE1D;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,IAAI,CA0BN"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Cleanup middleware for disposing cryptographic resources.
4
+ * Ensures private keys and sensitive material are properly disposed after request completion.
5
+ * @module middlewares/cleanup-crypto
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.cleanupCrypto = cleanupCrypto;
9
+ /**
10
+ * Express middleware to cleanup cryptographic resources after request completion.
11
+ * Wraps response.end() to dispose of req.eciesUser before sending response.
12
+ * Should be registered early in middleware chain to ensure cleanup on all responses.
13
+ * @param {Request} req - Express request object
14
+ * @param {Response} res - Express response object
15
+ * @param {NextFunction} next - Express next function
16
+ */
17
+ function cleanupCrypto(req, res, next) {
18
+ // Store original end function
19
+ const originalEnd = res.end;
20
+ // Override end function to cleanup before response
21
+ const wrappedEnd = function (...args) {
22
+ // Cleanup eciesUser if it exists
23
+ if (req.eciesUser) {
24
+ try {
25
+ // Dispose of sensitive cryptographic material
26
+ req.eciesUser.dispose();
27
+ req.eciesUser = undefined;
28
+ }
29
+ catch (error) {
30
+ console.error('Error cleaning up crypto resources:', error);
31
+ }
32
+ }
33
+ // Do not dispose system user here; it may be a process-wide singleton
34
+ // Call original end function
35
+ // Type assertion needed because we're wrapping the end function
36
+ return originalEnd.apply(this, args);
37
+ };
38
+ res.end = wrappedEnd;
39
+ next();
40
+ }
41
+ //# sourceMappingURL=cleanup-crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup-crypto.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/cleanup-crypto.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAYH,sCA8BC;AAtCD;;;;;;;GAOG;AACH,SAAgB,aAAa,CAC3B,GAAY,EACZ,GAAa,EACb,IAAkB;IAElB,8BAA8B;IAC9B,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC;IAE5B,mDAAmD;IACnD,MAAM,UAAU,GAAG,UAA0B,GAAG,IAAe;QAC7D,iCAAiC;QACjC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,8CAA8C;gBAC9C,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACxB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QACD,sEAAsE;QAEtE,6BAA6B;QAC7B,gEAAgE;QAChE,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,IAAsC,CAAC,CAAC;IACzE,CAAmB,CAAC;IAEpB,GAAG,CAAC,GAAG,GAAG,UAAU,CAAC;IAErB,IAAI,EAAE,CAAC;AACT,CAAC"}
@@ -2,3 +2,4 @@ export * from './authenticate-crypto';
2
2
  export * from './authenticate-token';
3
3
  export * from './cleanup-crypto';
4
4
  export * from './set-global-context-language';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./authenticate-crypto"), exports);
5
+ tslib_1.__exportStar(require("./authenticate-token"), exports);
6
+ tslib_1.__exportStar(require("./cleanup-crypto"), exports);
7
+ tslib_1.__exportStar(require("./set-global-context-language"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC;AACtC,+DAAqC;AACrC,2DAAiC;AACjC,wEAA8C"}
@@ -3,15 +3,7 @@
3
3
  * Determines user language from Accept-Language header and user preferences.
4
4
  * @module middlewares/set-global-context-language
5
5
  */
6
-
7
- // src/middlewares/injectMongooseContext.ts
8
-
9
- import {
10
- GlobalActiveContext,
11
- LanguageRegistry,
12
- } from '@digitaldefiance/i18n-lib';
13
6
  import { NextFunction, Request, Response } from 'express';
14
-
15
7
  /**
16
8
  * Express middleware to set global language context for the request.
17
9
  * Uses fallback chain: Accept-Language header → user preference → site default.
@@ -20,19 +12,5 @@ import { NextFunction, Request, Response } from 'express';
20
12
  * @param {Response} res - Express response object
21
13
  * @param {NextFunction} next - Express next function
22
14
  */
23
- export function setGlobalContextLanguageFromRequest(
24
- req: Request,
25
- res: Response,
26
- next: NextFunction,
27
- ) {
28
- // Use fallback chain: accept-language -> user preference -> site default
29
- const language = LanguageRegistry.getMatchingLanguageCode(
30
- req.headers['accept-language'] as string,
31
- req.user?.siteLanguage as string,
32
- );
33
-
34
- const context = GlobalActiveContext.getInstance();
35
- context.setUserLanguage(language);
36
- context.setLanguageContextSpace('user');
37
- next();
38
- }
15
+ export declare function setGlobalContextLanguageFromRequest(req: Request, res: Response, next: NextFunction): void;
16
+ //# sourceMappingURL=set-global-context-language.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-global-context-language.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/set-global-context-language.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE1D;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,QAYnB"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Middleware to set global language context from request.
4
+ * Determines user language from Accept-Language header and user preferences.
5
+ * @module middlewares/set-global-context-language
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.setGlobalContextLanguageFromRequest = setGlobalContextLanguageFromRequest;
9
+ // src/middlewares/injectMongooseContext.ts
10
+ const i18n_lib_1 = require("@digitaldefiance/i18n-lib");
11
+ /**
12
+ * Express middleware to set global language context for the request.
13
+ * Uses fallback chain: Accept-Language header → user preference → site default.
14
+ * Sets both user language and language context space in GlobalActiveContext.
15
+ * @param {Request} req - Express request object
16
+ * @param {Response} res - Express response object
17
+ * @param {NextFunction} next - Express next function
18
+ */
19
+ function setGlobalContextLanguageFromRequest(req, res, next) {
20
+ // Use fallback chain: accept-language -> user preference -> site default
21
+ const language = i18n_lib_1.LanguageRegistry.getMatchingLanguageCode(req.headers['accept-language'], req.user?.siteLanguage);
22
+ const context = i18n_lib_1.GlobalActiveContext.getInstance();
23
+ context.setUserLanguage(language);
24
+ context.setLanguageContextSpace('user');
25
+ next();
26
+ }
27
+ //# sourceMappingURL=set-global-context-language.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-global-context-language.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/set-global-context-language.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAkBH,kFAeC;AA/BD,2CAA2C;AAE3C,wDAGmC;AAGnC;;;;;;;GAOG;AACH,SAAgB,mCAAmC,CACjD,GAAY,EACZ,GAAa,EACb,IAAkB;IAElB,yEAAyE;IACzE,MAAM,QAAQ,GAAG,2BAAgB,CAAC,uBAAuB,CACvD,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAW,EACxC,GAAG,CAAC,IAAI,EAAE,YAAsB,CACjC,CAAC;IAEF,MAAM,OAAO,GAAG,8BAAmB,CAAC,WAAW,EAAE,CAAC;IAClD,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,EAAE,CAAC;AACT,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * @fileoverview Model registry for dynamic Mongoose model management.
3
+ * Singleton registry for registering and retrieving Mongoose models.
4
+ * @module model-registry
5
+ */
6
+ import { Model, Document as MongooseDocument, Schema } from '@digitaldefiance/mongoose-types';
7
+ import { IBaseDocument } from './documents/base';
8
+ import { PlatformID } from '@digitaldefiance/node-ecies-lib';
9
+ /**
10
+ * Model registration information.
11
+ * @template T - Document Data type
12
+ * @template U - Document type extending IBaseDocument
13
+ */
14
+ export type ModelRegistration<TID extends PlatformID, T, U extends IBaseDocument<T, TID>> = {
15
+ modelName: string;
16
+ schema: Schema;
17
+ model: Model<U>;
18
+ collection: string;
19
+ discriminators?: unknown;
20
+ };
21
+ /**
22
+ * Singleton registry for Mongoose models.
23
+ * Manages model registration and retrieval across the application.
24
+ */
25
+ declare class ModelRegistry<TID extends PlatformID> {
26
+ protected static _instance: ModelRegistry<PlatformID>;
27
+ protected _models: Map<string, ModelRegistration<TID, any, IBaseDocument<any, TID>>>;
28
+ private constructor();
29
+ /**
30
+ * Gets the singleton instance of ModelRegistry.
31
+ * @returns {ModelRegistry} The singleton instance
32
+ */
33
+ static get instance(): ModelRegistry<PlatformID>;
34
+ /**
35
+ * Registers a model with the registry.
36
+ * @template T - Document ID type
37
+ * @template U - Document type extending IBaseDocument
38
+ * @param {ModelRegistration<T, U>} registration - Model registration information
39
+ */
40
+ register<T, U extends IBaseDocument<T, TID>>(registration: ModelRegistration<TID, T, U>): void;
41
+ /**
42
+ * Retrieves a model registration by name.
43
+ * @template T - Document ID type
44
+ * @template U - Document type extending IBaseDocument
45
+ * @param {string} modelName - Name of the model
46
+ * @returns {ModelRegistration<T, U>} Model registration
47
+ * @throws {InvalidModelError} If model is not registered
48
+ */
49
+ get<T, U extends IBaseDocument<T, TID>>(modelName: string): ModelRegistration<TID, T, U>;
50
+ /**
51
+ * Retrieves a typed Mongoose model by name.
52
+ * @template TDoc - Mongoose document type
53
+ * @param {string} modelName - Name of the model
54
+ * @returns {Model<TDoc>} Mongoose model
55
+ * @throws {InvalidModelError} If model is not registered
56
+ */
57
+ getTypedModel<TDoc extends MongooseDocument>(modelName: string): Model<TDoc>;
58
+ /**
59
+ * Retrieves a typed Mongoose schema by name.
60
+ * @template TDoc - Mongoose document type
61
+ * @param {string} modelName - Name of the model
62
+ * @returns {Schema<TDoc>} Mongoose schema
63
+ * @throws {InvalidModelError} If model is not registered
64
+ */
65
+ getTypedSchema<TDoc extends MongooseDocument>(modelName: string): Schema<TDoc>;
66
+ /**
67
+ * Checks if a model is registered.
68
+ * @param {string} modelName - Name of the model
69
+ * @returns {boolean} True if model exists
70
+ */
71
+ has(modelName: string): boolean;
72
+ /**
73
+ * Lists all registered model names.
74
+ * @returns {string[]} Array of model names
75
+ */
76
+ list(): string[];
77
+ }
78
+ export { ModelRegistry };
79
+ //# sourceMappingURL=model-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-registry.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/model-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,KAAK,EACL,QAAQ,IAAI,gBAAgB,EAC5B,MAAM,EACP,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,CAC3B,GAAG,SAAS,UAAU,EACtB,CAAC,EACD,CAAC,SAAS,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,IAC7B;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,cAAM,aAAa,CAAC,GAAG,SAAS,UAAU;IACxC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACtD,SAAS,CAAC,OAAO,EAAE,GAAG,CACpB,MAAM,EACN,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CACrD,CAAa;IAEd,OAAO;IAEP;;;OAGG;IACH,WAAkB,QAAQ,IAAI,aAAa,CAAC,UAAU,CAAC,CAKtD;IAED;;;;;OAKG;IACI,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,EAChD,YAAY,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GACzC,IAAI;IAOP;;;;;;;OAOG;IACI,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,EAC3C,SAAS,EAAE,MAAM,GAChB,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAQ/B;;;;;;OAMG;IACI,aAAa,CAAC,IAAI,SAAS,gBAAgB,EAChD,SAAS,EAAE,MAAM,GAChB,KAAK,CAAC,IAAI,CAAC;IAQd;;;;;;OAMG;IACI,cAAc,CAAC,IAAI,SAAS,gBAAgB,EACjD,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,CAAC;IAQf;;;;OAIG;IACI,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC;;;OAGG;IACI,IAAI,IAAI,MAAM,EAAE;CAGxB;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Model registry for dynamic Mongoose model management.
4
+ * Singleton registry for registering and retrieving Mongoose models.
5
+ * @module model-registry
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ModelRegistry = void 0;
9
+ const errors_1 = require("./errors");
10
+ /**
11
+ * Singleton registry for Mongoose models.
12
+ * Manages model registration and retrieval across the application.
13
+ */
14
+ class ModelRegistry {
15
+ static _instance;
16
+ _models = new Map();
17
+ constructor() { }
18
+ /**
19
+ * Gets the singleton instance of ModelRegistry.
20
+ * @returns {ModelRegistry} The singleton instance
21
+ */
22
+ static get instance() {
23
+ if (!ModelRegistry._instance) {
24
+ ModelRegistry._instance = new ModelRegistry();
25
+ }
26
+ return ModelRegistry._instance;
27
+ }
28
+ /**
29
+ * Registers a model with the registry.
30
+ * @template T - Document ID type
31
+ * @template U - Document type extending IBaseDocument
32
+ * @param {ModelRegistration<T, U>} registration - Model registration information
33
+ */
34
+ register(registration) {
35
+ this._models.set(registration.modelName, registration);
36
+ }
37
+ /**
38
+ * Retrieves a model registration by name.
39
+ * @template T - Document ID type
40
+ * @template U - Document type extending IBaseDocument
41
+ * @param {string} modelName - Name of the model
42
+ * @returns {ModelRegistration<T, U>} Model registration
43
+ * @throws {InvalidModelError} If model is not registered
44
+ */
45
+ get(modelName) {
46
+ const result = this._models.get(modelName);
47
+ if (result === undefined) {
48
+ throw new errors_1.InvalidModelError(modelName);
49
+ }
50
+ return result;
51
+ }
52
+ /**
53
+ * Retrieves a typed Mongoose model by name.
54
+ * @template TDoc - Mongoose document type
55
+ * @param {string} modelName - Name of the model
56
+ * @returns {Model<TDoc>} Mongoose model
57
+ * @throws {InvalidModelError} If model is not registered
58
+ */
59
+ getTypedModel(modelName) {
60
+ const result = this._models.get(modelName);
61
+ if (result === undefined) {
62
+ throw new errors_1.InvalidModelError(modelName);
63
+ }
64
+ return result.model;
65
+ }
66
+ /**
67
+ * Retrieves a typed Mongoose schema by name.
68
+ * @template TDoc - Mongoose document type
69
+ * @param {string} modelName - Name of the model
70
+ * @returns {Schema<TDoc>} Mongoose schema
71
+ * @throws {InvalidModelError} If model is not registered
72
+ */
73
+ getTypedSchema(modelName) {
74
+ const result = this._models.get(modelName);
75
+ if (result === undefined) {
76
+ throw new errors_1.InvalidModelError(modelName);
77
+ }
78
+ return result.schema;
79
+ }
80
+ /**
81
+ * Checks if a model is registered.
82
+ * @param {string} modelName - Name of the model
83
+ * @returns {boolean} True if model exists
84
+ */
85
+ has(modelName) {
86
+ return this._models.has(modelName);
87
+ }
88
+ /**
89
+ * Lists all registered model names.
90
+ * @returns {string[]} Array of model names
91
+ */
92
+ list() {
93
+ return Array.from(this._models.keys());
94
+ }
95
+ }
96
+ exports.ModelRegistry = ModelRegistry;
97
+ //# sourceMappingURL=model-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-registry.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/model-registry.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAQH,qCAA6C;AAoB7C;;;GAGG;AACH,MAAM,aAAa;IACP,MAAM,CAAC,SAAS,CAA4B;IAC5C,OAAO,GAGb,IAAI,GAAG,EAAE,CAAC;IAEd,gBAAuB,CAAC;IAExB;;;OAGG;IACI,MAAM,KAAK,QAAQ;QACxB,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;YAC7B,aAAa,CAAC,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,aAAa,CAAC,SAAS,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CACb,YAA0C;QAE1C,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,YAAY,CAAC,SAAS,EACtB,YAA4C,CAC7C,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,GAAG,CACR,SAAiB;QAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAiC,CAAC;QAC3E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,0BAAiB,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,aAAa,CAClB,SAAiB;QAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,0BAAiB,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC,KAAoB,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CACnB,SAAiB;QAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,0BAAiB,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC,MAAsB,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,IAAI;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;CACF;AAEQ,sCAAa"}
@@ -3,14 +3,11 @@
3
3
  * Creates Mongoose model for email verification and password reset tokens.
4
4
  * @module models/email-token
5
5
  */
6
-
7
6
  import { Connection, Model, Schema } from '@digitaldefiance/mongoose-types';
8
7
  import { IEmailTokenDocument } from '../documents/email-token';
9
8
  import { BaseModelName } from '../enumerations';
10
9
  import { SchemaCollection } from '../enumerations/schema-collection';
11
- import { EmailTokenSchema } from '../schemas/email-token';
12
10
  import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
13
-
14
11
  /**
15
12
  * Creates a Mongoose model for email token documents.
16
13
  * @template TModelName - Model name type (defaults to BaseModelName)
@@ -22,28 +19,6 @@ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
22
19
  * @param {Schema} [schema] - Mongoose schema (defaults to EmailTokenSchema)
23
20
  * @returns {Model<IEmailTokenDocument<TID>>} Configured Mongoose model
24
21
  */
25
- export function EmailTokenModel<
26
- TModelName extends string = BaseModelName,
27
- TCollection extends string = SchemaCollection,
28
- TID extends PlatformID = Buffer,
29
- >(
30
- connection: Connection,
31
- modelName?: TModelName,
32
- collection?: TCollection,
33
- schema?: Schema,
34
- ): Model<IEmailTokenDocument<TID>>;
35
-
36
- export function EmailTokenModel<TID extends PlatformID = Buffer>(
37
- connection: Connection,
38
- modelName: string = BaseModelName.EmailToken,
39
- collection: string = SchemaCollection.EmailToken,
40
- schema: Schema = EmailTokenSchema,
41
- ) {
42
- return connection.model<IEmailTokenDocument<TID>>(
43
- modelName,
44
- schema,
45
- collection,
46
- );
47
- }
48
-
22
+ export declare function EmailTokenModel<TModelName extends string = BaseModelName, TCollection extends string = SchemaCollection, TID extends PlatformID = Buffer>(connection: Connection, modelName?: TModelName, collection?: TCollection, schema?: Schema): Model<IEmailTokenDocument<TID>>;
49
23
  export default EmailTokenModel;
24
+ //# sourceMappingURL=email-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-token.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/email-token.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,UAAU,SAAS,MAAM,GAAG,aAAa,EACzC,WAAW,SAAS,MAAM,GAAG,gBAAgB,EAC7C,GAAG,SAAS,UAAU,GAAG,MAAM,EAE/B,UAAU,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,WAAW,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;AAenC,eAAe,eAAe,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Email token model factory for MongoDB.
4
+ * Creates Mongoose model for email verification and password reset tokens.
5
+ * @module models/email-token
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.EmailTokenModel = EmailTokenModel;
9
+ const enumerations_1 = require("../enumerations");
10
+ const schema_collection_1 = require("../enumerations/schema-collection");
11
+ const email_token_1 = require("../schemas/email-token");
12
+ function EmailTokenModel(connection, modelName = enumerations_1.BaseModelName.EmailToken, collection = schema_collection_1.SchemaCollection.EmailToken, schema = email_token_1.EmailTokenSchema) {
13
+ return connection.model(modelName, schema, collection);
14
+ }
15
+ exports.default = EmailTokenModel;
16
+ //# sourceMappingURL=email-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-token.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/email-token.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA+BH,0CAWC;AAtCD,kDAAgD;AAChD,yEAAqE;AACrE,wDAA0D;AAyB1D,SAAgB,eAAe,CAC7B,UAAsB,EACtB,YAAoB,4BAAa,CAAC,UAAU,EAC5C,aAAqB,oCAAgB,CAAC,UAAU,EAChD,SAAiB,8BAAgB;IAEjC,OAAO,UAAU,CAAC,KAAK,CACrB,SAAS,EACT,MAAM,EACN,UAAU,CACX,CAAC;AACJ,CAAC;AAED,kBAAe,eAAe,CAAC"}
@@ -4,3 +4,4 @@ export * from './role';
4
4
  export * from './used-direct-login-token';
5
5
  export * from './user';
6
6
  export * from './user-role';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./email-token"), exports);
5
+ tslib_1.__exportStar(require("./mnemonic"), exports);
6
+ tslib_1.__exportStar(require("./role"), exports);
7
+ tslib_1.__exportStar(require("./used-direct-login-token"), exports);
8
+ tslib_1.__exportStar(require("./user"), exports);
9
+ tslib_1.__exportStar(require("./user-role"), exports);
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,qDAA2B;AAC3B,iDAAuB;AACvB,oEAA0C;AAC1C,iDAAuB;AACvB,sDAA4B"}
@@ -3,14 +3,11 @@
3
3
  * Creates Mongoose model for mnemonic hash storage.
4
4
  * @module models/mnemonic
5
5
  */
6
-
7
6
  import { Connection, Model, Schema } from '@digitaldefiance/mongoose-types';
8
7
  import { IMnemonicDocument } from '../documents/mnemonic';
9
8
  import { BaseModelName } from '../enumerations';
10
9
  import { SchemaCollection } from '../enumerations/schema-collection';
11
- import { MnemonicSchema } from '../schemas/mnemonic';
12
10
  import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
13
-
14
11
  /**
15
12
  * Creates a Mongoose model for mnemonic documents.
16
13
  * @template TModelName - Model name type (defaults to BaseModelName)
@@ -22,21 +19,6 @@ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
22
19
  * @param {Schema} schema - Mongoose schema (defaults to MnemonicSchema)
23
20
  * @returns {Model<IMnemonicDocument<TID>>} Configured Mongoose model
24
21
  */
25
- export function MnemonicModel<
26
- TModelName extends string = BaseModelName,
27
- TCollection extends string = SchemaCollection,
28
- TID extends PlatformID = Buffer,
29
- >(
30
- connection: Connection,
31
- modelName: TModelName = BaseModelName.Mnemonic as TModelName,
32
- collection: TCollection = SchemaCollection.Mnemonic as TCollection,
33
- schema: Schema = MnemonicSchema,
34
- ): Model<IMnemonicDocument<TID>> {
35
- return connection.model<IMnemonicDocument<TID>>(
36
- modelName,
37
- schema,
38
- collection,
39
- );
40
- }
41
-
22
+ export declare function MnemonicModel<TModelName extends string = BaseModelName, TCollection extends string = SchemaCollection, TID extends PlatformID = Buffer>(connection: Connection, modelName?: TModelName, collection?: TCollection, schema?: Schema): Model<IMnemonicDocument<TID>>;
42
23
  export default MnemonicModel;
24
+ //# sourceMappingURL=mnemonic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mnemonic.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/mnemonic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,UAAU,SAAS,MAAM,GAAG,aAAa,EACzC,WAAW,SAAS,MAAM,GAAG,gBAAgB,EAC7C,GAAG,SAAS,UAAU,GAAG,MAAM,EAE/B,UAAU,EAAE,UAAU,EACtB,SAAS,GAAE,UAAiD,EAC5D,UAAU,GAAE,WAAsD,EAClE,MAAM,GAAE,MAAuB,GAC9B,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAM/B;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Mnemonic model factory for MongoDB.
4
+ * Creates Mongoose model for mnemonic hash storage.
5
+ * @module models/mnemonic
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.MnemonicModel = MnemonicModel;
9
+ const enumerations_1 = require("../enumerations");
10
+ const schema_collection_1 = require("../enumerations/schema-collection");
11
+ const mnemonic_1 = require("../schemas/mnemonic");
12
+ /**
13
+ * Creates a Mongoose model for mnemonic documents.
14
+ * @template TModelName - Model name type (defaults to BaseModelName)
15
+ * @template TCollection - Collection name type (defaults to SchemaCollection)
16
+ * @template TID - Platform ID type (defaults to Buffer)
17
+ * @param {Connection} connection - Mongoose connection instance
18
+ * @param {TModelName} modelName - Model name (defaults to 'Mnemonic')
19
+ * @param {TCollection} collection - Collection name (defaults to 'mnemonics')
20
+ * @param {Schema} schema - Mongoose schema (defaults to MnemonicSchema)
21
+ * @returns {Model<IMnemonicDocument<TID>>} Configured Mongoose model
22
+ */
23
+ function MnemonicModel(connection, modelName = enumerations_1.BaseModelName.Mnemonic, collection = schema_collection_1.SchemaCollection.Mnemonic, schema = mnemonic_1.MnemonicSchema) {
24
+ return connection.model(modelName, schema, collection);
25
+ }
26
+ exports.default = MnemonicModel;
27
+ //# sourceMappingURL=mnemonic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mnemonic.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/mnemonic.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoBH,sCAeC;AA/BD,kDAAgD;AAChD,yEAAqE;AACrE,kDAAqD;AAGrD;;;;;;;;;;GAUG;AACH,SAAgB,aAAa,CAK3B,UAAsB,EACtB,YAAwB,4BAAa,CAAC,QAAsB,EAC5D,aAA0B,oCAAgB,CAAC,QAAuB,EAClE,SAAiB,yBAAc;IAE/B,OAAO,UAAU,CAAC,KAAK,CACrB,SAAS,EACT,MAAM,EACN,UAAU,CACX,CAAC;AACJ,CAAC;AAED,kBAAe,aAAa,CAAC"}
@@ -3,14 +3,11 @@
3
3
  * Creates Mongoose model for role management with RBAC.
4
4
  * @module models/role
5
5
  */
6
-
7
6
  import { Connection, Model, Schema } from '@digitaldefiance/mongoose-types';
8
7
  import { IRoleDocument } from '../documents/role';
9
8
  import { BaseModelName } from '../enumerations';
10
9
  import { SchemaCollection } from '../enumerations/schema-collection';
11
- import { RoleSchema } from '../schemas/role';
12
10
  import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
13
-
14
11
  /**
15
12
  * Creates a Mongoose model for role documents.
16
13
  * @template TModelName - Model name type (defaults to BaseModelName)
@@ -22,17 +19,6 @@ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
22
19
  * @param {Schema} schema - Mongoose schema (defaults to RoleSchema)
23
20
  * @returns {Model<IRoleDocument<TID>>} Configured Mongoose model
24
21
  */
25
- export function RoleModel<
26
- TModelName extends string = BaseModelName,
27
- TCollection extends string = SchemaCollection,
28
- TID extends PlatformID = Buffer,
29
- >(
30
- connection: Connection,
31
- modelName: TModelName = BaseModelName.Role as TModelName,
32
- collection: TCollection = SchemaCollection.Role as TCollection,
33
- schema: Schema = RoleSchema,
34
- ): Model<IRoleDocument<TID>> {
35
- return connection.model<IRoleDocument<TID>>(modelName, schema, collection);
36
- }
37
-
22
+ export declare function RoleModel<TModelName extends string = BaseModelName, TCollection extends string = SchemaCollection, TID extends PlatformID = Buffer>(connection: Connection, modelName?: TModelName, collection?: TCollection, schema?: Schema): Model<IRoleDocument<TID>>;
38
23
  export default RoleModel;
24
+ //# sourceMappingURL=role.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/role.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,UAAU,SAAS,MAAM,GAAG,aAAa,EACzC,WAAW,SAAS,MAAM,GAAG,gBAAgB,EAC7C,GAAG,SAAS,UAAU,GAAG,MAAM,EAE/B,UAAU,EAAE,UAAU,EACtB,SAAS,GAAE,UAA6C,EACxD,UAAU,GAAE,WAAkD,EAC9D,MAAM,GAAE,MAAmB,GAC1B,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAE3B;AAED,eAAe,SAAS,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Role model factory for MongoDB.
4
+ * Creates Mongoose model for role management with RBAC.
5
+ * @module models/role
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.RoleModel = RoleModel;
9
+ const enumerations_1 = require("../enumerations");
10
+ const schema_collection_1 = require("../enumerations/schema-collection");
11
+ const role_1 = require("../schemas/role");
12
+ /**
13
+ * Creates a Mongoose model for role documents.
14
+ * @template TModelName - Model name type (defaults to BaseModelName)
15
+ * @template TCollection - Collection name type (defaults to SchemaCollection)
16
+ * @template TID - Platform ID type (defaults to Buffer)
17
+ * @param {Connection} connection - Mongoose connection instance
18
+ * @param {TModelName} modelName - Model name (defaults to 'Role')
19
+ * @param {TCollection} collection - Collection name (defaults to 'roles')
20
+ * @param {Schema} schema - Mongoose schema (defaults to RoleSchema)
21
+ * @returns {Model<IRoleDocument<TID>>} Configured Mongoose model
22
+ */
23
+ function RoleModel(connection, modelName = enumerations_1.BaseModelName.Role, collection = schema_collection_1.SchemaCollection.Role, schema = role_1.RoleSchema) {
24
+ return connection.model(modelName, schema, collection);
25
+ }
26
+ exports.default = RoleModel;
27
+ //# sourceMappingURL=role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/role.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoBH,8BAWC;AA3BD,kDAAgD;AAChD,yEAAqE;AACrE,0CAA6C;AAG7C;;;;;;;;;;GAUG;AACH,SAAgB,SAAS,CAKvB,UAAsB,EACtB,YAAwB,4BAAa,CAAC,IAAkB,EACxD,aAA0B,oCAAgB,CAAC,IAAmB,EAC9D,SAAiB,iBAAU;IAE3B,OAAO,UAAU,CAAC,KAAK,CAAqB,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC7E,CAAC;AAED,kBAAe,SAAS,CAAC"}