@digitaldefiance/node-express-suite 3.7.5 → 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 (813) hide show
  1. package/package.json +5 -4
  2. package/src/__tests__/fixtures/{index.ts → index.d.ts} +1 -0
  3. package/src/__tests__/fixtures/index.d.ts.map +1 -0
  4. package/src/__tests__/fixtures/index.js +5 -0
  5. package/src/__tests__/fixtures/index.js.map +1 -0
  6. package/src/__tests__/fixtures/model-mocks.mock.d.ts +12 -0
  7. package/src/__tests__/fixtures/model-mocks.mock.d.ts.map +1 -0
  8. package/src/__tests__/fixtures/model-mocks.mock.js +102 -0
  9. package/src/__tests__/fixtures/model-mocks.mock.js.map +1 -0
  10. package/src/__tests__/helpers/application.mock.d.ts +8 -0
  11. package/src/__tests__/helpers/application.mock.d.ts.map +1 -0
  12. package/src/__tests__/helpers/application.mock.js +77 -0
  13. package/src/__tests__/helpers/application.mock.js.map +1 -0
  14. package/src/__tests__/helpers/{index.ts → index.d.ts} +1 -0
  15. package/src/__tests__/helpers/index.d.ts.map +1 -0
  16. package/src/__tests__/helpers/index.js +7 -0
  17. package/src/__tests__/helpers/index.js.map +1 -0
  18. package/src/__tests__/helpers/setup-test-env.d.ts +12 -0
  19. package/src/__tests__/helpers/setup-test-env.d.ts.map +1 -0
  20. package/src/__tests__/helpers/setup-test-env.js +121 -0
  21. package/src/__tests__/helpers/setup-test-env.js.map +1 -0
  22. package/src/__tests__/{index.ts → index.d.ts} +1 -0
  23. package/src/__tests__/index.d.ts.map +1 -0
  24. package/src/__tests__/index.js +6 -0
  25. package/src/__tests__/index.js.map +1 -0
  26. package/src/application-base.d.ts +128 -0
  27. package/src/application-base.d.ts.map +1 -0
  28. package/src/application-base.js +364 -0
  29. package/src/application-base.js.map +1 -0
  30. package/src/application-concrete.d.ts +26 -0
  31. package/src/application-concrete.d.ts.map +1 -0
  32. package/src/application-concrete.js +34 -0
  33. package/src/application-concrete.js.map +1 -0
  34. package/src/application.d.ts +34 -0
  35. package/src/application.d.ts.map +1 -0
  36. package/src/application.js +172 -0
  37. package/src/application.js.map +1 -0
  38. package/src/backup-code.d.ts +72 -0
  39. package/src/backup-code.d.ts.map +1 -0
  40. package/src/backup-code.js +243 -0
  41. package/src/backup-code.js.map +1 -0
  42. package/src/builders/application-builder.d.ts +47 -0
  43. package/src/builders/application-builder.d.ts.map +1 -0
  44. package/src/builders/application-builder.js +76 -0
  45. package/src/builders/application-builder.js.map +1 -0
  46. package/src/builders/{index.ts → index.d.ts} +1 -0
  47. package/src/builders/index.d.ts.map +1 -0
  48. package/src/builders/index.js +5 -0
  49. package/src/builders/index.js.map +1 -0
  50. package/src/constants.d.ts +21 -0
  51. package/src/constants.d.ts.map +1 -0
  52. package/src/constants.js +63 -0
  53. package/src/constants.js.map +1 -0
  54. package/src/container/{index.ts → index.d.ts} +1 -0
  55. package/src/container/index.d.ts.map +1 -0
  56. package/src/container/index.js +6 -0
  57. package/src/container/index.js.map +1 -0
  58. package/src/container/service-container.d.ts +45 -0
  59. package/src/container/service-container.d.ts.map +1 -0
  60. package/src/container/service-container.js +68 -0
  61. package/src/container/service-container.js.map +1 -0
  62. package/src/container/{service-definitions.ts → service-definitions.d.ts} +10 -11
  63. package/src/container/service-definitions.d.ts.map +1 -0
  64. package/src/container/service-definitions.js +21 -0
  65. package/src/container/service-definitions.js.map +1 -0
  66. package/src/controllers/base.d.ts +80 -0
  67. package/src/controllers/base.d.ts.map +1 -0
  68. package/src/controllers/base.js +318 -0
  69. package/src/controllers/base.js.map +1 -0
  70. package/src/controllers/{index.ts → index.d.ts} +1 -0
  71. package/src/controllers/index.d.ts.map +1 -0
  72. package/src/controllers/index.js +6 -0
  73. package/src/controllers/index.js.map +1 -0
  74. package/src/controllers/user.d.ts +66 -0
  75. package/src/controllers/user.d.ts.map +1 -0
  76. package/src/controllers/user.js +936 -0
  77. package/src/controllers/user.js.map +1 -0
  78. package/src/database/{database-initializer.ts → database-initializer.d.ts} +3 -4
  79. package/src/database/database-initializer.d.ts.map +1 -0
  80. package/src/database/database-initializer.js +8 -0
  81. package/src/database/database-initializer.js.map +1 -0
  82. package/src/database/{index.ts → index.d.ts} +1 -0
  83. package/src/database/index.d.ts.map +1 -0
  84. package/src/database/index.js +5 -0
  85. package/src/database/index.js.map +1 -0
  86. package/src/decorators/base-controller.d.ts +22 -0
  87. package/src/decorators/base-controller.d.ts.map +1 -0
  88. package/src/decorators/base-controller.js +71 -0
  89. package/src/decorators/base-controller.js.map +1 -0
  90. package/src/decorators/controller.d.ts +43 -0
  91. package/src/decorators/controller.d.ts.map +1 -0
  92. package/src/decorators/controller.js +73 -0
  93. package/src/decorators/controller.js.map +1 -0
  94. package/src/decorators/{index.ts → index.d.ts} +1 -0
  95. package/src/decorators/index.d.ts.map +1 -0
  96. package/src/decorators/index.js +7 -0
  97. package/src/decorators/index.js.map +1 -0
  98. package/src/decorators/zod-validation.d.ts +10 -0
  99. package/src/decorators/zod-validation.d.ts.map +1 -0
  100. package/src/decorators/zod-validation.js +53 -0
  101. package/src/decorators/zod-validation.js.map +1 -0
  102. package/src/defaults.d.ts +12 -0
  103. package/src/defaults.d.ts.map +1 -0
  104. package/src/defaults.js +210 -0
  105. package/src/defaults.js.map +1 -0
  106. package/src/documents/{base.ts → base.d.ts} +2 -4
  107. package/src/documents/base.d.ts.map +1 -0
  108. package/src/documents/base.js +8 -0
  109. package/src/documents/base.js.map +1 -0
  110. package/src/documents/{email-token.ts → email-token.d.ts} +3 -8
  111. package/src/documents/email-token.d.ts.map +1 -0
  112. package/src/documents/email-token.js +8 -0
  113. package/src/documents/email-token.js.map +1 -0
  114. package/src/documents/{index.ts → index.d.ts} +1 -0
  115. package/src/documents/index.d.ts.map +1 -0
  116. package/src/documents/index.js +3 -0
  117. package/src/documents/index.js.map +1 -0
  118. package/src/documents/{mnemonic.ts → mnemonic.d.ts} +2 -6
  119. package/src/documents/mnemonic.d.ts.map +1 -0
  120. package/src/documents/mnemonic.js +8 -0
  121. package/src/documents/mnemonic.js.map +1 -0
  122. package/src/documents/{role.ts → role.d.ts} +2 -6
  123. package/src/documents/role.d.ts.map +1 -0
  124. package/src/documents/role.js +8 -0
  125. package/src/documents/role.js.map +1 -0
  126. package/src/documents/{used-direct-login-token.ts → used-direct-login-token.d.ts} +2 -4
  127. package/src/documents/used-direct-login-token.d.ts.map +1 -0
  128. package/src/documents/used-direct-login-token.js +8 -0
  129. package/src/documents/used-direct-login-token.js.map +1 -0
  130. package/src/documents/{user-role.ts → user-role.d.ts} +2 -6
  131. package/src/documents/user-role.d.ts.map +1 -0
  132. package/src/documents/user-role.js +8 -0
  133. package/src/documents/user-role.js.map +1 -0
  134. package/src/documents/{user.ts → user.d.ts} +2 -6
  135. package/src/documents/user.d.ts.map +1 -0
  136. package/src/documents/user.js +8 -0
  137. package/src/documents/user.js.map +1 -0
  138. package/src/enumerations/base-model-name.d.ts +43 -0
  139. package/src/enumerations/base-model-name.d.ts.map +1 -0
  140. package/src/enumerations/base-model-name.js +39 -0
  141. package/src/enumerations/base-model-name.js.map +1 -0
  142. package/src/enumerations/{index.ts → index.d.ts} +1 -0
  143. package/src/enumerations/index.d.ts.map +1 -0
  144. package/src/enumerations/index.js +8 -0
  145. package/src/enumerations/index.js.map +1 -0
  146. package/src/enumerations/{length-encoding-type.ts → length-encoding-type.d.ts} +6 -6
  147. package/src/enumerations/length-encoding-type.d.ts.map +1 -0
  148. package/src/enumerations/length-encoding-type.js +20 -0
  149. package/src/enumerations/length-encoding-type.js.map +1 -0
  150. package/src/enumerations/schema-collection.d.ts +39 -0
  151. package/src/enumerations/schema-collection.d.ts.map +1 -0
  152. package/src/enumerations/schema-collection.js +43 -0
  153. package/src/enumerations/schema-collection.js.map +1 -0
  154. package/src/enumerations/{symmetric-error-type.ts → symmetric-error-type.d.ts} +4 -4
  155. package/src/enumerations/symmetric-error-type.d.ts.map +1 -0
  156. package/src/enumerations/symmetric-error-type.js +17 -0
  157. package/src/enumerations/symmetric-error-type.js.map +1 -0
  158. package/src/environment.d.ts +194 -0
  159. package/src/environment.d.ts.map +1 -0
  160. package/src/environment.js +646 -0
  161. package/src/environment.js.map +1 -0
  162. package/src/errors/express-validation.d.ts +24 -0
  163. package/src/errors/express-validation.d.ts.map +1 -0
  164. package/src/errors/express-validation.js +33 -0
  165. package/src/errors/express-validation.js.map +1 -0
  166. package/src/errors/{index.ts → index.d.ts} +1 -0
  167. package/src/errors/index.d.ts.map +1 -0
  168. package/src/errors/index.js +16 -0
  169. package/src/errors/index.js.map +1 -0
  170. package/src/errors/invalid-backup-code-version.d.ts +19 -0
  171. package/src/errors/invalid-backup-code-version.d.ts.map +1 -0
  172. package/src/errors/invalid-backup-code-version.js +29 -0
  173. package/src/errors/invalid-backup-code-version.js.map +1 -0
  174. package/src/errors/invalid-jwt-token.d.ts +17 -0
  175. package/src/errors/invalid-jwt-token.d.ts.map +1 -0
  176. package/src/errors/invalid-jwt-token.js +24 -0
  177. package/src/errors/invalid-jwt-token.js.map +1 -0
  178. package/src/errors/invalid-model.d.ts +18 -0
  179. package/src/errors/invalid-model.d.ts.map +1 -0
  180. package/src/errors/invalid-model.js +26 -0
  181. package/src/errors/invalid-model.js.map +1 -0
  182. package/src/errors/invalid-new-password.d.ts +19 -0
  183. package/src/errors/invalid-new-password.d.ts.map +1 -0
  184. package/src/errors/invalid-new-password.js +28 -0
  185. package/src/errors/invalid-new-password.js.map +1 -0
  186. package/src/errors/invalid-password.d.ts +19 -0
  187. package/src/errors/invalid-password.d.ts.map +1 -0
  188. package/src/errors/invalid-password.js +28 -0
  189. package/src/errors/invalid-password.js.map +1 -0
  190. package/src/errors/missing-validated-data.d.ts +24 -0
  191. package/src/errors/missing-validated-data.d.ts.map +1 -0
  192. package/src/errors/missing-validated-data.js +53 -0
  193. package/src/errors/missing-validated-data.js.map +1 -0
  194. package/src/errors/mnemonic-or-password-required.d.ts +17 -0
  195. package/src/errors/mnemonic-or-password-required.d.ts.map +1 -0
  196. package/src/errors/mnemonic-or-password-required.js +26 -0
  197. package/src/errors/mnemonic-or-password-required.js.map +1 -0
  198. package/src/errors/model-not-registered.d.ts +18 -0
  199. package/src/errors/model-not-registered.d.ts.map +1 -0
  200. package/src/errors/model-not-registered.js +26 -0
  201. package/src/errors/model-not-registered.js.map +1 -0
  202. package/src/errors/mongoose-validation.d.ts +28 -0
  203. package/src/errors/mongoose-validation.d.ts.map +1 -0
  204. package/src/errors/mongoose-validation.js +33 -0
  205. package/src/errors/mongoose-validation.js.map +1 -0
  206. package/src/errors/symmetric.d.ts +23 -0
  207. package/src/errors/symmetric.d.ts.map +1 -0
  208. package/src/errors/symmetric.js +37 -0
  209. package/src/errors/symmetric.js.map +1 -0
  210. package/src/errors/token-expired.d.ts +17 -0
  211. package/src/errors/token-expired.d.ts.map +1 -0
  212. package/src/errors/token-expired.js +24 -0
  213. package/src/errors/token-expired.js.map +1 -0
  214. package/src/get-language.d.ts +12 -0
  215. package/src/get-language.d.ts.map +1 -0
  216. package/src/get-language.js +40 -0
  217. package/src/get-language.js.map +1 -0
  218. package/src/get-timezone.d.ts +12 -0
  219. package/src/get-timezone.d.ts.map +1 -0
  220. package/src/get-timezone.js +53 -0
  221. package/src/get-timezone.js.map +1 -0
  222. package/src/{index.ts → index.d.ts} +2 -44
  223. package/src/index.d.ts.map +1 -0
  224. package/src/index.js +80 -0
  225. package/src/index.js.map +1 -0
  226. package/src/interfaces/{api-error-response.ts → api-error-response.d.ts} +2 -3
  227. package/src/interfaces/api-error-response.d.ts.map +1 -0
  228. package/src/interfaces/api-error-response.js +8 -0
  229. package/src/interfaces/api-error-response.js.map +1 -0
  230. package/src/interfaces/{api-express-validation-error-response.ts → api-express-validation-error-response.d.ts} +3 -4
  231. package/src/interfaces/api-express-validation-error-response.d.ts.map +1 -0
  232. package/src/interfaces/api-express-validation-error-response.js +8 -0
  233. package/src/interfaces/api-express-validation-error-response.js.map +1 -0
  234. package/src/interfaces/{api-message-response.ts → api-message-response.d.ts} +2 -2
  235. package/src/interfaces/api-message-response.d.ts.map +1 -0
  236. package/src/interfaces/api-message-response.js +8 -0
  237. package/src/interfaces/api-message-response.js.map +1 -0
  238. package/src/interfaces/{api-mongo-validation-error-response.ts → api-mongo-validation-error-response.d.ts} +2 -3
  239. package/src/interfaces/api-mongo-validation-error-response.d.ts.map +1 -0
  240. package/src/interfaces/api-mongo-validation-error-response.js +8 -0
  241. package/src/interfaces/api-mongo-validation-error-response.js.map +1 -0
  242. package/src/interfaces/api-responses/{backup-codes-response.ts → backup-codes-response.d.ts} +2 -3
  243. package/src/interfaces/api-responses/backup-codes-response.d.ts.map +1 -0
  244. package/src/interfaces/api-responses/backup-codes-response.js +8 -0
  245. package/src/interfaces/api-responses/backup-codes-response.js.map +1 -0
  246. package/src/interfaces/api-responses/{challenge-response.ts → challenge-response.d.ts} +5 -6
  247. package/src/interfaces/api-responses/challenge-response.d.ts.map +1 -0
  248. package/src/interfaces/api-responses/challenge-response.js +7 -0
  249. package/src/interfaces/api-responses/challenge-response.js.map +1 -0
  250. package/src/interfaces/api-responses/{code-count-response.ts → code-count-response.d.ts} +2 -3
  251. package/src/interfaces/api-responses/code-count-response.d.ts.map +1 -0
  252. package/src/interfaces/api-responses/code-count-response.js +8 -0
  253. package/src/interfaces/api-responses/code-count-response.js.map +1 -0
  254. package/src/interfaces/api-responses/{index.ts → index.d.ts} +1 -0
  255. package/src/interfaces/api-responses/index.d.ts.map +1 -0
  256. package/src/interfaces/api-responses/index.js +12 -0
  257. package/src/interfaces/api-responses/index.js.map +1 -0
  258. package/src/interfaces/api-responses/{login-response.ts → login-response.d.ts} +4 -5
  259. package/src/interfaces/api-responses/login-response.d.ts.map +1 -0
  260. package/src/interfaces/api-responses/login-response.js +8 -0
  261. package/src/interfaces/api-responses/login-response.js.map +1 -0
  262. package/src/interfaces/api-responses/{mnemonic-response.ts → mnemonic-response.d.ts} +3 -4
  263. package/src/interfaces/api-responses/mnemonic-response.d.ts.map +1 -0
  264. package/src/interfaces/api-responses/mnemonic-response.js +7 -0
  265. package/src/interfaces/api-responses/mnemonic-response.js.map +1 -0
  266. package/src/interfaces/api-responses/{registration-response.ts → registration-response.d.ts} +5 -6
  267. package/src/interfaces/api-responses/registration-response.d.ts.map +1 -0
  268. package/src/interfaces/api-responses/registration-response.js +7 -0
  269. package/src/interfaces/api-responses/registration-response.js.map +1 -0
  270. package/src/interfaces/api-responses/{request-user-response.ts → request-user-response.d.ts} +2 -3
  271. package/src/interfaces/api-responses/request-user-response.d.ts.map +1 -0
  272. package/src/interfaces/api-responses/request-user-response.js +8 -0
  273. package/src/interfaces/api-responses/request-user-response.js.map +1 -0
  274. package/src/interfaces/api-responses/{user-settings-response.ts → user-settings-response.d.ts} +9 -10
  275. package/src/interfaces/api-responses/user-settings-response.d.ts.map +1 -0
  276. package/src/interfaces/api-responses/user-settings-response.js +8 -0
  277. package/src/interfaces/api-responses/user-settings-response.js.map +1 -0
  278. package/src/interfaces/application.d.ts +39 -0
  279. package/src/interfaces/application.d.ts.map +1 -0
  280. package/src/interfaces/application.js +8 -0
  281. package/src/interfaces/application.js.map +1 -0
  282. package/src/interfaces/backend-objects/{email-token.ts → email-token.d.ts} +3 -8
  283. package/src/interfaces/backend-objects/email-token.d.ts.map +1 -0
  284. package/src/interfaces/backend-objects/email-token.js +8 -0
  285. package/src/interfaces/backend-objects/email-token.js.map +1 -0
  286. package/src/interfaces/backend-objects/{index.ts → index.d.ts} +1 -0
  287. package/src/interfaces/backend-objects/index.d.ts.map +1 -0
  288. package/src/interfaces/backend-objects/index.js +8 -0
  289. package/src/interfaces/backend-objects/index.js.map +1 -0
  290. package/src/interfaces/backend-objects/{request-user.ts → request-user.d.ts} +2 -6
  291. package/src/interfaces/backend-objects/request-user.d.ts.map +1 -0
  292. package/src/interfaces/backend-objects/request-user.js +8 -0
  293. package/src/interfaces/backend-objects/request-user.js.map +1 -0
  294. package/src/interfaces/backend-objects/{role.ts → role.d.ts} +2 -7
  295. package/src/interfaces/backend-objects/role.d.ts.map +1 -0
  296. package/src/interfaces/backend-objects/role.js +8 -0
  297. package/src/interfaces/backend-objects/role.js.map +1 -0
  298. package/src/interfaces/backend-objects/{user.ts → user.d.ts} +2 -6
  299. package/src/interfaces/backend-objects/user.d.ts.map +1 -0
  300. package/src/interfaces/backend-objects/user.js +8 -0
  301. package/src/interfaces/backend-objects/user.js.map +1 -0
  302. package/src/interfaces/{checksum-config.ts → checksum-config.d.ts} +3 -3
  303. package/src/interfaces/checksum-config.d.ts.map +1 -0
  304. package/src/interfaces/checksum-config.js +8 -0
  305. package/src/interfaces/checksum-config.js.map +1 -0
  306. package/src/interfaces/checksum-consts.d.ts +20 -0
  307. package/src/interfaces/checksum-consts.d.ts.map +1 -0
  308. package/src/interfaces/checksum-consts.js +8 -0
  309. package/src/interfaces/checksum-consts.js.map +1 -0
  310. package/src/interfaces/constants.d.ts +107 -0
  311. package/src/interfaces/constants.d.ts.map +1 -0
  312. package/src/interfaces/constants.js +8 -0
  313. package/src/interfaces/constants.js.map +1 -0
  314. package/src/interfaces/{controller-config.ts → controller-config.d.ts} +15 -31
  315. package/src/interfaces/controller-config.d.ts.map +1 -0
  316. package/src/interfaces/controller-config.js +8 -0
  317. package/src/interfaces/controller-config.js.map +1 -0
  318. package/src/interfaces/{create-user-basics.ts → create-user-basics.d.ts} +13 -13
  319. package/src/interfaces/create-user-basics.d.ts.map +1 -0
  320. package/src/interfaces/create-user-basics.js +8 -0
  321. package/src/interfaces/create-user-basics.js.map +1 -0
  322. package/src/interfaces/{csp-config.ts → csp-config.d.ts} +5 -15
  323. package/src/interfaces/csp-config.d.ts.map +1 -0
  324. package/src/interfaces/csp-config.js +23 -0
  325. package/src/interfaces/csp-config.js.map +1 -0
  326. package/src/interfaces/{csp-definition.ts → csp-definition.d.ts} +9 -46
  327. package/src/interfaces/csp-definition.d.ts.map +1 -0
  328. package/src/interfaces/csp-definition.js +32 -0
  329. package/src/interfaces/csp-definition.js.map +1 -0
  330. package/src/interfaces/{db-init-result.ts → db-init-result.d.ts} +2 -3
  331. package/src/interfaces/db-init-result.d.ts.map +1 -0
  332. package/src/interfaces/db-init-result.js +8 -0
  333. package/src/interfaces/db-init-result.js.map +1 -0
  334. package/src/interfaces/{deep-partial.ts → deep-partial.d.ts} +2 -2
  335. package/src/interfaces/deep-partial.d.ts.map +1 -0
  336. package/src/interfaces/deep-partial.js +8 -0
  337. package/src/interfaces/deep-partial.js.map +1 -0
  338. package/src/interfaces/{discriminator-collections.ts → discriminator-collections.d.ts} +4 -8
  339. package/src/interfaces/discriminator-collections.d.ts.map +1 -0
  340. package/src/interfaces/discriminator-collections.js +8 -0
  341. package/src/interfaces/discriminator-collections.js.map +1 -0
  342. package/src/interfaces/email-service.d.ts +21 -0
  343. package/src/interfaces/email-service.d.ts.map +1 -0
  344. package/src/interfaces/email-service.js +8 -0
  345. package/src/interfaces/email-service.js.map +1 -0
  346. package/src/interfaces/environment-mongo.d.ts +85 -0
  347. package/src/interfaces/environment-mongo.d.ts.map +1 -0
  348. package/src/interfaces/environment-mongo.js +8 -0
  349. package/src/interfaces/environment-mongo.js.map +1 -0
  350. package/src/interfaces/environment.d.ts +190 -0
  351. package/src/interfaces/environment.d.ts.map +1 -0
  352. package/src/interfaces/environment.js +8 -0
  353. package/src/interfaces/environment.js.map +1 -0
  354. package/src/interfaces/{failable-result.ts → failable-result.d.ts} +5 -5
  355. package/src/interfaces/failable-result.d.ts.map +1 -0
  356. package/src/interfaces/failable-result.js +8 -0
  357. package/src/interfaces/failable-result.js.map +1 -0
  358. package/src/interfaces/{fec-consts.ts → fec-consts.d.ts} +3 -3
  359. package/src/interfaces/fec-consts.d.ts.map +1 -0
  360. package/src/interfaces/fec-consts.js +8 -0
  361. package/src/interfaces/fec-consts.js.map +1 -0
  362. package/src/interfaces/{flexible-csp.ts → flexible-csp.d.ts} +5 -16
  363. package/src/interfaces/flexible-csp.d.ts.map +1 -0
  364. package/src/interfaces/flexible-csp.js +24 -0
  365. package/src/interfaces/flexible-csp.js.map +1 -0
  366. package/src/interfaces/{handleable-error-options.ts → handleable-error-options.d.ts} +5 -5
  367. package/src/interfaces/handleable-error-options.d.ts.map +1 -0
  368. package/src/interfaces/handleable-error-options.js +8 -0
  369. package/src/interfaces/handleable-error-options.js.map +1 -0
  370. package/src/interfaces/{index.ts → index.d.ts} +1 -0
  371. package/src/interfaces/index.d.ts.map +1 -0
  372. package/src/interfaces/index.js +38 -0
  373. package/src/interfaces/index.js.map +1 -0
  374. package/src/interfaces/jwt-consts.d.ts +20 -0
  375. package/src/interfaces/jwt-consts.d.ts.map +1 -0
  376. package/src/interfaces/jwt-consts.js +8 -0
  377. package/src/interfaces/jwt-consts.js.map +1 -0
  378. package/src/interfaces/{jwt-sign-response.ts → jwt-sign-response.d.ts} +9 -18
  379. package/src/interfaces/jwt-sign-response.d.ts.map +1 -0
  380. package/src/interfaces/jwt-sign-response.js +8 -0
  381. package/src/interfaces/jwt-sign-response.js.map +1 -0
  382. package/src/interfaces/models/{email-token.ts → email-token.d.ts} +1 -2
  383. package/src/interfaces/models/email-token.d.ts.map +1 -0
  384. package/src/interfaces/models/email-token.js +8 -0
  385. package/src/interfaces/models/email-token.js.map +1 -0
  386. package/src/interfaces/models/{index.ts → index.d.ts} +1 -0
  387. package/src/interfaces/models/index.d.ts.map +1 -0
  388. package/src/interfaces/models/index.js +11 -0
  389. package/src/interfaces/models/index.js.map +1 -0
  390. package/src/interfaces/models/{mnemonic.ts → mnemonic.d.ts} +1 -2
  391. package/src/interfaces/models/mnemonic.d.ts.map +1 -0
  392. package/src/interfaces/models/mnemonic.js +8 -0
  393. package/src/interfaces/models/mnemonic.js.map +1 -0
  394. package/src/interfaces/models/{role.ts → role.d.ts} +1 -2
  395. package/src/interfaces/models/role.d.ts.map +1 -0
  396. package/src/interfaces/models/role.js +8 -0
  397. package/src/interfaces/models/role.js.map +1 -0
  398. package/src/interfaces/models/{token-role.ts → token-role.d.ts} +2 -6
  399. package/src/interfaces/models/token-role.d.ts.map +1 -0
  400. package/src/interfaces/models/token-role.js +8 -0
  401. package/src/interfaces/models/token-role.js.map +1 -0
  402. package/src/interfaces/models/{used-direct-login-token.ts → used-direct-login-token.d.ts} +2 -4
  403. package/src/interfaces/models/used-direct-login-token.d.ts.map +1 -0
  404. package/src/interfaces/models/used-direct-login-token.js +8 -0
  405. package/src/interfaces/models/used-direct-login-token.js.map +1 -0
  406. package/src/interfaces/models/{user-role.ts → user-role.d.ts} +2 -6
  407. package/src/interfaces/models/user-role.d.ts.map +1 -0
  408. package/src/interfaces/models/user-role.js +8 -0
  409. package/src/interfaces/models/user-role.js.map +1 -0
  410. package/src/interfaces/models/{user.ts → user.d.ts} +3 -12
  411. package/src/interfaces/models/user.d.ts.map +1 -0
  412. package/src/interfaces/models/user.js +8 -0
  413. package/src/interfaces/models/user.js.map +1 -0
  414. package/src/interfaces/{mongo-errors.ts → mongo-errors.d.ts} +2 -3
  415. package/src/interfaces/mongo-errors.d.ts.map +1 -0
  416. package/src/interfaces/mongo-errors.js +8 -0
  417. package/src/interfaces/mongo-errors.js.map +1 -0
  418. package/src/interfaces/request-user.d.ts +67 -0
  419. package/src/interfaces/request-user.d.ts.map +1 -0
  420. package/src/interfaces/request-user.js +8 -0
  421. package/src/interfaces/request-user.js.map +1 -0
  422. package/src/interfaces/required-string-keys.d.ts +28 -0
  423. package/src/interfaces/required-string-keys.d.ts.map +1 -0
  424. package/src/interfaces/required-string-keys.js +8 -0
  425. package/src/interfaces/required-string-keys.js.map +1 -0
  426. package/src/interfaces/{schema.ts → schema.d.ts} +22 -28
  427. package/src/interfaces/schema.d.ts.map +1 -0
  428. package/src/interfaces/schema.js +8 -0
  429. package/src/interfaces/schema.js.map +1 -0
  430. package/src/interfaces/server-init-result.d.ts +45 -0
  431. package/src/interfaces/server-init-result.d.ts.map +1 -0
  432. package/src/interfaces/server-init-result.js +8 -0
  433. package/src/interfaces/server-init-result.js.map +1 -0
  434. package/src/interfaces/{status-code-response.ts → status-code-response.d.ts} +4 -5
  435. package/src/interfaces/status-code-response.d.ts.map +1 -0
  436. package/src/interfaces/status-code-response.js +8 -0
  437. package/src/interfaces/status-code-response.js.map +1 -0
  438. package/src/interfaces/{symmetric-encryption-results.ts → symmetric-encryption-results.d.ts} +3 -3
  439. package/src/interfaces/symmetric-encryption-results.d.ts.map +1 -1
  440. package/src/interfaces/symmetric-encryption-results.js +5 -0
  441. package/src/interfaces/symmetric-encryption-results.js.map +1 -1
  442. package/src/interfaces/{test-environment.ts → test-environment.d.ts} +6 -7
  443. package/src/interfaces/test-environment.d.ts.map +1 -0
  444. package/src/interfaces/test-environment.js +8 -0
  445. package/src/interfaces/test-environment.js.map +1 -0
  446. package/src/interfaces/{token-response.ts → token-response.d.ts} +2 -3
  447. package/src/interfaces/token-response.d.ts.map +1 -0
  448. package/src/interfaces/token-response.js +8 -0
  449. package/src/interfaces/token-response.js.map +1 -0
  450. package/src/middleware-utils.d.ts +31 -0
  451. package/src/middleware-utils.d.ts.map +1 -0
  452. package/src/middleware-utils.js +117 -0
  453. package/src/middleware-utils.js.map +1 -0
  454. package/src/middlewares/authenticate-crypto.d.ts +27 -0
  455. package/src/middlewares/authenticate-crypto.d.ts.map +1 -0
  456. package/src/middlewares/authenticate-crypto.js +143 -0
  457. package/src/middlewares/authenticate-crypto.js.map +1 -0
  458. package/src/middlewares/authenticate-token.d.ts +34 -0
  459. package/src/middlewares/authenticate-token.d.ts.map +1 -0
  460. package/src/middlewares/authenticate-token.js +117 -0
  461. package/src/middlewares/authenticate-token.js.map +1 -0
  462. package/src/middlewares/cleanup-crypto.d.ts +16 -0
  463. package/src/middlewares/cleanup-crypto.d.ts.map +1 -0
  464. package/src/middlewares/cleanup-crypto.js +41 -0
  465. package/src/middlewares/cleanup-crypto.js.map +1 -0
  466. package/src/middlewares/{index.ts → index.d.ts} +1 -0
  467. package/src/middlewares/index.d.ts.map +1 -0
  468. package/src/middlewares/index.js +8 -0
  469. package/src/middlewares/index.js.map +1 -0
  470. package/src/middlewares/{set-global-context-language.ts → set-global-context-language.d.ts} +2 -24
  471. package/src/middlewares/set-global-context-language.d.ts.map +1 -0
  472. package/src/middlewares/set-global-context-language.js +27 -0
  473. package/src/middlewares/set-global-context-language.js.map +1 -0
  474. package/src/model-registry.d.ts +79 -0
  475. package/src/model-registry.d.ts.map +1 -0
  476. package/src/model-registry.js +97 -0
  477. package/src/model-registry.js.map +1 -0
  478. package/src/models/{email-token.ts → email-token.d.ts} +2 -27
  479. package/src/models/email-token.d.ts.map +1 -0
  480. package/src/models/email-token.js +16 -0
  481. package/src/models/email-token.js.map +1 -0
  482. package/src/models/{index.ts → index.d.ts} +1 -0
  483. package/src/models/index.d.ts.map +1 -0
  484. package/src/models/index.js +10 -0
  485. package/src/models/index.js.map +1 -0
  486. package/src/models/{mnemonic.ts → mnemonic.d.ts} +2 -20
  487. package/src/models/mnemonic.d.ts.map +1 -0
  488. package/src/models/mnemonic.js +27 -0
  489. package/src/models/mnemonic.js.map +1 -0
  490. package/src/models/{role.ts → role.d.ts} +2 -16
  491. package/src/models/role.d.ts.map +1 -0
  492. package/src/models/role.js +27 -0
  493. package/src/models/role.js.map +1 -0
  494. package/src/models/{used-direct-login-token.ts → used-direct-login-token.d.ts} +2 -27
  495. package/src/models/used-direct-login-token.d.ts.map +1 -0
  496. package/src/models/used-direct-login-token.js +16 -0
  497. package/src/models/used-direct-login-token.js.map +1 -0
  498. package/src/models/{user-role.ts → user-role.d.ts} +2 -19
  499. package/src/models/user-role.d.ts.map +1 -0
  500. package/src/models/user-role.js +26 -0
  501. package/src/models/user-role.js.map +1 -0
  502. package/src/models/{user.ts → user.d.ts} +2 -20
  503. package/src/models/user.d.ts.map +1 -0
  504. package/src/models/user.js +27 -0
  505. package/src/models/user.js.map +1 -0
  506. package/src/pipeline/{index.ts → index.d.ts} +1 -0
  507. package/src/pipeline/index.d.ts.map +1 -0
  508. package/src/pipeline/index.js +5 -0
  509. package/src/pipeline/index.js.map +1 -0
  510. package/src/pipeline/pipeline-builder.d.ts +16 -0
  511. package/src/pipeline/pipeline-builder.d.ts.map +1 -0
  512. package/src/pipeline/pipeline-builder.js +26 -0
  513. package/src/pipeline/pipeline-builder.js.map +1 -0
  514. package/src/plugins/{index.ts → index.d.ts} +1 -0
  515. package/src/plugins/index.d.ts.map +1 -0
  516. package/src/plugins/index.js +6 -0
  517. package/src/plugins/index.js.map +1 -0
  518. package/src/plugins/{plugin-interface.ts → plugin-interface.d.ts} +5 -6
  519. package/src/plugins/plugin-interface.d.ts.map +1 -0
  520. package/src/plugins/plugin-interface.js +8 -0
  521. package/src/plugins/plugin-interface.js.map +1 -0
  522. package/src/plugins/plugin-manager.d.ts +22 -0
  523. package/src/plugins/plugin-manager.d.ts.map +1 -0
  524. package/src/plugins/plugin-manager.js +46 -0
  525. package/src/plugins/plugin-manager.js.map +1 -0
  526. package/src/registry/email-service-registry.d.ts +49 -0
  527. package/src/registry/email-service-registry.d.ts.map +1 -0
  528. package/src/registry/email-service-registry.js +64 -0
  529. package/src/registry/email-service-registry.js.map +1 -0
  530. package/src/registry/{index.ts → index.d.ts} +1 -0
  531. package/src/registry/index.d.ts.map +1 -0
  532. package/src/registry/index.js +6 -0
  533. package/src/registry/index.js.map +1 -0
  534. package/src/responses/{index.ts → index.d.ts} +1 -0
  535. package/src/responses/index.d.ts.map +1 -0
  536. package/src/responses/index.js +5 -0
  537. package/src/responses/index.js.map +1 -0
  538. package/src/responses/response-builder.d.ts +103 -0
  539. package/src/responses/response-builder.d.ts.map +1 -0
  540. package/src/responses/response-builder.js +142 -0
  541. package/src/responses/response-builder.js.map +1 -0
  542. package/src/routers/api.d.ts +59 -0
  543. package/src/routers/api.d.ts.map +1 -0
  544. package/src/routers/api.js +110 -0
  545. package/src/routers/api.js.map +1 -0
  546. package/src/routers/app.d.ts +87 -0
  547. package/src/routers/app.d.ts.map +1 -0
  548. package/src/routers/app.js +285 -0
  549. package/src/routers/app.js.map +1 -0
  550. package/src/routers/{base.ts → base.d.ts} +11 -19
  551. package/src/routers/base.d.ts.map +1 -0
  552. package/src/routers/base.js +31 -0
  553. package/src/routers/base.js.map +1 -0
  554. package/src/routers/{index.ts → index.d.ts} +1 -0
  555. package/src/routers/index.d.ts.map +1 -0
  556. package/src/routers/index.js +7 -0
  557. package/src/routers/index.js.map +1 -0
  558. package/src/routers/router-config.d.ts +35 -0
  559. package/src/routers/router-config.d.ts.map +1 -0
  560. package/src/routers/router-config.js +16 -0
  561. package/src/routers/router-config.js.map +1 -0
  562. package/src/routing/index.d.ts +2 -0
  563. package/src/routing/index.d.ts.map +1 -0
  564. package/src/routing/index.js +5 -0
  565. package/src/routing/index.js.map +1 -0
  566. package/src/routing/route-builder.d.ts +121 -0
  567. package/src/routing/route-builder.d.ts.map +1 -0
  568. package/src/routing/route-builder.js +167 -0
  569. package/src/routing/route-builder.js.map +1 -0
  570. package/src/schemas/email-token.d.ts +65 -0
  571. package/src/schemas/email-token.d.ts.map +1 -0
  572. package/src/schemas/email-token.js +68 -0
  573. package/src/schemas/email-token.js.map +1 -0
  574. package/src/schemas/{index.ts → index.d.ts} +1 -0
  575. package/src/schemas/index.d.ts.map +1 -0
  576. package/src/schemas/index.js +11 -0
  577. package/src/schemas/index.js.map +1 -0
  578. package/src/schemas/mnemonic.d.ts +37 -0
  579. package/src/schemas/mnemonic.d.ts.map +1 -0
  580. package/src/schemas/mnemonic.js +41 -0
  581. package/src/schemas/mnemonic.js.map +1 -0
  582. package/src/schemas/role.d.ts +57 -0
  583. package/src/schemas/role.d.ts.map +1 -0
  584. package/src/schemas/role.js +102 -0
  585. package/src/schemas/role.js.map +1 -0
  586. package/src/schemas/schema.d.ts +62 -0
  587. package/src/schemas/schema.d.ts.map +1 -0
  588. package/src/schemas/schema.js +81 -0
  589. package/src/schemas/schema.js.map +1 -0
  590. package/src/schemas/used-direct-login-token.d.ts +49 -0
  591. package/src/schemas/used-direct-login-token.d.ts.map +1 -0
  592. package/src/schemas/used-direct-login-token.js +35 -0
  593. package/src/schemas/used-direct-login-token.js.map +1 -0
  594. package/src/schemas/user-role.d.ts +52 -0
  595. package/src/schemas/user-role.d.ts.map +1 -0
  596. package/src/schemas/user-role.js +67 -0
  597. package/src/schemas/user-role.js.map +1 -0
  598. package/src/schemas/user.d.ts +43 -0
  599. package/src/schemas/user.d.ts.map +1 -0
  600. package/src/schemas/user.js +214 -0
  601. package/src/schemas/user.js.map +1 -0
  602. package/src/services/backup-code.d.ts +80 -0
  603. package/src/services/backup-code.d.ts.map +1 -0
  604. package/src/services/backup-code.js +189 -0
  605. package/src/services/backup-code.js.map +1 -0
  606. package/src/services/base.d.ts +22 -0
  607. package/src/services/base.d.ts.map +1 -0
  608. package/src/services/base.js +26 -0
  609. package/src/services/base.js.map +1 -0
  610. package/src/services/checksum.d.ts +90 -0
  611. package/src/services/checksum.d.ts.map +1 -0
  612. package/src/services/checksum.js +166 -0
  613. package/src/services/checksum.js.map +1 -0
  614. package/src/services/database-initialization.d.ts +138 -0
  615. package/src/services/database-initialization.d.ts.map +1 -0
  616. package/src/services/database-initialization.js +904 -0
  617. package/src/services/database-initialization.js.map +1 -0
  618. package/src/services/{db-init-cache.ts → db-init-cache.d.ts} +6 -16
  619. package/src/services/db-init-cache.d.ts.map +1 -0
  620. package/src/services/db-init-cache.js +7 -0
  621. package/src/services/db-init-cache.js.map +1 -0
  622. package/src/services/direct-login-token.d.ts +28 -0
  623. package/src/services/direct-login-token.d.ts.map +1 -0
  624. package/src/services/direct-login-token.js +62 -0
  625. package/src/services/direct-login-token.js.map +1 -0
  626. package/src/services/dummy-email-service.d.ts +30 -0
  627. package/src/services/dummy-email-service.d.ts.map +1 -0
  628. package/src/services/dummy-email-service.js +35 -0
  629. package/src/services/dummy-email-service.js.map +1 -0
  630. package/src/services/fec-usage-example.d.ts +58 -0
  631. package/src/services/fec-usage-example.d.ts.map +1 -0
  632. package/src/services/fec-usage-example.js +95 -0
  633. package/src/services/fec-usage-example.js.map +1 -0
  634. package/src/services/fec.d.ts +88 -0
  635. package/src/services/fec.d.ts.map +1 -0
  636. package/src/services/fec.js +246 -0
  637. package/src/services/fec.js.map +1 -0
  638. package/src/services/{index.ts → index.d.ts} +1 -0
  639. package/src/services/index.d.ts.map +1 -0
  640. package/src/services/index.js +22 -0
  641. package/src/services/index.js.map +1 -0
  642. package/src/services/jwt.d.ts +45 -0
  643. package/src/services/jwt.d.ts.map +1 -0
  644. package/src/services/jwt.js +105 -0
  645. package/src/services/jwt.js.map +1 -0
  646. package/src/services/key-wrapping.d.ts +139 -0
  647. package/src/services/key-wrapping.d.ts.map +1 -0
  648. package/src/services/key-wrapping.js +372 -0
  649. package/src/services/key-wrapping.js.map +1 -0
  650. package/src/services/mnemonic.d.ts +68 -0
  651. package/src/services/mnemonic.d.ts.map +1 -0
  652. package/src/services/mnemonic.js +120 -0
  653. package/src/services/mnemonic.js.map +1 -0
  654. package/src/services/request-user.d.ts +45 -0
  655. package/src/services/request-user.d.ts.map +1 -0
  656. package/src/services/request-user.js +90 -0
  657. package/src/services/request-user.js.map +1 -0
  658. package/src/services/role.d.ts +97 -0
  659. package/src/services/role.d.ts.map +1 -0
  660. package/src/services/role.js +289 -0
  661. package/src/services/role.js.map +1 -0
  662. package/src/services/symmetric.d.ts +60 -0
  663. package/src/services/symmetric.d.ts.map +1 -0
  664. package/src/services/symmetric.js +125 -0
  665. package/src/services/symmetric.js.map +1 -0
  666. package/src/services/system-user.d.ts +22 -0
  667. package/src/services/system-user.d.ts.map +1 -0
  668. package/src/services/system-user.js +52 -0
  669. package/src/services/system-user.js.map +1 -0
  670. package/src/services/user.d.ts +368 -0
  671. package/src/services/user.d.ts.map +1 -0
  672. package/src/services/user.js +1470 -0
  673. package/src/services/user.js.map +1 -0
  674. package/src/services/xor.d.ts +28 -0
  675. package/src/services/xor.d.ts.map +1 -0
  676. package/src/services/xor.js +45 -0
  677. package/src/services/xor.js.map +1 -0
  678. package/src/{testing.ts → testing.d.ts} +1 -2
  679. package/src/testing.d.ts.map +1 -0
  680. package/src/testing.js +12 -0
  681. package/src/testing.js.map +1 -0
  682. package/src/transactions/{index.ts → index.d.ts} +1 -0
  683. package/src/transactions/index.d.ts.map +1 -0
  684. package/src/transactions/index.js +5 -0
  685. package/src/transactions/index.js.map +1 -0
  686. package/src/transactions/transaction-manager.d.ts +37 -0
  687. package/src/transactions/transaction-manager.d.ts.map +1 -0
  688. package/src/transactions/transaction-manager.js +50 -0
  689. package/src/transactions/transaction-manager.js.map +1 -0
  690. package/src/types/{app-config.ts → app-config.d.ts} +10 -16
  691. package/src/types/app-config.d.ts.map +1 -0
  692. package/src/types/app-config.js +8 -0
  693. package/src/types/app-config.js.map +1 -0
  694. package/src/types/{controller-config.ts → controller-config.d.ts} +7 -9
  695. package/src/types/controller-config.d.ts.map +1 -0
  696. package/src/types/controller-config.js +8 -0
  697. package/src/types/controller-config.js.map +1 -0
  698. package/src/types/{environment-variables.ts → environment-variables.d.ts} +5 -27
  699. package/src/types/environment-variables.d.ts.map +1 -0
  700. package/src/types/environment-variables.js +41 -0
  701. package/src/types/environment-variables.js.map +1 -0
  702. package/src/types/{index.ts → index.d.ts} +1 -0
  703. package/src/types/index.d.ts.map +1 -0
  704. package/src/types/index.js +6 -0
  705. package/src/types/index.js.map +1 -0
  706. package/src/types/{mongoose-helpers.ts → mongoose-helpers.d.ts} +2 -3
  707. package/src/types/mongoose-helpers.d.ts.map +1 -0
  708. package/src/types/mongoose-helpers.js +8 -0
  709. package/src/types/mongoose-helpers.js.map +1 -0
  710. package/src/types.d.ts +118 -0
  711. package/src/types.d.ts.map +1 -0
  712. package/src/types.js +28 -0
  713. package/src/types.js.map +1 -0
  714. package/src/utils.d.ts +240 -0
  715. package/src/utils.d.ts.map +1 -0
  716. package/src/utils.js +843 -0
  717. package/src/utils.js.map +1 -0
  718. package/src/validation/{index.ts → index.d.ts} +1 -0
  719. package/src/validation/index.d.ts.map +1 -0
  720. package/src/validation/index.js +5 -0
  721. package/src/validation/index.js.map +1 -0
  722. package/src/validation/validation-builder.d.ts +71 -0
  723. package/src/validation/validation-builder.d.ts.map +1 -0
  724. package/src/validation/validation-builder.js +120 -0
  725. package/src/validation/validation-builder.js.map +1 -0
  726. package/LICENSE +0 -21
  727. package/src/__tests__/fixtures/model-mocks.mock.ts +0 -164
  728. package/src/__tests__/helpers/application.mock.ts +0 -89
  729. package/src/__tests__/helpers/setup-test-env.ts +0 -202
  730. package/src/application-base.ts +0 -548
  731. package/src/application-concrete.ts +0 -62
  732. package/src/application.ts +0 -330
  733. package/src/backup-code.ts +0 -348
  734. package/src/builders/application-builder.ts +0 -147
  735. package/src/constants.ts +0 -89
  736. package/src/container/service-container.ts +0 -85
  737. package/src/controllers/base.ts +0 -512
  738. package/src/controllers/user.ts +0 -1734
  739. package/src/decorators/base-controller.ts +0 -91
  740. package/src/decorators/controller.ts +0 -152
  741. package/src/decorators/zod-validation.ts +0 -64
  742. package/src/defaults.ts +0 -259
  743. package/src/enumerations/base-model-name.ts +0 -47
  744. package/src/enumerations/schema-collection.ts +0 -39
  745. package/src/environment.ts +0 -859
  746. package/src/errors/express-validation.ts +0 -38
  747. package/src/errors/invalid-backup-code-version.ts +0 -30
  748. package/src/errors/invalid-jwt-token.ts +0 -24
  749. package/src/errors/invalid-model.ts +0 -24
  750. package/src/errors/invalid-new-password.ts +0 -33
  751. package/src/errors/invalid-password.ts +0 -28
  752. package/src/errors/missing-validated-data.ts +0 -55
  753. package/src/errors/mnemonic-or-password-required.ts +0 -26
  754. package/src/errors/model-not-registered.ts +0 -24
  755. package/src/errors/mongoose-validation.ts +0 -56
  756. package/src/errors/symmetric.ts +0 -53
  757. package/src/errors/token-expired.ts +0 -24
  758. package/src/get-language.ts +0 -64
  759. package/src/get-timezone.ts +0 -76
  760. package/src/interfaces/application.ts +0 -40
  761. package/src/interfaces/checksum-consts.ts +0 -23
  762. package/src/interfaces/constants.ts +0 -114
  763. package/src/interfaces/email-service.ts +0 -26
  764. package/src/interfaces/environment-mongo.ts +0 -86
  765. package/src/interfaces/environment.ts +0 -191
  766. package/src/interfaces/jwt-consts.ts +0 -33
  767. package/src/interfaces/request-user.ts +0 -80
  768. package/src/interfaces/required-string-keys.ts +0 -33
  769. package/src/interfaces/server-init-result.ts +0 -48
  770. package/src/middleware-utils.ts +0 -138
  771. package/src/middlewares/authenticate-crypto.ts +0 -237
  772. package/src/middlewares/authenticate-token.ts +0 -165
  773. package/src/middlewares/cleanup-crypto.ts +0 -47
  774. package/src/model-registry.ts +0 -142
  775. package/src/pipeline/pipeline-builder.ts +0 -27
  776. package/src/plugins/plugin-manager.ts +0 -53
  777. package/src/registry/email-service-registry.ts +0 -76
  778. package/src/responses/response-builder.ts +0 -166
  779. package/src/routers/api.ts +0 -233
  780. package/src/routers/app.ts +0 -395
  781. package/src/routers/router-config.ts +0 -34
  782. package/src/routing/index.ts +0 -1
  783. package/src/routing/route-builder.ts +0 -214
  784. package/src/schemas/email-token.ts +0 -112
  785. package/src/schemas/mnemonic.ts +0 -48
  786. package/src/schemas/role.ts +0 -153
  787. package/src/schemas/schema.ts +0 -185
  788. package/src/schemas/used-direct-login-token.ts +0 -58
  789. package/src/schemas/user-role.ts +0 -93
  790. package/src/schemas/user.ts +0 -244
  791. package/src/services/backup-code.ts +0 -327
  792. package/src/services/base.ts +0 -46
  793. package/src/services/checksum.ts +0 -189
  794. package/src/services/database-initialization.ts +0 -1653
  795. package/src/services/direct-login-token.ts +0 -83
  796. package/src/services/dummy-email-service.ts +0 -43
  797. package/src/services/fec-usage-example.ts +0 -123
  798. package/src/services/fec.ts +0 -399
  799. package/src/services/jwt.ts +0 -146
  800. package/src/services/key-wrapping.ts +0 -528
  801. package/src/services/mnemonic.ts +0 -174
  802. package/src/services/request-user.ts +0 -127
  803. package/src/services/role.ts +0 -417
  804. package/src/services/symmetric.ts +0 -164
  805. package/src/services/system-user.ts +0 -87
  806. package/src/services/user.ts +0 -2324
  807. package/src/services/xor.ts +0 -39
  808. package/src/transactions/transaction-manager.ts +0 -63
  809. package/src/types/mongoose-override.d.ts +0 -1
  810. package/src/types/mongoose.d.ts +0 -1
  811. package/src/types.ts +0 -189
  812. package/src/utils.ts +0 -1116
  813. package/src/validation/validation-builder.ts +0 -155
