@digitaldefiance/node-express-suite 3.7.4 → 3.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (600) hide show
  1. package/package.json +2 -2
  2. package/src/__tests__/helpers/setup-test-env.d.ts +1 -1
  3. package/src/__tests__/helpers/setup-test-env.d.ts.map +1 -1
  4. package/src/__tests__/helpers/setup-test-env.js.map +1 -1
  5. package/src/application-base.d.ts +9 -4
  6. package/src/application-base.d.ts.map +1 -1
  7. package/src/application-base.js +5 -0
  8. package/src/application-base.js.map +1 -1
  9. package/src/application-concrete.d.ts +14 -1
  10. package/src/application-concrete.d.ts.map +1 -1
  11. package/src/application-concrete.js +14 -1
  12. package/src/application-concrete.js.map +1 -1
  13. package/src/application.d.ts +7 -2
  14. package/src/application.d.ts.map +1 -1
  15. package/src/application.js +5 -0
  16. package/src/application.js.map +1 -1
  17. package/src/backup-code.d.ts +5 -0
  18. package/src/backup-code.d.ts.map +1 -1
  19. package/src/backup-code.js +5 -0
  20. package/src/backup-code.js.map +1 -1
  21. package/src/builders/application-builder.d.ts +13 -1
  22. package/src/builders/application-builder.d.ts.map +1 -1
  23. package/src/builders/application-builder.js +12 -0
  24. package/src/builders/application-builder.js.map +1 -1
  25. package/src/constants.d.ts +5 -0
  26. package/src/constants.d.ts.map +1 -1
  27. package/src/constants.js +5 -0
  28. package/src/constants.js.map +1 -1
  29. package/src/container/service-container.d.ts +34 -0
  30. package/src/container/service-container.d.ts.map +1 -1
  31. package/src/container/service-container.js +30 -0
  32. package/src/container/service-container.js.map +1 -1
  33. package/src/container/service-definitions.d.ts +11 -0
  34. package/src/container/service-definitions.d.ts.map +1 -1
  35. package/src/container/service-definitions.js +8 -0
  36. package/src/container/service-definitions.js.map +1 -1
  37. package/src/controllers/base.d.ts +21 -8
  38. package/src/controllers/base.d.ts.map +1 -1
  39. package/src/controllers/base.js +13 -0
  40. package/src/controllers/base.js.map +1 -1
  41. package/src/controllers/user.d.ts +25 -8
  42. package/src/controllers/user.d.ts.map +1 -1
  43. package/src/controllers/user.js +17 -0
  44. package/src/controllers/user.js.map +1 -1
  45. package/src/database/database-initializer.d.ts +5 -0
  46. package/src/database/database-initializer.d.ts.map +1 -1
  47. package/src/database/database-initializer.js +5 -0
  48. package/src/database/database-initializer.js.map +1 -1
  49. package/src/decorators/base-controller.d.ts +11 -0
  50. package/src/decorators/base-controller.d.ts.map +1 -1
  51. package/src/decorators/base-controller.js +11 -0
  52. package/src/decorators/base-controller.js.map +1 -1
  53. package/src/decorators/controller.d.ts +5 -0
  54. package/src/decorators/controller.d.ts.map +1 -1
  55. package/src/decorators/controller.js +5 -0
  56. package/src/decorators/controller.js.map +1 -1
  57. package/src/decorators/zod-validation.d.ts +5 -0
  58. package/src/decorators/zod-validation.d.ts.map +1 -1
  59. package/src/decorators/zod-validation.js +5 -0
  60. package/src/decorators/zod-validation.js.map +1 -1
  61. package/src/defaults.d.ts +5 -0
  62. package/src/defaults.d.ts.map +1 -1
  63. package/src/defaults.js +5 -0
  64. package/src/defaults.js.map +1 -1
  65. package/src/documents/base.d.ts +12 -1
  66. package/src/documents/base.d.ts.map +1 -1
  67. package/src/documents/base.js +5 -0
  68. package/src/documents/base.js.map +1 -1
  69. package/src/documents/email-token.d.ts +9 -2
  70. package/src/documents/email-token.d.ts.map +1 -1
  71. package/src/documents/email-token.js +5 -0
  72. package/src/documents/email-token.js.map +1 -1
  73. package/src/documents/mnemonic.d.ts +10 -2
  74. package/src/documents/mnemonic.d.ts.map +1 -1
  75. package/src/documents/mnemonic.js +5 -0
  76. package/src/documents/mnemonic.js.map +1 -1
  77. package/src/documents/role.d.ts +9 -2
  78. package/src/documents/role.d.ts.map +1 -1
  79. package/src/documents/role.js +5 -0
  80. package/src/documents/role.js.map +1 -1
  81. package/src/documents/used-direct-login-token.d.ts +12 -1
  82. package/src/documents/used-direct-login-token.d.ts.map +1 -1
  83. package/src/documents/used-direct-login-token.js +5 -0
  84. package/src/documents/used-direct-login-token.js.map +1 -1
  85. package/src/documents/user-role.d.ts +10 -2
  86. package/src/documents/user-role.d.ts.map +1 -1
  87. package/src/documents/user-role.js +5 -0
  88. package/src/documents/user-role.js.map +1 -1
  89. package/src/documents/user.d.ts +10 -2
  90. package/src/documents/user.d.ts.map +1 -1
  91. package/src/documents/user.js +5 -0
  92. package/src/documents/user.js.map +1 -1
  93. package/src/enumerations/base-model-name.d.ts +5 -0
  94. package/src/enumerations/base-model-name.d.ts.map +1 -1
  95. package/src/enumerations/base-model-name.js +5 -0
  96. package/src/enumerations/base-model-name.js.map +1 -1
  97. package/src/enumerations/length-encoding-type.d.ts +9 -0
  98. package/src/enumerations/length-encoding-type.d.ts.map +1 -1
  99. package/src/enumerations/length-encoding-type.js +9 -0
  100. package/src/enumerations/length-encoding-type.js.map +1 -1
  101. package/src/enumerations/schema-collection.d.ts +5 -0
  102. package/src/enumerations/schema-collection.d.ts.map +1 -1
  103. package/src/enumerations/schema-collection.js +5 -0
  104. package/src/enumerations/schema-collection.js.map +1 -1
  105. package/src/enumerations/symmetric-error-type.d.ts +8 -0
  106. package/src/enumerations/symmetric-error-type.d.ts.map +1 -1
  107. package/src/enumerations/symmetric-error-type.js +8 -0
  108. package/src/enumerations/symmetric-error-type.js.map +1 -1
  109. package/src/environment.d.ts +15 -10
  110. package/src/environment.d.ts.map +1 -1
  111. package/src/environment.js +5 -0
  112. package/src/environment.js.map +1 -1
  113. package/src/errors/express-validation.d.ts +15 -0
  114. package/src/errors/express-validation.d.ts.map +1 -1
  115. package/src/errors/express-validation.js +15 -0
  116. package/src/errors/express-validation.js.map +1 -1
  117. package/src/errors/invalid-backup-code-version.d.ts +13 -0
  118. package/src/errors/invalid-backup-code-version.d.ts.map +1 -1
  119. package/src/errors/invalid-backup-code-version.js +13 -0
  120. package/src/errors/invalid-backup-code-version.js.map +1 -1
  121. package/src/errors/invalid-jwt-token.d.ts +12 -0
  122. package/src/errors/invalid-jwt-token.d.ts.map +1 -1
  123. package/src/errors/invalid-jwt-token.js +12 -0
  124. package/src/errors/invalid-jwt-token.js.map +1 -1
  125. package/src/errors/invalid-model.d.ts +12 -0
  126. package/src/errors/invalid-model.d.ts.map +1 -1
  127. package/src/errors/invalid-model.js +12 -0
  128. package/src/errors/invalid-model.js.map +1 -1
  129. package/src/errors/invalid-new-password.d.ts +14 -0
  130. package/src/errors/invalid-new-password.d.ts.map +1 -1
  131. package/src/errors/invalid-new-password.js +14 -0
  132. package/src/errors/invalid-new-password.js.map +1 -1
  133. package/src/errors/invalid-password.d.ts +14 -0
  134. package/src/errors/invalid-password.d.ts.map +1 -1
  135. package/src/errors/invalid-password.js +14 -0
  136. package/src/errors/invalid-password.js.map +1 -1
  137. package/src/errors/missing-validated-data.d.ts +17 -0
  138. package/src/errors/missing-validated-data.d.ts.map +1 -1
  139. package/src/errors/missing-validated-data.js +17 -0
  140. package/src/errors/missing-validated-data.js.map +1 -1
  141. package/src/errors/mnemonic-or-password-required.d.ts +12 -0
  142. package/src/errors/mnemonic-or-password-required.d.ts.map +1 -1
  143. package/src/errors/mnemonic-or-password-required.js +12 -0
  144. package/src/errors/mnemonic-or-password-required.js.map +1 -1
  145. package/src/errors/model-not-registered.d.ts +12 -0
  146. package/src/errors/model-not-registered.d.ts.map +1 -1
  147. package/src/errors/model-not-registered.js +12 -0
  148. package/src/errors/model-not-registered.js.map +1 -1
  149. package/src/errors/mongoose-validation.d.ts +16 -0
  150. package/src/errors/mongoose-validation.d.ts.map +1 -1
  151. package/src/errors/mongoose-validation.js +16 -0
  152. package/src/errors/mongoose-validation.js.map +1 -1
  153. package/src/errors/symmetric.d.ts +15 -0
  154. package/src/errors/symmetric.d.ts.map +1 -1
  155. package/src/errors/symmetric.js +15 -0
  156. package/src/errors/symmetric.js.map +1 -1
  157. package/src/errors/token-expired.d.ts +12 -0
  158. package/src/errors/token-expired.d.ts.map +1 -1
  159. package/src/errors/token-expired.js +12 -0
  160. package/src/errors/token-expired.js.map +1 -1
  161. package/src/get-language.d.ts +10 -0
  162. package/src/get-language.d.ts.map +1 -1
  163. package/src/get-language.js +10 -0
  164. package/src/get-language.js.map +1 -1
  165. package/src/get-timezone.d.ts +10 -0
  166. package/src/get-timezone.d.ts.map +1 -1
  167. package/src/get-timezone.js +15 -1
  168. package/src/get-timezone.js.map +1 -1
  169. package/src/interfaces/api-error-response.d.ts +9 -0
  170. package/src/interfaces/api-error-response.d.ts.map +1 -1
  171. package/src/interfaces/api-error-response.js +5 -0
  172. package/src/interfaces/api-error-response.js.map +1 -1
  173. package/src/interfaces/api-express-validation-error-response.d.ts +9 -0
  174. package/src/interfaces/api-express-validation-error-response.d.ts.map +1 -1
  175. package/src/interfaces/api-express-validation-error-response.js +5 -0
  176. package/src/interfaces/api-express-validation-error-response.js.map +1 -1
  177. package/src/interfaces/api-message-response.d.ts +8 -0
  178. package/src/interfaces/api-message-response.d.ts.map +1 -1
  179. package/src/interfaces/api-message-response.js +5 -0
  180. package/src/interfaces/api-message-response.js.map +1 -1
  181. package/src/interfaces/api-mongo-validation-error-response.d.ts +10 -0
  182. package/src/interfaces/api-mongo-validation-error-response.d.ts.map +1 -1
  183. package/src/interfaces/api-mongo-validation-error-response.js +5 -0
  184. package/src/interfaces/api-mongo-validation-error-response.js.map +1 -1
  185. package/src/interfaces/api-responses/backup-codes-response.d.ts +9 -0
  186. package/src/interfaces/api-responses/backup-codes-response.d.ts.map +1 -1
  187. package/src/interfaces/api-responses/backup-codes-response.js +5 -0
  188. package/src/interfaces/api-responses/backup-codes-response.js.map +1 -1
  189. package/src/interfaces/api-responses/challenge-response.d.ts +10 -0
  190. package/src/interfaces/api-responses/challenge-response.d.ts.map +1 -1
  191. package/src/interfaces/api-responses/challenge-response.js +4 -0
  192. package/src/interfaces/api-responses/challenge-response.js.map +1 -1
  193. package/src/interfaces/api-responses/code-count-response.d.ts +6 -0
  194. package/src/interfaces/api-responses/code-count-response.d.ts.map +1 -1
  195. package/src/interfaces/api-responses/code-count-response.js +5 -0
  196. package/src/interfaces/api-responses/code-count-response.js.map +1 -1
  197. package/src/interfaces/api-responses/login-response.d.ts +9 -0
  198. package/src/interfaces/api-responses/login-response.d.ts.map +1 -1
  199. package/src/interfaces/api-responses/login-response.js +5 -0
  200. package/src/interfaces/api-responses/login-response.js.map +1 -1
  201. package/src/interfaces/api-responses/mnemonic-response.d.ts +9 -0
  202. package/src/interfaces/api-responses/mnemonic-response.d.ts.map +1 -1
  203. package/src/interfaces/api-responses/mnemonic-response.js +4 -0
  204. package/src/interfaces/api-responses/mnemonic-response.js.map +1 -1
  205. package/src/interfaces/api-responses/registration-response.d.ts +10 -0
  206. package/src/interfaces/api-responses/registration-response.d.ts.map +1 -1
  207. package/src/interfaces/api-responses/registration-response.js +4 -0
  208. package/src/interfaces/api-responses/registration-response.js.map +1 -1
  209. package/src/interfaces/api-responses/request-user-response.d.ts +9 -0
  210. package/src/interfaces/api-responses/request-user-response.d.ts.map +1 -1
  211. package/src/interfaces/api-responses/request-user-response.js +5 -0
  212. package/src/interfaces/api-responses/request-user-response.js.map +1 -1
  213. package/src/interfaces/api-responses/user-settings-response.d.ts +6 -0
  214. package/src/interfaces/api-responses/user-settings-response.d.ts.map +1 -1
  215. package/src/interfaces/api-responses/user-settings-response.js +5 -0
  216. package/src/interfaces/api-responses/user-settings-response.js.map +1 -1
  217. package/src/interfaces/application.d.ts +22 -0
  218. package/src/interfaces/application.d.ts.map +1 -1
  219. package/src/interfaces/application.js +5 -0
  220. package/src/interfaces/application.js.map +1 -1
  221. package/src/interfaces/backend-objects/email-token.d.ts +10 -1
  222. package/src/interfaces/backend-objects/email-token.d.ts.map +1 -1
  223. package/src/interfaces/backend-objects/email-token.js +5 -0
  224. package/src/interfaces/backend-objects/email-token.js.map +1 -1
  225. package/src/interfaces/backend-objects/request-user.d.ts +11 -1
  226. package/src/interfaces/backend-objects/request-user.d.ts.map +1 -1
  227. package/src/interfaces/backend-objects/request-user.js +5 -0
  228. package/src/interfaces/backend-objects/request-user.js.map +1 -1
  229. package/src/interfaces/backend-objects/role.d.ts +10 -1
  230. package/src/interfaces/backend-objects/role.d.ts.map +1 -1
  231. package/src/interfaces/backend-objects/role.js +5 -0
  232. package/src/interfaces/backend-objects/role.js.map +1 -1
  233. package/src/interfaces/backend-objects/user.d.ts +11 -1
  234. package/src/interfaces/backend-objects/user.d.ts.map +1 -1
  235. package/src/interfaces/backend-objects/user.js +5 -0
  236. package/src/interfaces/backend-objects/user.js.map +1 -1
  237. package/src/interfaces/checksum-config.d.ts +10 -0
  238. package/src/interfaces/checksum-config.d.ts.map +1 -1
  239. package/src/interfaces/checksum-config.js +5 -0
  240. package/src/interfaces/checksum-config.js.map +1 -1
  241. package/src/interfaces/checksum-consts.d.ts +9 -0
  242. package/src/interfaces/checksum-consts.d.ts.map +1 -1
  243. package/src/interfaces/checksum-consts.js +5 -0
  244. package/src/interfaces/checksum-consts.js.map +1 -1
  245. package/src/interfaces/constants.d.ts +7 -2
  246. package/src/interfaces/constants.d.ts.map +1 -1
  247. package/src/interfaces/constants.js +5 -0
  248. package/src/interfaces/constants.js.map +1 -1
  249. package/src/interfaces/controller-config.d.ts +27 -10
  250. package/src/interfaces/controller-config.d.ts.map +1 -1
  251. package/src/interfaces/controller-config.js +5 -0
  252. package/src/interfaces/controller-config.js.map +1 -1
  253. package/src/interfaces/create-user-basics.d.ts +7 -1
  254. package/src/interfaces/create-user-basics.d.ts.map +1 -1
  255. package/src/interfaces/create-user-basics.js +5 -0
  256. package/src/interfaces/create-user-basics.js.map +1 -1
  257. package/src/interfaces/csp-config.d.ts +15 -0
  258. package/src/interfaces/csp-config.d.ts.map +1 -1
  259. package/src/interfaces/csp-config.js +10 -0
  260. package/src/interfaces/csp-config.js.map +1 -1
  261. package/src/interfaces/csp-definition.d.ts +21 -0
  262. package/src/interfaces/csp-definition.d.ts.map +1 -1
  263. package/src/interfaces/csp-definition.js +10 -0
  264. package/src/interfaces/csp-definition.js.map +1 -1
  265. package/src/interfaces/db-init-result.d.ts +11 -0
  266. package/src/interfaces/db-init-result.d.ts.map +1 -1
  267. package/src/interfaces/db-init-result.js +5 -0
  268. package/src/interfaces/db-init-result.js.map +1 -1
  269. package/src/interfaces/deep-partial.d.ts +10 -0
  270. package/src/interfaces/deep-partial.d.ts.map +1 -1
  271. package/src/interfaces/deep-partial.js +5 -0
  272. package/src/interfaces/deep-partial.js.map +1 -1
  273. package/src/interfaces/discriminator-collections.d.ts +11 -1
  274. package/src/interfaces/discriminator-collections.d.ts.map +1 -1
  275. package/src/interfaces/discriminator-collections.js +5 -0
  276. package/src/interfaces/discriminator-collections.js.map +1 -1
  277. package/src/interfaces/email-service.d.ts +17 -0
  278. package/src/interfaces/email-service.d.ts.map +1 -1
  279. package/src/interfaces/email-service.js +5 -0
  280. package/src/interfaces/email-service.js.map +1 -1
  281. package/src/interfaces/environment-mongo.d.ts +9 -0
  282. package/src/interfaces/environment-mongo.d.ts.map +1 -1
  283. package/src/interfaces/environment-mongo.js +5 -0
  284. package/src/interfaces/environment-mongo.js.map +1 -1
  285. package/src/interfaces/environment.d.ts +20 -10
  286. package/src/interfaces/environment.d.ts.map +1 -1
  287. package/src/interfaces/environment.js +5 -0
  288. package/src/interfaces/environment.js.map +1 -1
  289. package/src/interfaces/failable-result.d.ts +13 -0
  290. package/src/interfaces/failable-result.d.ts.map +1 -1
  291. package/src/interfaces/failable-result.js +5 -0
  292. package/src/interfaces/failable-result.js.map +1 -1
  293. package/src/interfaces/fec-consts.d.ts +9 -0
  294. package/src/interfaces/fec-consts.d.ts.map +1 -1
  295. package/src/interfaces/fec-consts.js +5 -0
  296. package/src/interfaces/fec-consts.js.map +1 -1
  297. package/src/interfaces/flexible-csp.d.ts +16 -0
  298. package/src/interfaces/flexible-csp.d.ts.map +1 -1
  299. package/src/interfaces/flexible-csp.js +10 -0
  300. package/src/interfaces/flexible-csp.js.map +1 -1
  301. package/src/interfaces/handleable-error-options.d.ts +12 -0
  302. package/src/interfaces/handleable-error-options.d.ts.map +1 -1
  303. package/src/interfaces/handleable-error-options.js +5 -0
  304. package/src/interfaces/handleable-error-options.js.map +1 -1
  305. package/src/interfaces/jwt-consts.d.ts +9 -0
  306. package/src/interfaces/jwt-consts.d.ts.map +1 -1
  307. package/src/interfaces/jwt-consts.js +5 -0
  308. package/src/interfaces/jwt-consts.js.map +1 -1
  309. package/src/interfaces/jwt-sign-response.d.ts +12 -1
  310. package/src/interfaces/jwt-sign-response.d.ts.map +1 -1
  311. package/src/interfaces/jwt-sign-response.js +5 -0
  312. package/src/interfaces/jwt-sign-response.js.map +1 -1
  313. package/src/interfaces/models/email-token.d.ts +7 -1
  314. package/src/interfaces/models/email-token.d.ts.map +1 -1
  315. package/src/interfaces/models/email-token.js +5 -0
  316. package/src/interfaces/models/email-token.js.map +1 -1
  317. package/src/interfaces/models/mnemonic.d.ts +8 -1
  318. package/src/interfaces/models/mnemonic.d.ts.map +1 -1
  319. package/src/interfaces/models/mnemonic.js +5 -0
  320. package/src/interfaces/models/mnemonic.js.map +1 -1
  321. package/src/interfaces/models/role.d.ts +7 -1
  322. package/src/interfaces/models/role.d.ts.map +1 -1
  323. package/src/interfaces/models/role.js +5 -0
  324. package/src/interfaces/models/role.js.map +1 -1
  325. package/src/interfaces/models/token-role.d.ts +11 -3
  326. package/src/interfaces/models/token-role.d.ts.map +1 -1
  327. package/src/interfaces/models/token-role.js +5 -0
  328. package/src/interfaces/models/token-role.js.map +1 -1
  329. package/src/interfaces/models/used-direct-login-token.d.ts +11 -3
  330. package/src/interfaces/models/used-direct-login-token.d.ts.map +1 -1
  331. package/src/interfaces/models/used-direct-login-token.js +5 -0
  332. package/src/interfaces/models/used-direct-login-token.js.map +1 -1
  333. package/src/interfaces/models/user-role.d.ts +11 -3
  334. package/src/interfaces/models/user-role.d.ts.map +1 -1
  335. package/src/interfaces/models/user-role.js +5 -0
  336. package/src/interfaces/models/user-role.js.map +1 -1
  337. package/src/interfaces/models/user.d.ts +13 -3
  338. package/src/interfaces/models/user.d.ts.map +1 -1
  339. package/src/interfaces/models/user.js +5 -0
  340. package/src/interfaces/models/user.js.map +1 -1
  341. package/src/interfaces/mongo-errors.d.ts +8 -0
  342. package/src/interfaces/mongo-errors.d.ts.map +1 -1
  343. package/src/interfaces/mongo-errors.js +5 -0
  344. package/src/interfaces/mongo-errors.js.map +1 -1
  345. package/src/interfaces/request-user.d.ts +16 -7
  346. package/src/interfaces/request-user.d.ts.map +1 -1
  347. package/src/interfaces/request-user.js +5 -0
  348. package/src/interfaces/request-user.js.map +1 -1
  349. package/src/interfaces/required-string-keys.d.ts +9 -3
  350. package/src/interfaces/required-string-keys.d.ts.map +1 -1
  351. package/src/interfaces/required-string-keys.js +5 -0
  352. package/src/interfaces/required-string-keys.js.map +1 -1
  353. package/src/interfaces/schema.d.ts +11 -3
  354. package/src/interfaces/schema.d.ts.map +1 -1
  355. package/src/interfaces/schema.js +5 -0
  356. package/src/interfaces/schema.js.map +1 -1
  357. package/src/interfaces/server-init-result.d.ts +23 -13
  358. package/src/interfaces/server-init-result.d.ts.map +1 -1
  359. package/src/interfaces/server-init-result.js +5 -0
  360. package/src/interfaces/server-init-result.js.map +1 -1
  361. package/src/interfaces/status-code-response.d.ts +12 -0
  362. package/src/interfaces/status-code-response.d.ts.map +1 -1
  363. package/src/interfaces/status-code-response.js +5 -0
  364. package/src/interfaces/status-code-response.js.map +1 -1
  365. package/src/interfaces/symmetric-encryption-results.d.ts +10 -0
  366. package/src/interfaces/symmetric-encryption-results.d.ts.map +1 -1
  367. package/src/interfaces/symmetric-encryption-results.js +5 -0
  368. package/src/interfaces/symmetric-encryption-results.js.map +1 -1
  369. package/src/interfaces/test-environment.d.ts +10 -0
  370. package/src/interfaces/test-environment.d.ts.map +1 -1
  371. package/src/interfaces/test-environment.js +5 -0
  372. package/src/interfaces/test-environment.js.map +1 -1
  373. package/src/interfaces/token-response.d.ts +10 -0
  374. package/src/interfaces/token-response.d.ts.map +1 -1
  375. package/src/interfaces/token-response.js +5 -0
  376. package/src/interfaces/token-response.js.map +1 -1
  377. package/src/middleware-utils.d.ts +23 -0
  378. package/src/middleware-utils.d.ts.map +1 -1
  379. package/src/middleware-utils.js +23 -0
  380. package/src/middleware-utils.js.map +1 -1
  381. package/src/middlewares/authenticate-crypto.d.ts +20 -3
  382. package/src/middlewares/authenticate-crypto.d.ts.map +1 -1
  383. package/src/middlewares/authenticate-crypto.js +19 -2
  384. package/src/middlewares/authenticate-crypto.js.map +1 -1
  385. package/src/middlewares/authenticate-token.d.ts +23 -10
  386. package/src/middlewares/authenticate-token.d.ts.map +1 -1
  387. package/src/middlewares/authenticate-token.js +22 -9
  388. package/src/middlewares/authenticate-token.js.map +1 -1
  389. package/src/middlewares/cleanup-crypto.d.ts +11 -2
  390. package/src/middlewares/cleanup-crypto.d.ts.map +1 -1
  391. package/src/middlewares/cleanup-crypto.js +11 -2
  392. package/src/middlewares/cleanup-crypto.js.map +1 -1
  393. package/src/middlewares/set-global-context-language.d.ts +13 -0
  394. package/src/middlewares/set-global-context-language.d.ts.map +1 -1
  395. package/src/middlewares/set-global-context-language.js +14 -1
  396. package/src/middlewares/set-global-context-language.js.map +1 -1
  397. package/src/model-registry.d.ts +63 -7
  398. package/src/model-registry.d.ts.map +1 -1
  399. package/src/model-registry.js +50 -0
  400. package/src/model-registry.js.map +1 -1
  401. package/src/models/email-token.d.ts +17 -1
  402. package/src/models/email-token.d.ts.map +1 -1
  403. package/src/models/email-token.js +5 -0
  404. package/src/models/email-token.js.map +1 -1
  405. package/src/models/mnemonic.d.ts +17 -1
  406. package/src/models/mnemonic.d.ts.map +1 -1
  407. package/src/models/mnemonic.js +16 -0
  408. package/src/models/mnemonic.js.map +1 -1
  409. package/src/models/role.d.ts +17 -1
  410. package/src/models/role.d.ts.map +1 -1
  411. package/src/models/role.js +16 -0
  412. package/src/models/role.js.map +1 -1
  413. package/src/models/used-direct-login-token.d.ts +17 -1
  414. package/src/models/used-direct-login-token.d.ts.map +1 -1
  415. package/src/models/used-direct-login-token.js +5 -0
  416. package/src/models/used-direct-login-token.js.map +1 -1
  417. package/src/models/user-role.d.ts +17 -1
  418. package/src/models/user-role.d.ts.map +1 -1
  419. package/src/models/user-role.js +16 -0
  420. package/src/models/user-role.js.map +1 -1
  421. package/src/models/user.d.ts +17 -1
  422. package/src/models/user.d.ts.map +1 -1
  423. package/src/models/user.js +16 -0
  424. package/src/models/user.js.map +1 -1
  425. package/src/pipeline/pipeline-builder.d.ts +8 -0
  426. package/src/pipeline/pipeline-builder.d.ts.map +1 -1
  427. package/src/pipeline/pipeline-builder.js +8 -0
  428. package/src/pipeline/pipeline-builder.js.map +1 -1
  429. package/src/plugins/plugin-interface.d.ts +9 -0
  430. package/src/plugins/plugin-interface.d.ts.map +1 -1
  431. package/src/plugins/plugin-interface.js +5 -0
  432. package/src/plugins/plugin-interface.js.map +1 -1
  433. package/src/plugins/plugin-manager.d.ts +9 -0
  434. package/src/plugins/plugin-manager.d.ts.map +1 -1
  435. package/src/plugins/plugin-manager.js +9 -0
  436. package/src/plugins/plugin-manager.js.map +1 -1
  437. package/src/registry/email-service-registry.d.ts +28 -6
  438. package/src/registry/email-service-registry.d.ts.map +1 -1
  439. package/src/registry/email-service-registry.js +28 -6
  440. package/src/registry/email-service-registry.js.map +1 -1
  441. package/src/responses/response-builder.d.ts +79 -0
  442. package/src/responses/response-builder.d.ts.map +1 -1
  443. package/src/responses/response-builder.js +79 -0
  444. package/src/responses/response-builder.js.map +1 -1
  445. package/src/routers/api.d.ts +36 -5
  446. package/src/routers/api.d.ts.map +1 -1
  447. package/src/routers/api.js +34 -4
  448. package/src/routers/api.js.map +1 -1
  449. package/src/routers/app.d.ts +61 -7
  450. package/src/routers/app.d.ts.map +1 -1
  451. package/src/routers/app.js +62 -5
  452. package/src/routers/app.js.map +1 -1
  453. package/src/routers/base.d.ts +17 -0
  454. package/src/routers/base.d.ts.map +1 -1
  455. package/src/routers/base.js +17 -0
  456. package/src/routers/base.js.map +1 -1
  457. package/src/routers/router-config.d.ts +17 -0
  458. package/src/routers/router-config.d.ts.map +1 -1
  459. package/src/routers/router-config.js +8 -0
  460. package/src/routers/router-config.js.map +1 -1
  461. package/src/routing/route-builder.d.ts +85 -0
  462. package/src/routing/route-builder.d.ts.map +1 -1
  463. package/src/routing/route-builder.js +81 -0
  464. package/src/routing/route-builder.js.map +1 -1
  465. package/src/schemas/email-token.d.ts +19 -3
  466. package/src/schemas/email-token.d.ts.map +1 -1
  467. package/src/schemas/email-token.js +15 -2
  468. package/src/schemas/email-token.js.map +1 -1
  469. package/src/schemas/mnemonic.d.ts +12 -2
  470. package/src/schemas/mnemonic.d.ts.map +1 -1
  471. package/src/schemas/mnemonic.js +12 -2
  472. package/src/schemas/mnemonic.js.map +1 -1
  473. package/src/schemas/role.d.ts +18 -3
  474. package/src/schemas/role.d.ts.map +1 -1
  475. package/src/schemas/role.js +15 -2
  476. package/src/schemas/role.js.map +1 -1
  477. package/src/schemas/schema.d.ts +21 -1
  478. package/src/schemas/schema.d.ts.map +1 -1
  479. package/src/schemas/schema.js +11 -0
  480. package/src/schemas/schema.js.map +1 -1
  481. package/src/schemas/used-direct-login-token.d.ts +15 -3
  482. package/src/schemas/used-direct-login-token.d.ts.map +1 -1
  483. package/src/schemas/used-direct-login-token.js +13 -2
  484. package/src/schemas/used-direct-login-token.js.map +1 -1
  485. package/src/schemas/user-role.d.ts +16 -3
  486. package/src/schemas/user-role.d.ts.map +1 -1
  487. package/src/schemas/user-role.js +14 -2
  488. package/src/schemas/user-role.js.map +1 -1
  489. package/src/schemas/user.d.ts +20 -1
  490. package/src/schemas/user.d.ts.map +1 -1
  491. package/src/schemas/user.js +20 -1
  492. package/src/schemas/user.js.map +1 -1
  493. package/src/services/backup-code.d.ts +22 -18
  494. package/src/services/backup-code.d.ts.map +1 -1
  495. package/src/services/backup-code.js +12 -8
  496. package/src/services/backup-code.js.map +1 -1
  497. package/src/services/base.d.ts +11 -0
  498. package/src/services/base.d.ts.map +1 -1
  499. package/src/services/base.js +11 -0
  500. package/src/services/base.js.map +1 -1
  501. package/src/services/checksum.d.ts +50 -29
  502. package/src/services/checksum.d.ts.map +1 -1
  503. package/src/services/checksum.js +50 -29
  504. package/src/services/checksum.js.map +1 -1
  505. package/src/services/database-initialization.d.ts +82 -55
  506. package/src/services/database-initialization.d.ts.map +1 -1
  507. package/src/services/database-initialization.js +61 -35
  508. package/src/services/database-initialization.js.map +1 -1
  509. package/src/services/db-init-cache.d.ts +8 -0
  510. package/src/services/db-init-cache.d.ts.map +1 -1
  511. package/src/services/db-init-cache.js +4 -0
  512. package/src/services/db-init-cache.js.map +1 -1
  513. package/src/services/direct-login-token.d.ts +22 -1
  514. package/src/services/direct-login-token.d.ts.map +1 -1
  515. package/src/services/direct-login-token.js +21 -0
  516. package/src/services/direct-login-token.js.map +1 -1
  517. package/src/services/dummy-email-service.d.ts +20 -1
  518. package/src/services/dummy-email-service.d.ts.map +1 -1
  519. package/src/services/dummy-email-service.js +20 -1
  520. package/src/services/dummy-email-service.js.map +1 -1
  521. package/src/services/fec-usage-example.d.ts +25 -5
  522. package/src/services/fec-usage-example.d.ts.map +1 -1
  523. package/src/services/fec-usage-example.js +25 -5
  524. package/src/services/fec-usage-example.js.map +1 -1
  525. package/src/services/fec.d.ts +49 -7
  526. package/src/services/fec.d.ts.map +1 -1
  527. package/src/services/fec.js +39 -7
  528. package/src/services/fec.js.map +1 -1
  529. package/src/services/jwt.d.ts +17 -2
  530. package/src/services/jwt.d.ts.map +1 -1
  531. package/src/services/jwt.js +15 -0
  532. package/src/services/jwt.js.map +1 -1
  533. package/src/services/key-wrapping.d.ts +86 -8
  534. package/src/services/key-wrapping.d.ts.map +1 -1
  535. package/src/services/key-wrapping.js +75 -10
  536. package/src/services/key-wrapping.js.map +1 -1
  537. package/src/services/mnemonic.d.ts +14 -8
  538. package/src/services/mnemonic.d.ts.map +1 -1
  539. package/src/services/mnemonic.js +8 -2
  540. package/src/services/mnemonic.js.map +1 -1
  541. package/src/services/request-user.d.ts +33 -11
  542. package/src/services/request-user.d.ts.map +1 -1
  543. package/src/services/request-user.js +28 -6
  544. package/src/services/request-user.js.map +1 -1
  545. package/src/services/role.d.ts +28 -18
  546. package/src/services/role.d.ts.map +1 -1
  547. package/src/services/role.js +11 -1
  548. package/src/services/role.js.map +1 -1
  549. package/src/services/symmetric.d.ts +35 -17
  550. package/src/services/symmetric.d.ts.map +1 -1
  551. package/src/services/symmetric.js +41 -17
  552. package/src/services/symmetric.js.map +1 -1
  553. package/src/services/system-user.d.ts +7 -1
  554. package/src/services/system-user.d.ts.map +1 -1
  555. package/src/services/system-user.js +7 -1
  556. package/src/services/system-user.js.map +1 -1
  557. package/src/services/user.d.ts +61 -38
  558. package/src/services/user.d.ts.map +1 -1
  559. package/src/services/user.js +23 -0
  560. package/src/services/user.js.map +1 -1
  561. package/src/services/xor.d.ts +10 -6
  562. package/src/services/xor.d.ts.map +1 -1
  563. package/src/services/xor.js +14 -6
  564. package/src/services/xor.js.map +1 -1
  565. package/src/testing.d.ts +5 -0
  566. package/src/testing.d.ts.map +1 -1
  567. package/src/testing.js +5 -0
  568. package/src/testing.js.map +1 -1
  569. package/src/transactions/transaction-manager.d.ts +25 -0
  570. package/src/transactions/transaction-manager.d.ts.map +1 -1
  571. package/src/transactions/transaction-manager.js +20 -0
  572. package/src/transactions/transaction-manager.js.map +1 -1
  573. package/src/types/app-config.d.ts +16 -2
  574. package/src/types/app-config.d.ts.map +1 -1
  575. package/src/types/app-config.js +5 -0
  576. package/src/types/app-config.js.map +1 -1
  577. package/src/types/controller-config.d.ts +14 -2
  578. package/src/types/controller-config.d.ts.map +1 -1
  579. package/src/types/controller-config.js +5 -0
  580. package/src/types/controller-config.js.map +1 -1
  581. package/src/types/environment-variables.d.ts +5 -0
  582. package/src/types/environment-variables.d.ts.map +1 -1
  583. package/src/types/environment-variables.js +3 -1
  584. package/src/types/environment-variables.js.map +1 -1
  585. package/src/types/mongoose-helpers.d.ts +5 -0
  586. package/src/types/mongoose-helpers.d.ts.map +1 -1
  587. package/src/types/mongoose-helpers.js +3 -1
  588. package/src/types/mongoose-helpers.js.map +1 -1
  589. package/src/types.d.ts +17 -3
  590. package/src/types.d.ts.map +1 -1
  591. package/src/types.js +14 -0
  592. package/src/types.js.map +1 -1
  593. package/src/utils.d.ts +58 -29
  594. package/src/utils.d.ts.map +1 -1
  595. package/src/utils.js +56 -31
  596. package/src/utils.js.map +1 -1
  597. package/src/validation/validation-builder.d.ts +39 -0
  598. package/src/validation/validation-builder.d.ts.map +1 -1
  599. package/src/validation/validation-builder.js +39 -0
  600. package/src/validation/validation-builder.js.map +1 -1
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @fileoverview API router configuration with dependency injection and service registration.
3
+ * Manages user controller and all required services for API endpoints.
4
+ * @module routers/api
5
+ */
1
6
  import { PlatformID } from '@digitaldefiance/node-ecies-lib';