@@ -0,0 +1,285 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Application router for serving React frontend and API routes.
4
+ * Handles static file serving, EJS template rendering, and catch-all routing.
5
+ * @module routers/app
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.AppRouter = void 0;
9
+ const tslib_1 = require("tslib");
10
+ const i18n_lib_1 = require("@digitaldefiance/i18n-lib");
11
+ const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
12
+ const ejs_1 = tslib_1.__importDefault(require("ejs"));
13
+ const express_1 = require("express");
14
+ const fs_1 = require("fs");
15
+ const path_1 = require("path");
16
+ const utils_1 = require("../utils");
17
+ /**
18
+ * Dummy function to ensure EJS is included in the bundle.
19
+ * @private
20
+ */
21
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
22
+ function keepEJS() {
23
+ ejs_1.default.compile(''); // Compile an empty string, doesn't generate anything meaningful
24
+ }
25
+ /**
26
+ * Application router for serving React frontend and API routes.
27
+ * Sets up static file serving, EJS template rendering, and catch-all routing for SPA.
28
+ * @template TID Platform-specific ID type
29
+ * @template TApplication Application instance type
30
+ */
31
+ class AppRouter {
32
+ /** Path to EJS views directory */
33
+ viewsPath;
34
+ /** Path to index.html file */
35
+ indexPath;
36
+ /** Path to assets directory */
37
+ assetsDir;
38
+ /** Path to React distribution directory */
39
+ reactDistDir;
40
+ /** API router instance */
41
+ apiRouter;
42
+ /** Application instance */
43
+ application;
44
+ /**
45
+ * Creates a new application router instance.
46
+ * Validates and resolves all paths to prevent directory traversal attacks.
47
+ * @param apiRouter API router instance to mount under /api
48
+ * @throws {TranslatableSuiteError} If paths contain invalid traversal sequences
49
+ */
50
+ constructor(apiRouter) {
51
+ this.application = apiRouter.application;
52
+ this.apiRouter = apiRouter;
53
+ // Validate paths don't contain traversal sequences
54
+ if (this.application.environment.apiDistDir.includes('..') ||
55
+ this.application.environment.reactDistDir.includes('..')) {
56
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_InvalidPathContainsParentDirectoryReference);
57
+ }
58
+ const normalizedApiDistDir = (0, path_1.resolve)(this.application.environment.apiDistDir);
59
+ const viewsPath = (0, path_1.resolve)(normalizedApiDistDir, 'views');
60
+ if (!viewsPath.startsWith(normalizedApiDistDir + path_1.sep) &&
61
+ viewsPath !== normalizedApiDistDir) {
62
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_InvalidViewsPathEscapesBaseDirectory);
63
+ }
64
+ this.viewsPath = viewsPath;
65
+ const normalizedReactDistDir = (0, path_1.resolve)(this.application.environment.reactDistDir);
66
+ this.reactDistDir = normalizedReactDistDir;
67
+ const indexPath = (0, path_1.resolve)(normalizedReactDistDir, 'index.html');
68
+ if (!indexPath.startsWith(normalizedReactDistDir + path_1.sep) &&
69
+ indexPath !== normalizedReactDistDir) {
70
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_InvalidIndexPathEscapesBaseDirectory);
71
+ }
72
+ this.indexPath = indexPath;
73
+ const assetsPath = (0, path_1.resolve)(normalizedReactDistDir, 'assets');
74
+ if (!assetsPath.startsWith(normalizedReactDistDir + path_1.sep) &&
75
+ assetsPath !== normalizedReactDistDir) {
76
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_InvalidAssetsPathEscapesBaseDirectory);
77
+ }
78
+ this.assetsDir = assetsPath;
79
+ }
80
+ /**
81
+ * Gets the filename of an asset matching a pattern.
82
+ * @param assetDir Directory to search in
83
+ * @param pattern Regular expression pattern to match
84
+ * @returns Filename if found, undefined otherwise
85
+ */
86
+ getAssetFilename(assetDir, pattern) {
87
+ try {
88
+ // Prevent path traversal by validating assetDir is within expected directory
89
+ // amazonq-ignore-next-line already addressed
90
+ if (
91
+ // amazonq-ignore-next-line
92
+ assetDir.includes('..') ||
93
+ !assetDir.startsWith(this.reactDistDir)) {
94
+ return undefined;
95
+ }
96
+ const files = (0, fs_1.readdirSync)(assetDir, 'utf8');
97
+ return files.find((f) => pattern.test(f));
98
+ }
99
+ catch {
100
+ return undefined;
101
+ }
102
+ }
103
+ /**
104
+ * Gets base view locals for EJS template rendering.
105
+ * Subclasses can override to add additional locals.
106
+ * @param req Express request
107
+ * @param res Express response
108
+ * @returns Object containing base template variables
109
+ */
110
+ getBaseViewLocals(req, res) {
111
+ const SiteName = this.application.constants.Site;
112
+ const SiteTagline = this.application.constants.SiteTagline;
113
+ const SiteDescription = this.application.constants.SiteDescription;
114
+ const hostname = req.hostname;
115
+ const server = (req.socket.localPort === 443 && req.protocol === 'https') ||
116
+ (req.socket.localPort === 80 && req.protocol === 'http')
117
+ ? `${req.protocol}://${hostname}`
118
+ : `${req.protocol}://${hostname}:${req.socket.localPort}`;
119
+ return {
120
+ cspNonce: res.locals['cspNonce'],
121
+ title: SiteName,
122
+ tagline: SiteTagline,
123
+ description: SiteDescription,
124
+ server,
125
+ siteUrl: this.apiRouter.application.environment.serverUrl,
126
+ baseHref: this.apiRouter.application.environment.basePath,
127
+ hostname,
128
+ siteTitle: SiteName,
129
+ };
130
+ }
131
+ /**
132
+ * Renders an EJS template with the provided locals.
133
+ * @param req Express request
134
+ * @param res Express response
135
+ * @param next Express next function
136
+ * @param template Template name to render
137
+ * @param locals Template variables
138
+ */
139
+ renderTemplate(req, res, next, template, locals) {
140
+ if (!/^[\w/-]+$/.test(template)) {
141
+ next(new Error('Invalid template name requested'));
142
+ return;
143
+ }
144
+ const sanitizedUrl = (req.url || '').replace(/[\r\n]/g, ' ');
145
+ (0, utils_1.debugLog)(this.apiRouter.application.environment.debug, 'log', `Rendering view "${template}" for ${sanitizedUrl}`);
146
+ res.render(template, locals, (err, html) => {
147
+ if (err) {
148
+ const errMsg = err && typeof err === 'object' && 'message' in err
149
+ ? String(err.message).replace(/[\r\n]/g, ' ')
150
+ : 'Unknown error';
151
+ console.error('Error rendering: ' + errMsg);
152
+ const normalizedError = err instanceof Error ? err : new Error(errMsg);
153
+ if (!res.headersSent) {
154
+ res.status(500).send('An error occurred');
155
+ }
156
+ next(normalizedError);
157
+ return;
158
+ }
159
+ if (!html) {
160
+ next(new Error(`Rendered template "${template}" returned empty HTML`));
161
+ return;
162
+ }
163
+ (0, utils_1.debugLog)(this.apiRouter.application.environment.debug, 'log', `Rendered view "${template}" for ${sanitizedUrl}`);
164
+ res.send(html);
165
+ });
166
+ }
167
+ /**
168
+ * Creates a view renderer function for a specific template.
169
+ * @param template Template name to render
170
+ * @param localsFactory Optional function to generate additional locals
171
+ * @returns Express middleware function
172
+ */
173
+ createViewRenderer(template, localsFactory) {
174
+ return (req, res, next) => {
175
+ const baseLocals = this.getBaseViewLocals(req, res);
176
+ const extraLocals = localsFactory ? localsFactory(req, res) : {};
177
+ this.renderTemplate(req, res, next, template, {
178
+ ...baseLocals,
179
+ ...extraLocals,
180
+ });
181
+ };
182
+ }
183
+ /**
184
+ * Override to register additional routes (e.g. other EJS pages) before the index catch-all.
185
+ * @param app Express application
186
+ */
187
+ registerAdditionalRenderHooks(app) {
188
+ void app;
189
+ }
190
+ /**
191
+ * Renders the index.html page with injected asset paths.
192
+ * @param req Express request
193
+ * @param res Express response
194
+ * @param next Express next function
195
+ */
196
+ renderIndex(req, res, next) {
197
+ if (req.url.endsWith('.js')) {
198
+ res.type('application/javascript');
199
+ }
200
+ const jsFile = this.getAssetFilename(this.assetsDir, /^index-.*\.js$/);
201
+ const cssFile = this.getAssetFilename(this.assetsDir, /^index-.*\.css$/);
202
+ const locals = {
203
+ ...this.getBaseViewLocals(req, res),
204
+ jsFile: jsFile ? `assets/${jsFile}` : undefined,
205
+ cssFile: cssFile ? `assets/${cssFile}` : undefined,
206
+ };
207
+ this.renderTemplate(req, res, next, 'index', locals);
208
+ }
209
+ /**
210
+ * Initializes the application router with all routes and middleware.
211
+ * Sets up API routes, static file serving, and catch-all routing.
212
+ * @param app Express application
213
+ * @throws {TranslatableGenericError} If index file not found or invalid paths
214
+ */
215
+ init(app) {
216
+ const reactDistHasDistSegment = this.reactDistDir
217
+ .split(path_1.sep)
218
+ .filter((segment) => segment.length > 0)
219
+ .some((segment) => segment.toLowerCase() === 'dist');
220
+ if (!reactDistHasDistSegment) {
221
+ throw new i18n_lib_1.TranslatableGenericError(i18n_lib_1.CoreI18nComponentId, suite_core_lib_1.SuiteCoreStringKey.Error_AppDoesNotAppearToBeRunningWithinDistTemplate, { dir: this.apiRouter.application.environment.reactDistDir });
222
+ }
223
+ if (!(0, fs_1.existsSync)(this.indexPath)) {
224
+ throw new i18n_lib_1.TranslatableGenericError(i18n_lib_1.CoreI18nComponentId, suite_core_lib_1.SuiteCoreStringKey.Error_IndexFileNotFoundTemplate, { path: this.indexPath });
225
+ }
226
+ if (this.apiRouter.application.environment.debug) {
227
+ app.use((req, res, next) => {
228
+ const port = (req.socket.localPort === 443 && req.protocol === 'https') ||
229
+ (req.socket.localPort === 80 && req.protocol === 'http')
230
+ ? ''
231
+ : `:${req.socket.localPort}`;
232
+ // amazonq-ignore-next-line
233
+ console.log((0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Admin_ServingRoute) +
234
+ ': method=' +
235
+ req.method +
236
+ ' url=' +
237
+ req.protocol +
238
+ '://' +
239
+ req.hostname +
240
+ port +
241
+ (req.url || '').replace(/[\r\n]/g, ' '));
242
+ next();
243
+ });
244
+ }
245
+ app.use('/api', this.apiRouter.router);
246
+ app.set('views', this.viewsPath);
247
+ app.set('view engine', 'ejs');
248
+ // Serve static files from the React app build directory (validated in constructor)
249
+ app.use('/assets', (0, express_1.static)(this.assetsDir));
250
+ const serveStaticWithLogging = (0, express_1.static)(this.reactDistDir);
251
+ app.use('/static/js', (0, express_1.static)(this.reactDistDir));
252
+ app.use((req, res, next) => {
253
+ if (req.url === '/') {
254
+ next();
255
+ return;
256
+ }
257
+ (0, utils_1.debugLog)(this.apiRouter.application.environment.debug, 'log', `Trying to serve static for ${(req.url || '').replace(/[\r\n]/g, ' ')}`);
258
+ if (req.url.endsWith('.js')) {
259
+ res.type('application/javascript');
260
+ }
261
+ serveStaticWithLogging(req, res, (err) => {
262
+ if (err) {
263
+ const sanitizedErr = err instanceof Error
264
+ ? err.message.replace(/[\r\n]/g, ' ')
265
+ : String(err).replace(/[\r\n]/g, ' ');
266
+ (0, utils_1.debugLog)(this.apiRouter.application.environment.debug, 'error', 'Error serving static file:', sanitizedErr);
267
+ (0, utils_1.handleError)(err, res, utils_1.sendApiMessageResponse, next);
268
+ return;
269
+ }
270
+ next();
271
+ });
272
+ });
273
+ // The "catchall" handler: for any request that doesn't
274
+ // match one above, send back React's index.html file.
275
+ // app.get('*', (req, res) => {
276
+ // res.sendFile(path.join(__dirname,'..', '..', '..', 'myapp-react', 'index.html'));
277
+ // });
278
+ this.registerAdditionalRenderHooks(app);
279
+ app.use((req, res, next) => {
280
+ this.renderIndex(req, res, next);
281
+ });
282
+ }
283
+ }
284
+ exports.AppRouter = AppRouter;
285
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/app.ts"],"names":[],"mappings":"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"}
@@ -3,32 +3,24 @@
3
3
  * All routers extend this class to access application context and Express router.