2
7
  import { ITokenRole, ITokenUser, IUserBase } from '@digitaldefiance/suite-core-lib';
3
8
  import { IBaseDocument } from '../documents';
@@ -5,24 +10,50 @@ import { Environment } from '../environment';
5
10
  import { IConstants } from '../interfaces';
6
11
  import { IApplication } from '../interfaces/application';
7
12
  import { BaseRouter } from './base';
13
+ import { CoreLanguageCode } from '@digitaldefiance/i18n-lib';
8
14
  /**
9
- * Router for the API
15
+ * Router for the API endpoints.
16
+ * Manages user controller and registers all required services via dependency injection.
17
+ * @template TID Platform-specific ID type
18
+ * @template TDate Date type
19
+ * @template TLanguage Site language string literal type
20
+ * @template TAccountStatus Account status string literal type
21
+ * @template TUser User base type
22
+ * @template TTokenRole Token role type
23
+ * @template TBaseDocument Base document type
24
+ * @template TTokenUser Token user type
25
+ * @template TConstants Constants type
26
+ * @template TEnvironment Environment type
27
+ * @template TApplication Application type
10
28
  */
11
- export declare class ApiRouter<I extends PlatformID, D extends Date, S extends string, A extends string, TUser extends IUserBase<I, D, S, A> = IUserBase<I, D, S, A>, TTokenRole extends ITokenRole<I, D> = ITokenRole<I, D>, TBaseDocument extends IBaseDocument<any, I> = IBaseDocument<any, I>, TTokenUser extends ITokenUser = ITokenUser, TConstants extends IConstants = IConstants, TEnvironment extends Environment<I> = Environment<I>, TApplication extends IApplication<I> = IApplication<I>> extends BaseRouter<I, TApplication> {
29
+ export declare class ApiRouter<TID extends PlatformID, TDate extends Date, TLanguage extends CoreLanguageCode, TAccountStatus extends string, TUser extends IUserBase<TID, TDate, TLanguage, TAccountStatus> = IUserBase<TID, TDate, TLanguage, TAccountStatus>, TTokenRole extends ITokenRole<TID, TDate> = ITokenRole<TID, TDate>, TBaseDocument extends IBaseDocument<any, TID> = IBaseDocument<any, TID>, TTokenUser extends ITokenUser = ITokenUser, TConstants extends IConstants = IConstants, TEnvironment extends Environment<TID> = Environment<TID>, TApplication extends IApplication<TID> = IApplication<TID>> extends BaseRouter<TID, TApplication> {
30
+ /** User controller for handling user-related API endpoints */
12
31
  private readonly userController;
32
+ /** JWT service for token generation and validation */
13
33
  private readonly jwtService;
34
+ /** Email service for sending emails */
14
35
  private readonly emailService;
36
+ /** User service for user management operations */
15
37
  private readonly userService;
38
+ /** Role service for role management operations */
16
39
  private readonly roleService;
40
+ /** Key wrapping service for password-based encryption */
17
41
  private readonly keyWrappingService;
42
+ /** ECIES service for elliptic curve encryption */
18
43
  private readonly eciesService;
44
+ /** Backup code service for generating and validating backup codes */
19
45
  private readonly backupCodeService;
20
46
  /**
21
- * Constructor for the API router
22
- * @param connection The mongoose connection
23
- * @param getModel The function to get a mongoose model by name
47
+ * Creates a new API router instance.
48
+ * Registers all required services and initializes the user controller.
49
+ * @param application Application instance with database connection and configuration
24
50
  */
25
51
  constructor(application: TApplication);
52
+ /**
53
+ * Registers all required services in the application service container.
54
+ * Services are registered as singletons and lazily instantiated.
55
+ * @private
56
+ */
26
57
  private registerServices;
27
58
  }
28
59
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EACL,UAAU,EACV,UAAU,EACV,SAAS,EACV,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQzD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC;;GAEG;AACH,qBAAa,SAAS,CACpB,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,IAAI,EACd,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAChB,KAAK,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC3D,UAAU,SAAS,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACtD,aAAa,SAAS,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,EACnE,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1C,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1C,YAAY,SAAS,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EACpD,YAAY,SAAS,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CACtD,SAAQ,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAS7B;IACF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAMzB;IACF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAY1B;IACF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgC;IAC5D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAKhC;IACF;;;;OAIG;gBACS,WAAW,EAAE,YAAY;IAgCrC,OAAO,CAAC,gBAAgB;CA+EzB"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAgB,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EACL,UAAU,EACV,UAAU,EACV,SAAS,EACV,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQzD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;;;;;;;;;;;;GAcG;AACH,qBAAa,SAAS,CACpB,GAAG,SAAS,UAAU,EACtB,KAAK,SAAS,IAAI,EAClB,SAAS,SAAS,gBAAgB,EAClC,cAAc,SAAS,MAAM,EAC7B,KAAK,SAAS,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,GAAG,SAAS,CACxE,GAAG,EACH,KAAK,EACL,SAAS,EACT,cAAc,CACf,EACD,UAAU,SAAS,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,EAClE,aAAa,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EACvE,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1C,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1C,YAAY,SAAS,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,EACxD,YAAY,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAC1D,SAAQ,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC;IACrC,8DAA8D;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAS7B;IACF,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAMzB;IACF,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAY1B;IACF,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAKhC;IACF;;;;OAIG;gBACS,WAAW,EAAE,YAAY;IAgCrC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CAgFzB"}
@@ -1,4 +1,9 @@
1
1
  "use strict";