4
4
  * @module routers/base
5
5
  */
6
-
7
6
  import { Router } from 'express';
8
7
  import { IApplication } from '../interfaces/application';
9
8
  import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
10
-
11
9
  /**
12
10
  * Abstract base class for all routers in the application.
13
11
  * Provides access to the Express router and application instance.
14
12
  * @template TID Platform-specific ID type (Buffer, ObjectId, etc.)
15
13
  * @template TApplication Application instance type
16
14
  */
17
- export abstract class BaseRouter<
18
- TID extends PlatformID = Buffer,
19
- TApplication extends IApplication<TID> = IApplication<TID>,
20
- > {
21
- /** Express router instance for registering routes */
22
- public readonly router: Router;
23
- /** Application instance providing access to services and configuration */
24
- public readonly application: TApplication;
25
-
26
- /**
27
- * Creates a new base router instance.
28
- * @param application Application instance
29
- */
30
- protected constructor(application: TApplication) {
31
- this.application = application;
32
- this.router = Router();
33
- }
15
+ export declare abstract class BaseRouter<TID extends PlatformID = Buffer, TApplication extends IApplication<TID> = IApplication<TID>> {
16
+ /** Express router instance for registering routes */
17
+ readonly router: Router;
18
+ /** Application instance providing access to services and configuration */
19
+ readonly application: TApplication;
20
+ /**
21
+ * Creates a new base router instance.
22
+ * @param application Application instance
23
+ */
24
+ protected constructor(application: TApplication);
34
25
  }
26
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/base.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;GAKG;AACH,8BAAsB,UAAU,CAC9B,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,YAAY,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC;IAE1D,qDAAqD;IACrD,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,0EAA0E;IAC1E,SAAgB,WAAW,EAAE,YAAY,CAAC;IAE1C;;;OAGG;IACH,SAAS,aAAa,WAAW,EAAE,YAAY;CAIhD"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Base router class providing common router functionality.
4
+ * All routers extend this class to access application context and Express router.
5
+ * @module routers/base
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.BaseRouter = void 0;
9
+ const express_1 = require("express");
10
+ /**
11
+ * Abstract base class for all routers in the application.
12
+ * Provides access to the Express router and application instance.
13
+ * @template TID Platform-specific ID type (Buffer, ObjectId, etc.)
14
+ * @template TApplication Application instance type
15
+ */
16
+ class BaseRouter {
17
+ /** Express router instance for registering routes */
18
+ router;
19
+ /** Application instance providing access to services and configuration */
20
+ application;
21
+ /**
22
+ * Creates a new base router instance.
23
+ * @param application Application instance
24
+ */
25
+ constructor(application) {
26
+ this.application = application;
27
+ this.router = (0, express_1.Router)();
28
+ }
29
+ }
30
+ exports.BaseRouter = BaseRouter;
31
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/base.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qCAAiC;AAIjC;;;;;GAKG;AACH,MAAsB,UAAU;IAI9B,qDAAqD;IACrC,MAAM,CAAS;IAC/B,0EAA0E;IAC1D,WAAW,CAAe;IAE1C;;;OAGG;IACH,YAAsB,WAAyB;QAC7C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IACzB,CAAC;CACF;AAjBD,gCAiBC"}
@@ -1,3 +1,4 @@
1
1
  export * from './api';
2
2
  export * from './app';
3
3
  export * from './base';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./api"), exports);
5
+ tslib_1.__exportStar(require("./app"), exports);
6
+ tslib_1.__exportStar(require("./base"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB;AACtB,gDAAsB;AACtB,iDAAuB"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @fileoverview Router configuration interface and defaults.
3
+ * Defines configuration options for router setup including static paths, view engine, and middleware.
4
+ * @module routers/router-config
5
+ */
6
+ import { RequestHandler } from 'express';
7
+ /**
8
+ * Configuration interface for router setup.
9
+ */
10
+ export interface RouterConfig {
11
+ /** Array of static path configurations with prefix and directory */
12
+ staticPaths?: Array<{
13
+ prefix: string;
14
+ directory: string;
15
+ }>;
16
+ /** View engine configuration with name and views path */
17
+ viewEngine?: {
18
+ name: string;
19
+ viewsPath: string;
20
+ };
21
+ /** Array of middleware functions to apply */
22
+ middleware?: RequestHandler[];
23
+ /** CORS configuration options */
24
+ cors?: {
25
+ /** Allowed origin(s) for CORS */
26
+ origin?: string | string[];
27
+ /** Whether to allow credentials */
28
+ credentials?: boolean;
29
+ };
30
+ }
31
+ /**
32
+ * Default router configuration with empty arrays.
33
+ */
34
+ export declare const DefaultRouterConfig: RouterConfig;
35
+ //# sourceMappingURL=router-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router-config.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/router-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,yDAAyD;IACzD,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,6CAA6C;IAC7C,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,iCAAiC;IACjC,IAAI,CAAC,EAAE;QACL,iCAAiC;QACjC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC3B,mCAAmC;QACnC,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,YAGjC,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Router configuration interface and defaults.
4
+ * Defines configuration options for router setup including static paths, view engine, and middleware.
5
+ * @module routers/router-config
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.DefaultRouterConfig = void 0;
9
+ /**
10
+ * Default router configuration with empty arrays.
11
+ */
12
+ exports.DefaultRouterConfig = {
13
+ staticPaths: [],
14
+ middleware: [],
15
+ };
16
+ //# sourceMappingURL=router-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router-config.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/router-config.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAuBH;;GAEG;AACU,QAAA,mBAAmB,GAAiB;IAC/C,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,EAAE;CACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './route-builder';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routing/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./route-builder"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routing/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * @fileoverview Route builder for fluent route configuration.
3
+ * Provides builder pattern for defining Express routes.
4
+ * @module routing/route-builder
5
+ */
6
+ import { RequestHandler } from 'express';
7
+ import { ValidationChain } from 'express-validator';
8
+ import { z } from 'zod';
9
+ /**
10
+ * Builder for constructing route configurations with fluent API.
11
+ * @template TLanguage - Language code type (defaults to string)
12
+ */
13
+ export declare class RouteBuilder<TLanguage extends string = string> {
14
+ private config;
15
+ /**
16
+ * Creates a new RouteBuilder instance.
17
+ * @template T - Language code type
18
+ * @returns {RouteBuilder<T>} New builder instance
19
+ */
20
+ static create<T extends string = string>(): RouteBuilder<T>;
21
+ /**
22
+ * Sets GET method and path.
23
+ * @param {string} path - Route path
24
+ * @returns {this} This builder for chaining
25
+ */
26
+ get(path: string): this;
27
+ /**
28
+ * Sets POST method and path.
29
+ * @param {string} path - Route path
30
+ * @returns {this} This builder for chaining
31
+ */
32
+ post(path: string): this;
33
+ /**
34
+ * Sets PUT method and path.
35
+ * @param {string} path - Route path
36
+ * @returns {this} This builder for chaining
37
+ */
38
+ put(path: string): this;
39
+ /**
40
+ * Sets DELETE method and path.
41
+ * @param {string} path - Route path
42
+ * @returns {this} This builder for chaining
43
+ */
44
+ delete(path: string): this;
45
+ /**
46
+ * Sets PATCH method and path.
47
+ * @param {string} path - Route path
48
+ * @returns {this} This builder for chaining
49
+ */
50
+ patch(path: string): this;
51
+ /**
52
+ * Enables authentication.
53
+ * @param {boolean} [enabled=true] - Whether to enable authentication
54
+ * @returns {this} This builder for chaining
55
+ */
56
+ auth(enabled?: boolean): this;
57
+ /**
58
+ * Enables crypto authentication.
59
+ * @param {boolean} [enabled=true] - Whether to enable crypto authentication
60
+ * @returns {this} This builder for chaining
61
+ */
62
+ cryptoAuth(enabled?: boolean): this;
63
+ /**
64
+ * Sets validation chains.
65
+ * @param {ValidationChain[] | Function} validation - Validation chains or factory function
66
+ * @returns {this} This builder for chaining
67
+ */
68
+ validate(validation: ValidationChain[] | ((lang: TLanguage) => ValidationChain[])): this;
69
+ /**
70
+ * Sets Zod schema for validation.
71
+ * @param {z.ZodSchema} schema - Zod schema
72
+ * @returns {this} This builder for chaining
73
+ */
74
+ schema(schema: z.ZodSchema): this;
75
+ /**
76
+ * Adds middleware to the route.
77
+ * @param {...RequestHandler[]} middleware - Middleware functions
78
+ * @returns {this} This builder for chaining
79
+ */
80
+ use(...middleware: RequestHandler[]): this;
81
+ /**
82
+ * Enables transaction support.
83
+ * @param {boolean} [enabled=true] - Whether to enable transactions
84
+ * @param {number} [timeout] - Transaction timeout in milliseconds
85
+ * @returns {this} This builder for chaining
86
+ */
87
+ transaction(enabled?: boolean, timeout?: number): this;
88
+ /**
89
+ * Enables raw JSON handling.
90
+ * @param {boolean} [enabled=true] - Whether to enable raw JSON
91
+ * @returns {this} This builder for chaining
92
+ */
93
+ rawJson(enabled?: boolean): this;
94
+ /**
95
+ * Builds the route configuration with handler.
96
+ * @param {RequestHandler} handler - Route handler function
97
+ * @returns {RouteConfig<TLanguage>} Complete route configuration
98
+ * @throws {Error} If method or path not set
99
+ */
100
+ handle(handler: RequestHandler): RouteConfig<TLanguage>;
101
+ }
102
+ /**
103
+ * Route configuration interface.
104
+ * @template TLanguage - Language code type (defaults to string)
105
+ */
106
+ export interface RouteConfig<TLanguage extends string = string> {
107
+ method: 'get' | 'post' | 'put' | 'delete' | 'patch';
108
+ path: string;
109
+ handler: RequestHandler;
110
+ options: {
111
+ auth?: boolean;
112
+ cryptoAuth?: boolean;
113
+ validation?: ValidationChain[] | ((lang: TLanguage) => ValidationChain[]);
114
+ schema?: z.ZodSchema;
115
+ middleware?: RequestHandler[];
116
+ transaction?: boolean;
117
+ transactionTimeout?: number;
118
+ rawJson?: boolean;
119
+ };
120
+ }
121
+ //# sourceMappingURL=route-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-builder.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routing/route-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,qBAAa,YAAY,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM;IACzD,OAAO,CAAC,MAAM,CAYP;IAEP;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC;IAI3D;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMvB;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMxB;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMvB;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM1B;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMzB;;;;OAIG;IACH,IAAI,CAAC,OAAO,UAAO,GAAG,IAAI;IAK1B;;;;OAIG;IACH,UAAU,CAAC,OAAO,UAAO,GAAG,IAAI;IAKhC;;;;OAIG;IACH,QAAQ,CACN,UAAU,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,eAAe,EAAE,CAAC,GACvE,IAAI;IAKP;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,GAAG,IAAI;IAKjC;;;;OAIG;IACH,GAAG,CAAC,GAAG,UAAU,EAAE,cAAc,EAAE,GAAG,IAAI;IAK1C;;;;;OAKG;IACH,WAAW,CAAC,OAAO,UAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnD;;;;OAIG;IACH,OAAO,CAAC,OAAO,UAAO,GAAG,IAAI;IAK7B;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC;CAoBxD;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM;IAC5D,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE;QACP,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,eAAe,EAAE,CAAC,CAAC;QAC1E,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;QACrB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;QAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH"}