2
+ /**
3
+ * @fileoverview API router configuration with dependency injection and service registration.
4
+ * Manages user controller and all required services for API endpoints.
5
+ * @module routers/api
6
+ */
2
7
  Object.defineProperty(exports, "__esModule", { value: true });
3
8
  exports.ApiRouter = void 0;
4
9
  const node_ecies_lib_1 = require("@digitaldefiance/node-ecies-lib");
@@ -12,21 +17,41 @@ const role_1 = require("../services/role");
12
17
  const user_2 = require("../services/user");
13
18
  const base_1 = require("./base");
14
19
  /**
15
- * Router for the API
20
+ * Router for the API endpoints.
21
+ * Manages user controller and registers all required services via dependency injection.
22
+ * @template TID Platform-specific ID type
23
+ * @template TDate Date type
24
+ * @template TLanguage Site language string literal type
25
+ * @template TAccountStatus Account status string literal type
26
+ * @template TUser User base type
27
+ * @template TTokenRole Token role type
28
+ * @template TBaseDocument Base document type
29
+ * @template TTokenUser Token user type
30
+ * @template TConstants Constants type
31
+ * @template TEnvironment Environment type
32
+ * @template TApplication Application type
16
33
  */
17
34
  class ApiRouter extends base_1.BaseRouter {
35
+ /** User controller for handling user-related API endpoints */
18
36
  userController;
37
+ /** JWT service for token generation and validation */
19
38
  jwtService;
39
+ /** Email service for sending emails */
20
40
  emailService;
41
+ /** User service for user management operations */
21
42
  userService;
43
+ /** Role service for role management operations */
22
44
  roleService;
45
+ /** Key wrapping service for password-based encryption */
23
46
  keyWrappingService;
47
+ /** ECIES service for elliptic curve encryption */
24
48
  eciesService;
49
+ /** Backup code service for generating and validating backup codes */
25
50
  backupCodeService;
26
51
  /**
27
- * Constructor for the API router
28
- * @param connection The mongoose connection
29
- * @param getModel The function to get a mongoose model by name
52
+ * Creates a new API router instance.
53
+ * Registers all required services and initializes the user controller.
54
+ * @param application Application instance with database connection and configuration
30
55
  */
31
56
  constructor(application) {
32
57
  super(application);
@@ -41,6 +66,11 @@ class ApiRouter extends base_1.BaseRouter {
41
66
  this.userController = new user_1.UserController(application, this.jwtService, this.userService, this.backupCodeService, this.roleService, this.eciesService);
42
67
  this.router.use('/user', this.userController.router);
43
68
  }
69
+ /**
70
+ * Registers all required services in the application service container.
71
+ * Services are registered as singletons and lazily instantiated.
72
+ * @private
73
+ */
44
74
  registerServices() {
45
75
  const app = this.application;
46
76
  if (!app.services.has(container_1.ServiceKeys.JWT)) {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/api.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,86 @@
1
+ /**
2
+ * @fileoverview Application router for serving React frontend and API routes.
3
+ * Handles static file serving, EJS template rendering, and catch-all routing.
4
+ * @module routers/app
5
+ */
1
6
  import { Application, NextFunction, Request, Response } from 'express';
2
7
  import { IApplication } from '../interfaces/application';
3
8
  import { BaseRouter } from './base';
4
9
  import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
5
10
  /**
6
- * Application router
7
- * Sets up the API and static file serving
11
+ * Application router for serving React frontend and API routes.
12
+ * Sets up static file serving, EJS template rendering, and catch-all routing for SPA.
13
+ * @template TID Platform-specific ID type
14
+ * @template TApplication Application instance type
8
15
  */
9
- export declare class AppRouter<I extends PlatformID = Buffer, TApplication extends IApplication<I> = IApplication<I>> {
16
+ export declare class AppRouter<TID extends PlatformID = Buffer, TApplication extends IApplication<TID> = IApplication<TID>> {
17
+ /** Path to EJS views directory */
10
18
  protected readonly viewsPath: string;
19
+ /** Path to index.html file */
11
20
  protected readonly indexPath: string;
21
+ /** Path to assets directory */
12
22
  protected readonly assetsDir: string;
23
+ /** Path to React distribution directory */
13
24
  protected readonly reactDistDir: string;
14
- protected readonly apiRouter: BaseRouter<I, TApplication>;
25
+ /** API router instance */
26
+ protected readonly apiRouter: BaseRouter<TID, TApplication>;
27
+ /** Application instance */
15
28
  protected readonly application: TApplication;
16
- constructor(apiRouter: BaseRouter<I, TApplication>);
29
+ /**
30
+ * Creates a new application router instance.
31
+ * Validates and resolves all paths to prevent directory traversal attacks.
32
+ * @param apiRouter API router instance to mount under /api
33
+ * @throws {TranslatableSuiteError} If paths contain invalid traversal sequences
34
+ */
35
+ constructor(apiRouter: BaseRouter<TID, TApplication>);
36
+ /**
37
+ * Gets the filename of an asset matching a pattern.
38
+ * @param assetDir Directory to search in
39
+ * @param pattern Regular expression pattern to match
40
+ * @returns Filename if found, undefined otherwise
41
+ */
17
42
  getAssetFilename(assetDir: string, pattern: RegExp): string | undefined;
43
+ /**
44
+ * Gets base view locals for EJS template rendering.
45
+ * Subclasses can override to add additional locals.
46
+ * @param req Express request
47
+ * @param res Express response
48
+ * @returns Object containing base template variables
49
+ */
18
50
  protected getBaseViewLocals(req: Request, res: Response): Record<string, unknown>;
51
+ /**
52
+ * Renders an EJS template with the provided locals.
53
+ * @param req Express request
54
+ * @param res Express response
55
+ * @param next Express next function
56
+ * @param template Template name to render
57
+ * @param locals Template variables
58
+ */
19
59
  protected renderTemplate(req: Request, res: Response, next: NextFunction, template: string, locals: Record<string, unknown>): void;
60
+ /**
61
+ * Creates a view renderer function for a specific template.
62
+ * @param template Template name to render
63
+ * @param localsFactory Optional function to generate additional locals
64
+ * @returns Express middleware function
65
+ */
20
66
  protected createViewRenderer(template: string, localsFactory?: (req: Request, res: Response) => Record<string, unknown>): (req: Request, res: Response, next: NextFunction) => void;
21
67
  /**
22
68
  * Override to register additional routes (e.g. other EJS pages) before the index catch-all.
69
+ * @param app Express application
23
70
  */
24
71
  protected registerAdditionalRenderHooks(app: Application): void;
72
+ /**
73
+ * Renders the index.html page with injected asset paths.
74
+ * @param req Express request
75
+ * @param res Express response
76
+ * @param next Express next function
77
+ */
25
78
  renderIndex(req: Request, res: Response, next: NextFunction): void;
26
79
  /**
27
- * Initialize the application router
80
+ * Initializes the application router with all routes and middleware.
81
+ * Sets up API routes, static file serving, and catch-all routing.
28
82
  * @param app Express application
29
- * @param debugRoutes Whether to log routes
83
+ * @throws {TranslatableGenericError} If index file not found or invalid paths
30
84
  */
31
85
  init(app: Application): void;
32
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/app.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,WAAW,EAEX,YAAY,EACZ,OAAO,EACP,QAAQ,EACT,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAOlE;;;GAGG;AACH,qBAAa,SAAS,CACpB,CAAC,SAAS,UAAU,GAAG,MAAM,EAC7B,YAAY,SAAS,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAEtD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAExC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAC1D,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;gBAEjC,SAAS,EAAE,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC;IAwD3C,gBAAgB,CACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS;IAmBrB,SAAS,CAAC,iBAAiB,CACzB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAwB1B,SAAS,CAAC,cAAc,CACtB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI;IA2CP,SAAS,CAAC,kBAAkB,CAC1B,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI;IAW5D;;OAEG;IACH,SAAS,CAAC,6BAA6B,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAIxD,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;IAgBzE;;;;OAIG;IACI,IAAI,CAAC,GAAG,EAAE,WAAW;CA+F7B"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/app.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,OAAO,EACL,WAAW,EAEX,YAAY,EACZ,OAAO,EACP,QAAQ,EACT,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAWlE;;;;;GAKG;AACH,qBAAa,SAAS,CACpB,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,YAAY,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC;IAE1D,kCAAkC;IAClC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,8BAA8B;IAC9B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,+BAA+B;IAC/B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,2CAA2C;IAC3C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAExC,0BAA0B;IAC1B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC5D,2BAA2B;IAC3B,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IAE7C;;;;;OAKG;gBACS,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC;IAwDpD;;;;;OAKG;IACI,gBAAgB,CACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS;IAkBrB;;;;;;OAMG;IACH,SAAS,CAAC,iBAAiB,CACzB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAwB1B;;;;;;;OAOG;IACH,SAAS,CAAC,cAAc,CACtB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI;IA2CP;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,CAC1B,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI;IAW5D;;;OAGG;IACH,SAAS,CAAC,6BAA6B,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAI/D;;;;;OAKG;IACI,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;IAgBzE;;;;;OAKG;IACI,IAAI,CAAC,GAAG,EAAE,WAAW;CA+F7B"}
@@ -1,4 +1,9 @@
1
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
+ */
2
7
  Object.defineProperty(exports, "__esModule", { value: true });
3
8
  exports.AppRouter = void 0;
4
9
  const tslib_1 = require("tslib");
@@ -9,21 +14,39 @@ const express_1 = require("express");
9
14
  const fs_1 = require("fs");
10
15
  const path_1 = require("path");
11
16
  const utils_1 = require("../utils");
17
+ /**
18
+ * Dummy function to ensure EJS is included in the bundle.
19
+ * @private
20
+ */
12
21
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
13
22
  function keepEJS() {
14
23
  ejs_1.default.compile(''); // Compile an empty string, doesn't generate anything meaningful
15
24
  }
16
25
  /**
17
- * Application router
18
- * Sets up the API and static file serving
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
19
30
  */
20
31
  class AppRouter {
32
+ /** Path to EJS views directory */
21
33
  viewsPath;
34
+ /** Path to index.html file */
22
35
  indexPath;
36
+ /** Path to assets directory */
23
37
  assetsDir;
38
+ /** Path to React distribution directory */
24
39
  reactDistDir;
40
+ /** API router instance */
25
41
  apiRouter;
42
+ /** Application instance */
26
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
+ */
27
50
  constructor(apiRouter) {
28
51
  this.application = apiRouter.application;
29
52
  this.apiRouter = apiRouter;
@@ -54,6 +77,12 @@ class AppRouter {
54
77
  }
55
78
  this.assetsDir = assetsPath;
56
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
+ */
57
86
  getAssetFilename(assetDir, pattern) {
58
87
  try {
59
88
  // Prevent path traversal by validating assetDir is within expected directory
@@ -71,7 +100,13 @@ class AppRouter {
71
100
  return undefined;
72
101
  }
73
102
  }
74
- // Allow subclasses to register additional catch-all handlers before rendering the index page.
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
+ */
75
110
  getBaseViewLocals(req, res) {
76
111
  const SiteName = this.application.constants.Site;
77
112
  const SiteTagline = this.application.constants.SiteTagline;
@@ -93,6 +128,14 @@ class AppRouter {
93
128
  siteTitle: SiteName,
94
129
  };
95
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
+ */
96
139
  renderTemplate(req, res, next, template, locals) {
97
140
  if (!/^[\w/-]+$/.test(template)) {
98
141
  next(new Error('Invalid template name requested'));
@@ -121,6 +164,12 @@ class AppRouter {
121
164
  res.send(html);
122
165
  });
123
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
+ */
124
173
  createViewRenderer(template, localsFactory) {
125
174
  return (req, res, next) => {
126
175
  const baseLocals = this.getBaseViewLocals(req, res);
@@ -133,10 +182,17 @@ class AppRouter {
133
182
  }
134
183
  /**
135
184
  * Override to register additional routes (e.g. other EJS pages) before the index catch-all.
185
+ * @param app Express application
136
186
  */
137
187
  registerAdditionalRenderHooks(app) {
138
188
  void app;
139
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
+ */
140
196
  renderIndex(req, res, next) {
141
197
  if (req.url.endsWith('.js')) {
142
198
  res.type('application/javascript');
@@ -151,9 +207,10 @@ class AppRouter {
151
207
  this.renderTemplate(req, res, next, 'index', locals);
152
208
  }
153
209
  /**
154
- * Initialize the application router
210
+ * Initializes the application router with all routes and middleware.
211
+ * Sets up API routes, static file serving, and catch-all routing.
155
212
  * @param app Express application
156
- * @param debugRoutes Whether to log routes
213
+ * @throws {TranslatableGenericError} If index file not found or invalid paths
157
214
  */
158
215
  init(app) {
159
216
  const reactDistHasDistSegment = this.reactDistDir
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/app.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,26 @@
1
+ /**
2
+ * @fileoverview Base router class providing common router functionality.
3
+ * All routers extend this class to access application context and Express router.
4
+ * @module routers/base
5
+ */
1
6
  import { Router } from 'express';
2
7
  import { IApplication } from '../interfaces/application';
3
8
  import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
9
+ /**
10
+ * Abstract base class for all routers in the application.
11
+ * Provides access to the Express router and application instance.
12
+ * @template TID Platform-specific ID type (Buffer, ObjectId, etc.)
13
+ * @template TApplication Application instance type
14
+ */
4
15
  export declare abstract class BaseRouter<TID extends PlatformID = Buffer, TApplication extends IApplication<TID> = IApplication<TID>> {
16
+ /** Express router instance for registering routes */
5
17
  readonly router: Router;
18
+ /** Application instance providing access to services and configuration */
6
19
  readonly application: TApplication;
20
+ /**
21
+ * Creates a new base router instance.
22
+ * @param application Application instance
23
+ */
7
24
  protected constructor(application: TApplication);
8
25
  }
9
26
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/base.ts"],"names":[],"mappings":"AAAA,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,8BAAsB,UAAU,CAC9B,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,YAAY,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC;IAE1D,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,WAAW,EAAE,YAAY,CAAC;IAC1C,SAAS,aAAa,WAAW,EAAE,YAAY;CAIhD"}
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"}
@@ -1,10 +1,27 @@
1
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
+ */
2
7
  Object.defineProperty(exports, "__esModule", { value: true });
3
8
  exports.BaseRouter = void 0;
4
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
+ */
5
16
  class BaseRouter {
17
+ /** Express router instance for registering routes */
6
18
  router;
19
+ /** Application instance providing access to services and configuration */
7
20
  application;
21
+ /**
22
+ * Creates a new base router instance.
23
+ * @param application Application instance
24
+ */
8
25
  constructor(application) {
9
26
  this.application = application;
10
27
  this.router = (0, express_1.Router)();
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/base.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAIjC,MAAsB,UAAU;IAId,MAAM,CAAS;IACf,WAAW,CAAe;IAC1C,YAAsB,WAAyB;QAC7C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IACzB,CAAC;CACF;AAVD,gCAUC"}
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,18 +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
+ */
1
6
  import { RequestHandler } from 'express';
7
+ /**
8
+ * Configuration interface for router setup.
9
+ */
2
10
  export interface RouterConfig {
11
+ /** Array of static path configurations with prefix and directory */
3
12
  staticPaths?: Array<{
4
13
  prefix: string;
5
14
  directory: string;
6
15
  }>;
16
+ /** View engine configuration with name and views path */
7
17
  viewEngine?: {
8
18
  name: string;
9
19
  viewsPath: string;
10
20
  };
21
+ /** Array of middleware functions to apply */
11
22
  middleware?: RequestHandler[];
23
+ /** CORS configuration options */
12
24
  cors?: {
25
+ /** Allowed origin(s) for CORS */
13
26
  origin?: string | string[];
27
+ /** Whether to allow credentials */
14
28
  credentials?: boolean;
15
29
  };
16
30
  }
31
+ /**
32
+ * Default router configuration with empty arrays.
33
+ */
17
34
  export declare const DefaultRouterConfig: RouterConfig;
18
35
  //# sourceMappingURL=router-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router-config.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/router-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AAED,eAAO,MAAM,mBAAmB,EAAE,YAGjC,CAAC"}
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"}
@@ -1,6 +1,14 @@
1
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
+ */
2
7
  Object.defineProperty(exports, "__esModule", { value: true });
3
8
  exports.DefaultRouterConfig = void 0;
9
+ /**
10
+ * Default router configuration with empty arrays.
11
+ */
4
12
  exports.DefaultRouterConfig = {
5
13
  staticPaths: [],
6
14
  middleware: [],
@@ -1 +1 @@
1
- {"version":3,"file":"router-config.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/router-config.ts"],"names":[],"mappings":";;;AAYa,QAAA,mBAAmB,GAAiB;IAC/C,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,EAAE;CACf,CAAC"}
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"}