@digitaldefiance/node-express-suite 4.22.2 → 4.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/README.md +173 -407
  2. package/package.json +1 -5
  3. package/src/__tests__/fixtures/index.d.ts +1 -1
  4. package/src/__tests__/fixtures/index.d.ts.map +1 -1
  5. package/src/__tests__/fixtures/index.js +1 -2
  6. package/src/__tests__/fixtures/index.js.map +1 -1
  7. package/src/__tests__/helpers/index.d.ts +1 -3
  8. package/src/__tests__/helpers/index.d.ts.map +1 -1
  9. package/src/__tests__/helpers/index.js +1 -4
  10. package/src/__tests__/helpers/index.js.map +1 -1
  11. package/src/__tests__/index.d.ts.map +1 -1
  12. package/src/__tests__/index.js +1 -0
  13. package/src/__tests__/index.js.map +1 -1
  14. package/src/application.d.ts +8 -11
  15. package/src/application.d.ts.map +1 -1
  16. package/src/application.js +8 -17
  17. package/src/application.js.map +1 -1
  18. package/src/branded-responses/branded-api-responses.d.ts +10 -2
  19. package/src/branded-responses/branded-api-responses.d.ts.map +1 -1
  20. package/src/branded-responses/branded-api-responses.js +5 -0
  21. package/src/branded-responses/branded-api-responses.js.map +1 -1
  22. package/src/branded-responses/serializers.d.ts +4 -1
  23. package/src/branded-responses/serializers.d.ts.map +1 -1
  24. package/src/builders/index.d.ts +1 -1
  25. package/src/builders/index.d.ts.map +1 -1
  26. package/src/builders/index.js +1 -2
  27. package/src/builders/index.js.map +1 -1
  28. package/src/controllers/base.d.ts +5 -18
  29. package/src/controllers/base.d.ts.map +1 -1
  30. package/src/controllers/base.js +7 -62
  31. package/src/controllers/base.js.map +1 -1
  32. package/src/controllers/index.d.ts +1 -1
  33. package/src/controllers/index.d.ts.map +1 -1
  34. package/src/controllers/index.js +2 -1
  35. package/src/controllers/index.js.map +1 -1
  36. package/src/controllers/openapi.d.ts +3 -3
  37. package/src/controllers/openapi.d.ts.map +1 -1
  38. package/src/controllers/openapi.js.map +1 -1
  39. package/src/enumerations/index.d.ts +0 -2
  40. package/src/enumerations/index.d.ts.map +1 -1
  41. package/src/enumerations/index.js +0 -2
  42. package/src/enumerations/index.js.map +1 -1
  43. package/src/environment.d.ts +4 -3
  44. package/src/environment.d.ts.map +1 -1
  45. package/src/environment.js +3 -1
  46. package/src/environment.js.map +1 -1
  47. package/src/errors/index.d.ts +0 -3
  48. package/src/errors/index.d.ts.map +1 -1
  49. package/src/errors/index.js +0 -3
  50. package/src/errors/index.js.map +1 -1
  51. package/src/index.d.ts +1 -8
  52. package/src/index.d.ts.map +1 -1
  53. package/src/index.js +1 -11
  54. package/src/index.js.map +1 -1
  55. package/src/interfaces/controller-config.d.ts +1 -2
  56. package/src/interfaces/controller-config.d.ts.map +1 -1
  57. package/src/interfaces/document-store.d.ts +3 -2
  58. package/src/interfaces/document-store.d.ts.map +1 -1
  59. package/src/interfaces/document-store.js +3 -3
  60. package/src/interfaces/document-store.js.map +1 -1
  61. package/src/interfaces/environment.d.ts +3 -2
  62. package/src/interfaces/environment.d.ts.map +1 -1
  63. package/src/interfaces/index.d.ts +0 -11
  64. package/src/interfaces/index.d.ts.map +1 -1
  65. package/src/interfaces/index.js +0 -11
  66. package/src/interfaces/index.js.map +1 -1
  67. package/src/plugins/database-plugin.d.ts +12 -0
  68. package/src/plugins/database-plugin.d.ts.map +1 -1
  69. package/src/plugins/index.d.ts +0 -1
  70. package/src/plugins/index.d.ts.map +1 -1
  71. package/src/plugins/index.js +0 -1
  72. package/src/plugins/index.js.map +1 -1
  73. package/src/routers/index.d.ts +0 -1
  74. package/src/routers/index.d.ts.map +1 -1
  75. package/src/routers/index.js +0 -1
  76. package/src/routers/index.js.map +1 -1
  77. package/src/services/base.d.ts +10 -13
  78. package/src/services/base.d.ts.map +1 -1
  79. package/src/services/base.js +7 -21
  80. package/src/services/base.js.map +1 -1
  81. package/src/services/index.d.ts +0 -15
  82. package/src/services/index.d.ts.map +1 -1
  83. package/src/services/index.js +0 -15
  84. package/src/services/index.js.map +1 -1
  85. package/src/testing.d.ts +1 -1
  86. package/src/testing.d.ts.map +1 -1
  87. package/src/testing.js +1 -1
  88. package/src/testing.js.map +1 -1
  89. package/src/types.d.ts +6 -17
  90. package/src/types.d.ts.map +1 -1
  91. package/src/types.js.map +1 -1
  92. package/src/utils.d.ts +5 -34
  93. package/src/utils.d.ts.map +1 -1
  94. package/src/utils.js +24 -165
  95. package/src/utils.js.map +1 -1
  96. package/src/__tests__/fixtures/model-mocks.mock.d.ts +0 -12
  97. package/src/__tests__/fixtures/model-mocks.mock.d.ts.map +0 -1
  98. package/src/__tests__/fixtures/model-mocks.mock.js +0 -102
  99. package/src/__tests__/fixtures/model-mocks.mock.js.map +0 -1
  100. package/src/__tests__/helpers/application.mock.d.ts +0 -8
  101. package/src/__tests__/helpers/application.mock.d.ts.map +0 -1
  102. package/src/__tests__/helpers/application.mock.js +0 -85
  103. package/src/__tests__/helpers/application.mock.js.map +0 -1
  104. package/src/__tests__/helpers/setup-test-env.d.ts +0 -13
  105. package/src/__tests__/helpers/setup-test-env.d.ts.map +0 -1
  106. package/src/__tests__/helpers/setup-test-env.js +0 -133
  107. package/src/__tests__/helpers/setup-test-env.js.map +0 -1
  108. package/src/builders/application-builder.d.ts +0 -53
  109. package/src/builders/application-builder.d.ts.map +0 -1
  110. package/src/builders/application-builder.js +0 -91
  111. package/src/builders/application-builder.js.map +0 -1
  112. package/src/controllers/user.d.ts +0 -66
  113. package/src/controllers/user.d.ts.map +0 -1
  114. package/src/controllers/user.js +0 -949
  115. package/src/controllers/user.js.map +0 -1
  116. package/src/documents/base.d.ts +0 -15
  117. package/src/documents/base.d.ts.map +0 -1
  118. package/src/documents/base.js +0 -8
  119. package/src/documents/base.js.map +0 -1
  120. package/src/documents/email-token.d.ts +0 -15
  121. package/src/documents/email-token.d.ts.map +0 -1
  122. package/src/documents/email-token.js +0 -8
  123. package/src/documents/email-token.js.map +0 -1
  124. package/src/documents/index.d.ts +0 -8
  125. package/src/documents/index.d.ts.map +0 -1
  126. package/src/documents/index.js +0 -3
  127. package/src/documents/index.js.map +0 -1
  128. package/src/documents/mnemonic.d.ts +0 -16
  129. package/src/documents/mnemonic.d.ts.map +0 -1
  130. package/src/documents/mnemonic.js +0 -8
  131. package/src/documents/mnemonic.js.map +0 -1
  132. package/src/documents/role.d.ts +0 -15
  133. package/src/documents/role.d.ts.map +0 -1
  134. package/src/documents/role.js +0 -8
  135. package/src/documents/role.js.map +0 -1
  136. package/src/documents/used-direct-login-token.d.ts +0 -16
  137. package/src/documents/used-direct-login-token.d.ts.map +0 -1
  138. package/src/documents/used-direct-login-token.js +0 -8
  139. package/src/documents/used-direct-login-token.js.map +0 -1
  140. package/src/documents/user-role.d.ts +0 -16
  141. package/src/documents/user-role.d.ts.map +0 -1
  142. package/src/documents/user-role.js +0 -8
  143. package/src/documents/user-role.js.map +0 -1
  144. package/src/documents/user.d.ts +0 -16
  145. package/src/documents/user.d.ts.map +0 -1
  146. package/src/documents/user.js +0 -8
  147. package/src/documents/user.js.map +0 -1
  148. package/src/enumerations/base-model-name.d.ts +0 -43
  149. package/src/enumerations/base-model-name.d.ts.map +0 -1
  150. package/src/enumerations/base-model-name.js +0 -39
  151. package/src/enumerations/base-model-name.js.map +0 -1
  152. package/src/enumerations/schema-collection.d.ts +0 -39
  153. package/src/enumerations/schema-collection.d.ts.map +0 -1
  154. package/src/enumerations/schema-collection.js +0 -43
  155. package/src/enumerations/schema-collection.js.map +0 -1
  156. package/src/errors/invalid-model.d.ts +0 -18
  157. package/src/errors/invalid-model.d.ts.map +0 -1
  158. package/src/errors/invalid-model.js +0 -26
  159. package/src/errors/invalid-model.js.map +0 -1
  160. package/src/errors/model-not-registered.d.ts +0 -18
  161. package/src/errors/model-not-registered.d.ts.map +0 -1
  162. package/src/errors/model-not-registered.js +0 -26
  163. package/src/errors/model-not-registered.js.map +0 -1
  164. package/src/errors/mongoose-validation.d.ts +0 -28
  165. package/src/errors/mongoose-validation.d.ts.map +0 -1
  166. package/src/errors/mongoose-validation.js +0 -33
  167. package/src/errors/mongoose-validation.js.map +0 -1
  168. package/src/interfaces/api-mongo-validation-error-response.d.ts +0 -16
  169. package/src/interfaces/api-mongo-validation-error-response.d.ts.map +0 -1
  170. package/src/interfaces/api-mongo-validation-error-response.js +0 -8
  171. package/src/interfaces/api-mongo-validation-error-response.js.map +0 -1
  172. package/src/interfaces/database-init-result-tx.d.ts +0 -27
  173. package/src/interfaces/database-init-result-tx.d.ts.map +0 -1
  174. package/src/interfaces/database-init-result-tx.js +0 -3
  175. package/src/interfaces/database-init-result-tx.js.map +0 -1
  176. package/src/interfaces/db-init-result.d.ts +0 -16
  177. package/src/interfaces/db-init-result.d.ts.map +0 -1
  178. package/src/interfaces/db-init-result.js +0 -8
  179. package/src/interfaces/db-init-result.js.map +0 -1
  180. package/src/interfaces/discriminator-collections.d.ts +0 -17
  181. package/src/interfaces/discriminator-collections.d.ts.map +0 -1
  182. package/src/interfaces/discriminator-collections.js +0 -8
  183. package/src/interfaces/discriminator-collections.js.map +0 -1
  184. package/src/interfaces/environment-mongo.d.ts +0 -86
  185. package/src/interfaces/environment-mongo.d.ts.map +0 -1
  186. package/src/interfaces/environment-mongo.js +0 -8
  187. package/src/interfaces/environment-mongo.js.map +0 -1
  188. package/src/interfaces/models/email-token.d.ts +0 -12
  189. package/src/interfaces/models/email-token.d.ts.map +0 -1
  190. package/src/interfaces/models/email-token.js +0 -8
  191. package/src/interfaces/models/email-token.js.map +0 -1
  192. package/src/interfaces/models/index.d.ts +0 -8
  193. package/src/interfaces/models/index.d.ts.map +0 -1
  194. package/src/interfaces/models/index.js +0 -11
  195. package/src/interfaces/models/index.js.map +0 -1
  196. package/src/interfaces/models/mnemonic.d.ts +0 -13
  197. package/src/interfaces/models/mnemonic.d.ts.map +0 -1
  198. package/src/interfaces/models/mnemonic.js +0 -8
  199. package/src/interfaces/models/mnemonic.js.map +0 -1
  200. package/src/interfaces/models/role.d.ts +0 -12
  201. package/src/interfaces/models/role.d.ts.map +0 -1
  202. package/src/interfaces/models/role.js +0 -8
  203. package/src/interfaces/models/role.js.map +0 -1
  204. package/src/interfaces/models/token-role.d.ts +0 -19
  205. package/src/interfaces/models/token-role.d.ts.map +0 -1
  206. package/src/interfaces/models/token-role.js +0 -8
  207. package/src/interfaces/models/token-role.js.map +0 -1
  208. package/src/interfaces/models/used-direct-login-token.d.ts +0 -19
  209. package/src/interfaces/models/used-direct-login-token.d.ts.map +0 -1
  210. package/src/interfaces/models/used-direct-login-token.js +0 -8
  211. package/src/interfaces/models/used-direct-login-token.js.map +0 -1
  212. package/src/interfaces/models/user-role.d.ts +0 -19
  213. package/src/interfaces/models/user-role.d.ts.map +0 -1
  214. package/src/interfaces/models/user-role.js +0 -8
  215. package/src/interfaces/models/user-role.js.map +0 -1
  216. package/src/interfaces/models/user.d.ts +0 -21
  217. package/src/interfaces/models/user.d.ts.map +0 -1
  218. package/src/interfaces/models/user.js +0 -8
  219. package/src/interfaces/models/user.js.map +0 -1
  220. package/src/interfaces/mongo-application.d.ts +0 -35
  221. package/src/interfaces/mongo-application.d.ts.map +0 -1
  222. package/src/interfaces/mongo-application.js +0 -10
  223. package/src/interfaces/mongo-application.js.map +0 -1
  224. package/src/interfaces/mongo-errors.d.ts +0 -13
  225. package/src/interfaces/mongo-errors.d.ts.map +0 -1
  226. package/src/interfaces/mongo-errors.js +0 -8
  227. package/src/interfaces/mongo-errors.js.map +0 -1
  228. package/src/interfaces/mongoose-document-store.d.ts +0 -42
  229. package/src/interfaces/mongoose-document-store.d.ts.map +0 -1
  230. package/src/interfaces/mongoose-document-store.js +0 -10
  231. package/src/interfaces/mongoose-document-store.js.map +0 -1
  232. package/src/interfaces/schema.d.ts +0 -37
  233. package/src/interfaces/schema.d.ts.map +0 -1
  234. package/src/interfaces/schema.js +0 -8
  235. package/src/interfaces/schema.js.map +0 -1
  236. package/src/interfaces/server-init-result.d.ts +0 -45
  237. package/src/interfaces/server-init-result.d.ts.map +0 -1
  238. package/src/interfaces/server-init-result.js +0 -8
  239. package/src/interfaces/server-init-result.js.map +0 -1
  240. package/src/interfaces/test-environment.d.ts +0 -22
  241. package/src/interfaces/test-environment.d.ts.map +0 -1
  242. package/src/interfaces/test-environment.js +0 -8
  243. package/src/interfaces/test-environment.js.map +0 -1
  244. package/src/model-registry.d.ts +0 -79
  245. package/src/model-registry.d.ts.map +0 -1
  246. package/src/model-registry.js +0 -97
  247. package/src/model-registry.js.map +0 -1
  248. package/src/models/email-token.d.ts +0 -24
  249. package/src/models/email-token.d.ts.map +0 -1
  250. package/src/models/email-token.js +0 -16
  251. package/src/models/email-token.js.map +0 -1
  252. package/src/models/index.d.ts +0 -7
  253. package/src/models/index.d.ts.map +0 -1
  254. package/src/models/index.js +0 -10
  255. package/src/models/index.js.map +0 -1
  256. package/src/models/mnemonic.d.ts +0 -24
  257. package/src/models/mnemonic.d.ts.map +0 -1
  258. package/src/models/mnemonic.js +0 -27
  259. package/src/models/mnemonic.js.map +0 -1
  260. package/src/models/role.d.ts +0 -24
  261. package/src/models/role.d.ts.map +0 -1
  262. package/src/models/role.js +0 -27
  263. package/src/models/role.js.map +0 -1
  264. package/src/models/used-direct-login-token.d.ts +0 -24
  265. package/src/models/used-direct-login-token.d.ts.map +0 -1
  266. package/src/models/used-direct-login-token.js +0 -16
  267. package/src/models/used-direct-login-token.js.map +0 -1
  268. package/src/models/user-role.d.ts +0 -23
  269. package/src/models/user-role.d.ts.map +0 -1
  270. package/src/models/user-role.js +0 -26
  271. package/src/models/user-role.js.map +0 -1
  272. package/src/models/user.d.ts +0 -24
  273. package/src/models/user.d.ts.map +0 -1
  274. package/src/models/user.js +0 -27
  275. package/src/models/user.js.map +0 -1
  276. package/src/mongo-application-concrete.d.ts +0 -32
  277. package/src/mongo-application-concrete.d.ts.map +0 -1
  278. package/src/mongo-application-concrete.js +0 -49
  279. package/src/mongo-application-concrete.js.map +0 -1
  280. package/src/plugins/mongo-database-plugin.d.ts +0 -115
  281. package/src/plugins/mongo-database-plugin.d.ts.map +0 -1
  282. package/src/plugins/mongo-database-plugin.js +0 -234
  283. package/src/plugins/mongo-database-plugin.js.map +0 -1
  284. package/src/routers/api.d.ts +0 -60
  285. package/src/routers/api.d.ts.map +0 -1
  286. package/src/routers/api.js +0 -116
  287. package/src/routers/api.js.map +0 -1
  288. package/src/schemas/email-token.d.ts +0 -65
  289. package/src/schemas/email-token.d.ts.map +0 -1
  290. package/src/schemas/email-token.js +0 -68
  291. package/src/schemas/email-token.js.map +0 -1
  292. package/src/schemas/index.d.ts +0 -8
  293. package/src/schemas/index.d.ts.map +0 -1
  294. package/src/schemas/index.js +0 -11
  295. package/src/schemas/index.js.map +0 -1
  296. package/src/schemas/mnemonic.d.ts +0 -37
  297. package/src/schemas/mnemonic.d.ts.map +0 -1
  298. package/src/schemas/mnemonic.js +0 -41
  299. package/src/schemas/mnemonic.js.map +0 -1
  300. package/src/schemas/role.d.ts +0 -57
  301. package/src/schemas/role.d.ts.map +0 -1
  302. package/src/schemas/role.js +0 -102
  303. package/src/schemas/role.js.map +0 -1
  304. package/src/schemas/schema.d.ts +0 -62
  305. package/src/schemas/schema.d.ts.map +0 -1
  306. package/src/schemas/schema.js +0 -81
  307. package/src/schemas/schema.js.map +0 -1
  308. package/src/schemas/used-direct-login-token.d.ts +0 -49
  309. package/src/schemas/used-direct-login-token.d.ts.map +0 -1
  310. package/src/schemas/used-direct-login-token.js +0 -35
  311. package/src/schemas/used-direct-login-token.js.map +0 -1
  312. package/src/schemas/user-role.d.ts +0 -52
  313. package/src/schemas/user-role.d.ts.map +0 -1
  314. package/src/schemas/user-role.js +0 -67
  315. package/src/schemas/user-role.js.map +0 -1
  316. package/src/schemas/user.d.ts +0 -43
  317. package/src/schemas/user.d.ts.map +0 -1
  318. package/src/schemas/user.js +0 -214
  319. package/src/schemas/user.js.map +0 -1
  320. package/src/services/backup-code.d.ts +0 -120
  321. package/src/services/backup-code.d.ts.map +0 -1
  322. package/src/services/backup-code.js +0 -323
  323. package/src/services/backup-code.js.map +0 -1
  324. package/src/services/database-initialization.d.ts +0 -138
  325. package/src/services/database-initialization.d.ts.map +0 -1
  326. package/src/services/database-initialization.js +0 -913
  327. package/src/services/database-initialization.js.map +0 -1
  328. package/src/services/db-init-cache.d.ts +0 -18
  329. package/src/services/db-init-cache.d.ts.map +0 -1
  330. package/src/services/db-init-cache.js +0 -7
  331. package/src/services/db-init-cache.js.map +0 -1
  332. package/src/services/direct-login-token.d.ts +0 -28
  333. package/src/services/direct-login-token.d.ts.map +0 -1
  334. package/src/services/direct-login-token.js +0 -62
  335. package/src/services/direct-login-token.js.map +0 -1
  336. package/src/services/jwt.d.ts +0 -45
  337. package/src/services/jwt.d.ts.map +0 -1
  338. package/src/services/jwt.js +0 -105
  339. package/src/services/jwt.js.map +0 -1
  340. package/src/services/mnemonic.d.ts +0 -68
  341. package/src/services/mnemonic.d.ts.map +0 -1
  342. package/src/services/mnemonic.js +0 -120
  343. package/src/services/mnemonic.js.map +0 -1
  344. package/src/services/mongo-authentication-provider.d.ts +0 -27
  345. package/src/services/mongo-authentication-provider.d.ts.map +0 -1
  346. package/src/services/mongo-authentication-provider.js +0 -84
  347. package/src/services/mongo-authentication-provider.js.map +0 -1
  348. package/src/services/mongo-backup-code-store.d.ts +0 -40
  349. package/src/services/mongo-backup-code-store.d.ts.map +0 -1
  350. package/src/services/mongo-backup-code-store.js +0 -104
  351. package/src/services/mongo-backup-code-store.js.map +0 -1
  352. package/src/services/mongo-base.d.ts +0 -24
  353. package/src/services/mongo-base.d.ts.map +0 -1
  354. package/src/services/mongo-base.js +0 -28
  355. package/src/services/mongo-base.js.map +0 -1
  356. package/src/services/mongoose-collection.d.ts +0 -52
  357. package/src/services/mongoose-collection.d.ts.map +0 -1
  358. package/src/services/mongoose-collection.js +0 -326
  359. package/src/services/mongoose-collection.js.map +0 -1
  360. package/src/services/mongoose-database.d.ts +0 -64
  361. package/src/services/mongoose-database.d.ts.map +0 -1
  362. package/src/services/mongoose-database.js +0 -121
  363. package/src/services/mongoose-database.js.map +0 -1
  364. package/src/services/mongoose-document-store.d.ts +0 -109
  365. package/src/services/mongoose-document-store.d.ts.map +0 -1
  366. package/src/services/mongoose-document-store.js +0 -264
  367. package/src/services/mongoose-document-store.js.map +0 -1
  368. package/src/services/mongoose-session-adapter.d.ts +0 -39
  369. package/src/services/mongoose-session-adapter.d.ts.map +0 -1
  370. package/src/services/mongoose-session-adapter.js +0 -63
  371. package/src/services/mongoose-session-adapter.js.map +0 -1
  372. package/src/services/request-user.d.ts +0 -45
  373. package/src/services/request-user.d.ts.map +0 -1
  374. package/src/services/request-user.js +0 -90
  375. package/src/services/request-user.js.map +0 -1
  376. package/src/services/role.d.ts +0 -97
  377. package/src/services/role.d.ts.map +0 -1
  378. package/src/services/role.js +0 -289
  379. package/src/services/role.js.map +0 -1
  380. package/src/services/user.d.ts +0 -368
  381. package/src/services/user.d.ts.map +0 -1
  382. package/src/services/user.js +0 -1495
  383. package/src/services/user.js.map +0 -1
  384. package/src/transactions/index.d.ts +0 -2
  385. package/src/transactions/index.d.ts.map +0 -1
  386. package/src/transactions/index.js +0 -5
  387. package/src/transactions/index.js.map +0 -1
  388. package/src/transactions/transaction-manager.d.ts +0 -37
  389. package/src/transactions/transaction-manager.d.ts.map +0 -1
  390. package/src/transactions/transaction-manager.js +0 -50
  391. package/src/transactions/transaction-manager.js.map +0 -1
  392. package/src/types/mongoose-helpers.d.ts +0 -16
  393. package/src/types/mongoose-helpers.d.ts.map +0 -1
  394. package/src/types/mongoose-helpers.js +0 -8
  395. package/src/types/mongoose-helpers.js.map +0 -1
  396. package/src/utils/default-mongo-uri-validator.d.ts +0 -15
  397. package/src/utils/default-mongo-uri-validator.d.ts.map +0 -1
  398. package/src/utils/default-mongo-uri-validator.js +0 -46
  399. package/src/utils/default-mongo-uri-validator.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"database-initialization.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/database-initialization.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- /**
2
- * @fileoverview Global type declarations for database initialization member caching.
3
- * @module services/db-init-cache
4
- */
5
- import type { SecureString } from '@digitaldefiance/ecies-lib';
6
- import type { Member as BackendMember, PlatformID } from '@digitaldefiance/node-ecies-lib';
7
- /**
8
- * Global member cache for database initialization.
9
- * Stores Member instances and their associated mnemonics to avoid recreating them during tests.
10
- */
11
- declare global {
12
- var __MEMBER_CACHE__: Map<string, {
13
- member: BackendMember<PlatformID>;
14
- mnemonic: SecureString;
15
- }> | undefined;
16
- }
17
- export {};
18
- //# sourceMappingURL=db-init-cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"db-init-cache.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/db-init-cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EACV,MAAM,IAAI,aAAa,EACvB,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC;;;GAGG;AACH,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,gBAAgB,EAChB,GAAG,CACD,MAAM,EACN;QACE,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QAClC,QAAQ,EAAE,YAAY,CAAC;KACxB,CACF,GACD,SAAS,CAAC;CACf;AAED,OAAO,EAAE,CAAC"}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Global type declarations for database initialization member caching.
4
- * @module services/db-init-cache
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- //# sourceMappingURL=db-init-cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"db-init-cache.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/db-init-cache.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -1,28 +0,0 @@
1
- /**
2
- * @fileoverview Service for managing direct login token usage and preventing token reuse.
3
- * Tracks used tokens in the database to ensure one-time use security.
4
- * @module services/direct-login-token
5
- */
6
- import { ClientSession } from '@digitaldefiance/mongoose-types';
7
- import { IMongoApplication } from '../interfaces/mongo-application';
8
- import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
9
- /**
10
- * Service for managing direct login token usage.
11
- * Ensures tokens can only be used once by tracking them in the database.
12
- */
13
- export declare abstract class DirectLoginTokenService {
14
- /**
15
- * Marks a direct login token as used in the database.
16
- * Prevents token reuse by checking for existing usage and creating a new record.
17
- * @template TID Platform-specific ID type
18
- * @param app Application instance with database connection
19
- * @param userId User ID associated with the token
20
- * @param token Direct login token to mark as used
21
- * @param session Optional MongoDB session for transaction support
22
- * @returns Promise that resolves when token is successfully marked as used
23
- * @throws {DirectTokenUsedError} If token has already been used
24
- * @throws {FailedToUseDirectTokenError} If token creation fails
25
- */
26
- static useToken<TID extends PlatformID = Buffer>(app: IMongoApplication<TID>, userId: TID, token: string, session?: ClientSession): Promise<void>;
27
- }
28
- //# sourceMappingURL=direct-login-token.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"direct-login-token.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/direct-login-token.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAOhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;GAGG;AACH,8BAAsB,uBAAuB;IAC3C;;;;;;;;;;;OAWG;WACiB,QAAQ,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM,EAC1D,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAC3B,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC;CA0CjB"}
@@ -1,62 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Service for managing direct login token usage and preventing token reuse.
4
- * Tracks used tokens in the database to ensure one-time use security.
5
- * @module services/direct-login-token
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.DirectLoginTokenService = void 0;
9
- const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
10
- const base_model_name_1 = require("../enumerations/base-model-name");
11
- const model_registry_1 = require("../model-registry");
12
- const utils_1 = require("../utils");
13
- /**
14
- * Service for managing direct login token usage.
15
- * Ensures tokens can only be used once by tracking them in the database.
16
- */
17
- class DirectLoginTokenService {
18
- /**
19
- * Marks a direct login token as used in the database.
20
- * Prevents token reuse by checking for existing usage and creating a new record.
21
- * @template TID Platform-specific ID type
22
- * @param app Application instance with database connection
23
- * @param userId User ID associated with the token
24
- * @param token Direct login token to mark as used
25
- * @param session Optional MongoDB session for transaction support
26
- * @returns Promise that resolves when token is successfully marked as used
27
- * @throws {DirectTokenUsedError} If token has already been used
28
- * @throws {FailedToUseDirectTokenError} If token creation fails
29
- */
30
- static async useToken(app, userId, token, session) {
31
- return (0, utils_1.withTransaction)(app.db.connection, app.environment.mongo.useTransactions, session, async (sess) => {
32
- const UsedDirectLoginTokenModel = model_registry_1.ModelRegistry.instance.get(base_model_name_1.BaseModelName.UsedDirectLoginToken).model;
33
- const tokenExists = await UsedDirectLoginTokenModel.exists({
34
- userId,
35
- token,
36
- }).session(sess ?? null);
37
- if (tokenExists) {
38
- throw new suite_core_lib_1.DirectTokenUsedError();
39
- }
40
- try {
41
- const newTokens = await UsedDirectLoginTokenModel.create([{ userId, token }], {
42
- session: sess,
43
- });
44
- if (newTokens.length !== 1) {
45
- throw new suite_core_lib_1.FailedToUseDirectTokenError();
46
- }
47
- }
48
- catch (err) {
49
- // re-throw FailedToUseDirectTokenError
50
- if (err instanceof suite_core_lib_1.FailedToUseDirectTokenError) {
51
- throw err;
52
- }
53
- // throw FailedToUseDirectTokenError on duplicate key error or other errors
54
- throw new suite_core_lib_1.FailedToUseDirectTokenError();
55
- }
56
- }, {
57
- timeoutMs: app.environment.mongo.transactionTimeout,
58
- });
59
- }
60
- }
61
- exports.DirectLoginTokenService = DirectLoginTokenService;
62
- //# sourceMappingURL=direct-login-token.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"direct-login-token.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/direct-login-token.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,oEAIyC;AACzC,qEAAgE;AAEhE,sDAAkD;AAClD,oCAA2C;AAG3C;;;GAGG;AACH,MAAsB,uBAAuB;IAC3C;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAC1B,GAA2B,EAC3B,MAAW,EACX,KAAa,EACb,OAAuB;QAEvB,OAAO,IAAA,uBAAe,EACpB,GAAG,CAAC,EAAE,CAAC,UAAU,EACjB,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,EACrC,OAAO,EACP,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,yBAAyB,GAAG,8BAAa,CAAC,QAAQ,CAAC,GAAG,CAI1D,+BAAa,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC;YAC5C,MAAM,WAAW,GAAG,MAAM,yBAAyB,CAAC,MAAM,CAAC;gBACzD,MAAM;gBACN,KAAK;aACN,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;YACzB,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,IAAI,qCAAoB,EAAE,CAAC;YACnC,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,MAAM,CACtD,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EACnB;oBACE,OAAO,EAAE,IAAI;iBACd,CACF,CAAC;gBACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,4CAA2B,EAAE,CAAC;gBAC1C,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,uCAAuC;gBACvC,IAAI,GAAG,YAAY,4CAA2B,EAAE,CAAC;oBAC/C,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,2EAA2E;gBAC3E,MAAM,IAAI,4CAA2B,EAAE,CAAC;YAC1C,CAAC;QACH,CAAC,EACD;YACE,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,kBAAkB;SACpD,CACF,CAAC;IACJ,CAAC;CACF;AA5DD,0DA4DC"}
@@ -1,45 +0,0 @@
1
- /**
2
- * @fileoverview JWT token service for authentication and authorization.
3
- * Handles JWT token generation, signing, and verification with role-based access control.
4
- * @module services/jwt
5
- */
6
- import { ITokenRole, ITokenUser } from '@digitaldefiance/suite-core-lib';
7
- import { UserDocument } from '../documents/user';
8
- import { IApplication } from '../interfaces/application';
9
- import { IJwtSignResponse } from '../interfaces/jwt-sign-response';
10
- import { BaseService } from './base';
11
- import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
12
- /**
13
- * Service for JWT token operations including generation, signing, and verification.
14
- * Integrates with role service to embed user roles in JWT tokens.
15
- * @template TID - Platform ID type (defaults to Buffer)
16
- * @template TDate - Date type (defaults to Date)
17
- * @template TTokenRole - Token role interface type
18
- * @template TTokenUser - Token user interface type
19
- * @template TApplication - Application interface type
20
- * @extends {BaseService<TID, TApplication>}
21
- */
22
- export declare class JwtService<TID extends PlatformID = Buffer, TDate extends Date = Date, TTokenRole extends ITokenRole<TID, TDate> = ITokenRole<TID, TDate>, TTokenUser extends ITokenUser = ITokenUser, TApplication extends IApplication<TID> = IApplication<TID>> extends BaseService<TID, TApplication> {
23
- private readonly roleService;
24
- /**
25
- * Constructor for the JWT service
26
- * @param application The application object
27
- */
28
- constructor(application: TApplication);
29
- /**
30
- * Sign a JWT token for a user
31
- * @param userDoc The user document to sign the token for
32
- * @param jwtSecret The secret to sign the token with
33
- * @param overrideLanguage Optional language to use for role translations
34
- * @returns The signed token
35
- */
36
- signToken(userDoc: UserDocument<string, TID>, jwtSecret: string, overrideLanguage?: string): Promise<IJwtSignResponse<TID, TDate, TTokenRole>>;
37
- /**
38
- * Verify a JWT token and return the user data
39
- * @param token The token to verify
40
- * @returns The user data
41
- * @throws InvalidTokenError
42
- */
43
- verifyToken(token: string): Promise<TTokenUser | null>;
44
- }
45
- //# sourceMappingURL=jwt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/jwt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EAEV,UAAU,EACX,MAAM,iCAAiC,CAAC;AAUzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AASlE;;;;;;;;;GASG;AACH,qBAAa,UAAU,CACrB,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,KAAK,SAAS,IAAI,GAAG,IAAI,EACzB,UAAU,SAAS,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,EAClE,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1C,YAAY,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAC1D,SAAQ,WAAW,CAAC,GAAG,EAAE,YAAY,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAElE;;;OAGG;gBACS,WAAW,EAAE,YAAY;IAKrC;;;;;;OAMG;IACU,SAAS,CACpB,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,EAClC,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAgCpD;;;;;OAKG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;CAgCpE"}
@@ -1,105 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview JWT token service for authentication and authorization.
4
- * Handles JWT token generation, signing, and verification with role-based access control.
5
- * @module services/jwt
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.JwtService = void 0;
9
- const jsonwebtoken_1 = require("jsonwebtoken");
10
- const util_1 = require("util");
11
- const invalid_jwt_token_1 = require("../errors/invalid-jwt-token");
12
- const token_expired_1 = require("../errors/token-expired");
13
- const base_1 = require("./base");
14
- const role_1 = require("./role");
15
- const verifyAsync = (0, util_1.promisify)(jsonwebtoken_1.verify);
16
- /**
17
- * Service for JWT token operations including generation, signing, and verification.
18
- * Integrates with role service to embed user roles in JWT tokens.
19
- * @template TID - Platform ID type (defaults to Buffer)
20
- * @template TDate - Date type (defaults to Date)
21
- * @template TTokenRole - Token role interface type
22
- * @template TTokenUser - Token user interface type
23
- * @template TApplication - Application interface type
24
- * @extends {BaseService<TID, TApplication>}
25
- */
26
- class JwtService extends base_1.BaseService {
27
- roleService;
28
- /**
29
- * Constructor for the JWT service
30
- * @param application The application object
31
- */
32
- constructor(application) {
33
- super(application);
34
- this.roleService = new role_1.RoleService(application);
35
- }
36
- /**
37
- * Sign a JWT token for a user
38
- * @param userDoc The user document to sign the token for
39
- * @param jwtSecret The secret to sign the token with
40
- * @param overrideLanguage Optional language to use for role translations
41
- * @returns The signed token
42
- */
43
- async signToken(userDoc, jwtSecret, overrideLanguage) {
44
- // look for roles the user is a member of (the role contains the user id in the user's roles array)
45
- const roles = await this.roleService.getUserRoles(userDoc._id);
46
- const tokenRoles = this.roleService.rolesToTokenRoles(roles, overrideLanguage);
47
- const tokenRoleDTOs = tokenRoles.map((role) => role_1.RoleService.roleToRoleDTO(role));
48
- const roleTranslatedNames = tokenRoles.map((role) => role.translatedName);
49
- const roleNames = tokenRoles.map((role) => role.name);
50
- const tokenUser = {
51
- userId: userDoc._id.toString(),
52
- roles: tokenRoleDTOs,
53
- };
54
- // amazonq-ignore-next-line false positive
55
- const token = (0, jsonwebtoken_1.sign)(tokenUser, jwtSecret, {
56
- algorithm: this.application.constants.JWT.ALGORITHM,
57
- allowInsecureKeySizes: false,
58
- expiresIn: this.application.constants.JWT.EXPIRATION_SEC,
59
- });
60
- return {
61
- token,
62
- tokenUser,
63
- roleNames,
64
- roleTranslatedNames,
65
- roles: tokenRoles,
66
- roleDTOs: tokenRoleDTOs,
67
- };
68
- }
69
- /**
70
- * Verify a JWT token and return the user data
71
- * @param token The token to verify
72
- * @returns The user data
73
- * @throws InvalidTokenError
74
- */
75
- async verifyToken(token) {
76
- try {
77
- const decoded = (await verifyAsync(token, this.application.environment.jwtSecret, {
78
- algorithms: [this.application.constants.JWT.ALGORITHM],
79
- }));
80
- if (typeof decoded === 'object' &&
81
- decoded !== null &&
82
- 'userId' in decoded &&
83
- 'roles' in decoded) {
84
- return {
85
- userId: decoded['userId'],
86
- roles: decoded['roles'],
87
- };
88
- }
89
- else {
90
- return null;
91
- }
92
- }
93
- catch (err) {
94
- if (err instanceof jsonwebtoken_1.TokenExpiredError) {
95
- throw new token_expired_1.TokenExpiredError();
96
- }
97
- else if (err instanceof jsonwebtoken_1.JsonWebTokenError) {
98
- throw err;
99
- }
100
- throw new invalid_jwt_token_1.InvalidJwtTokenError();
101
- }
102
- }
103
- }
104
- exports.JwtService = JwtService;
105
- //# sourceMappingURL=jwt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/jwt.ts"],"names":[],"mappings":"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"}
@@ -1,68 +0,0 @@
1
- /**
2
- * @fileoverview Mnemonic phrase management service.
3
- * Securely stores mnemonic HMACs for uniqueness checking without exposing phrases.
4
- * @module services/mnemonic
5
- */
6
- import { SecureBuffer, SecureString } from '@digitaldefiance/ecies-lib';
7
- import { ClientSession, Model } from '@digitaldefiance/mongoose-types';
8
- import { MnemonicDocument } from '../documents/mnemonic';
9
- import { IConstants } from '../interfaces';
10
- import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
11
- /**
12
- * Service for secure mnemonic phrase storage and validation.
13
- * Uses HMAC for uniqueness checking without storing actual mnemonics.
14
- * @template TID - Platform ID type (defaults to Buffer)
15
- */
16
- export declare class MnemonicService<TID extends PlatformID = Buffer> {
17
- private readonly hmacSecret;
18
- private readonly MnemonicModel;
19
- private readonly constants;
20
- constructor(mnemonicModel: Model<MnemonicDocument<TID>>, hmacSecret: SecureBuffer, constants: IConstants);
21
- /**
22
- * Disposes of the secure secrets held by this service.
23
- */
24
- dispose(): void;
25
- /**
26
- * Creates a non-reversible HMAC of the mnemonic for fast, indexed lookups.
27
- * @param mnemonic The mnemonic to hash, wrapped in a SecureString.
28
- */
29
- getMnemonicHmac(mnemonic: SecureString): string;
30
- /**
31
- * Checks if a mnemonic already exists in the database using its HMAC.
32
- * @param mnemonic The mnemonic to check, wrapped in a SecureString.
33
- * @param session Optional Mongoose session for transaction support.
34
- */
35
- mnemonicExists(mnemonic: SecureString, session?: ClientSession): Promise<boolean>;
36
- /**
37
- * Adds a new, unique mnemonic to the database with password-based key wrapping.
38
- * @param mnemonic The mnemonic to add, wrapped in a SecureString.
39
- * @param password User's password for key wrapping.
40
- * @param session Optional Mongoose session for transaction support.
41
- */
42
- addMnemonicWithPassword(mnemonic: SecureString, _password: SecureString, session?: ClientSession): Promise<{
43
- document: MnemonicDocument<TID> | null;
44
- }>;
45
- /**
46
- * Adds a new, unique mnemonic to the database.
47
- * @param mnemonic The mnemonic to add, wrapped in a SecureString.
48
- * @param session Optional Mongoose session for transaction support.
49
- */
50
- addMnemonic(mnemonic: SecureString, session?: ClientSession): Promise<MnemonicDocument<TID> | null>;
51
- /**
52
- * Retrieves a mnemonic document by ID.
53
- * @param mnemonicId The ID of the mnemonic document.
54
- * @param session Optional Mongoose session for transaction support.
55
- */
56
- getMnemonicDocument(mnemonicId: TID, session?: ClientSession): Promise<MnemonicDocument<TID> | null>;
57
- /**
58
- * Decrypts a mnemonic from a document using the service's master encryption key.
59
- * @param doc The mnemonic document.
60
- */
61
- /**
62
- * Deletes a mnemonic document by ID.
63
- * @param mnemonicId The ID of the mnemonic document.
64
- * @param session Optional Mongoose session for transaction support.
65
- */
66
- deleteMnemonicDocument(mnemonicId: TID, session?: ClientSession): Promise<void>;
67
- }
68
- //# sourceMappingURL=mnemonic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mnemonic.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mnemonic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAMvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;GAIG;AACH,qBAAa,eAAe,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+B;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;gBAGrC,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAC3C,UAAU,EAAE,YAAY,EACxB,SAAS,EAAE,UAAU;IAQvB;;OAEG;IACI,OAAO,IAAI,IAAI;IAItB;;;OAGG;IACI,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM;IAOtD;;;;OAIG;IACU,cAAc,CACzB,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC;IAQnB;;;;;OAKG;IACU,uBAAuB,CAClC,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,YAAY,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC;QACT,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;KACxC,CAAC;IA2BF;;;;OAIG;IACU,WAAW,CACtB,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAsBxC;;;;OAIG;IACU,mBAAmB,CAC9B,UAAU,EAAE,GAAG,EACf,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAMxC;;;OAGG;IAEH;;;;OAIG;IACU,sBAAsB,CACjC,UAAU,EAAE,GAAG,EACf,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC;CAKjB"}
@@ -1,120 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Mnemonic phrase management service.
4
- * Securely stores mnemonic HMACs for uniqueness checking without exposing phrases.
5
- * @module services/mnemonic
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.MnemonicService = void 0;
9
- const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
10
- const crypto_1 = require("crypto");
11
- /**
12
- * Service for secure mnemonic phrase storage and validation.
13
- * Uses HMAC for uniqueness checking without storing actual mnemonics.
14
- * @template TID - Platform ID type (defaults to Buffer)
15
- */
16
- class MnemonicService {
17
- hmacSecret;
18
- MnemonicModel;
19
- constants;
20
- constructor(mnemonicModel, hmacSecret, constants) {
21
- this.MnemonicModel = mnemonicModel;
22
- // Immediately wrap secrets in secure containers
23
- this.hmacSecret = hmacSecret;
24
- this.constants = constants;
25
- }
26
- /**
27
- * Disposes of the secure secrets held by this service.
28
- */
29
- dispose() {
30
- this.hmacSecret.dispose();
31
- }
32
- /**
33
- * Creates a non-reversible HMAC of the mnemonic for fast, indexed lookups.
34
- * @param mnemonic The mnemonic to hash, wrapped in a SecureString.
35
- */
36
- getMnemonicHmac(mnemonic) {
37
- // Use the raw secret buffer for the HMAC
38
- return (0, crypto_1.createHmac)('sha256', this.hmacSecret.value)
39
- .update(mnemonic.valueAsUint8Array) // Use the raw buffer for consistency
40
- .digest('hex');
41
- }
42
- /**
43
- * Checks if a mnemonic already exists in the database using its HMAC.
44
- * @param mnemonic The mnemonic to check, wrapped in a SecureString.
45
- * @param session Optional Mongoose session for transaction support.
46
- */
47
- async mnemonicExists(mnemonic, session) {
48
- const hmac = this.getMnemonicHmac(mnemonic);
49
- const count = await this.MnemonicModel.countDocuments({ hmac }).session(session ?? null);
50
- return count > 0;
51
- }
52
- /**
53
- * Adds a new, unique mnemonic to the database with password-based key wrapping.
54
- * @param mnemonic The mnemonic to add, wrapped in a SecureString.
55
- * @param password User's password for key wrapping.
56
- * @param session Optional Mongoose session for transaction support.
57
- */
58
- async addMnemonicWithPassword(mnemonic, _password, session) {
59
- if (!mnemonic.value || !this.constants.MnemonicRegex.test(mnemonic.value)) {
60
- throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Validation_MnemonicRegex);
61
- }
62
- if (await this.mnemonicExists(mnemonic, session)) {
63
- return { document: null };
64
- }
65
- try {
66
- const hmac = this.getMnemonicHmac(mnemonic);
67
- const [newDoc] = await this.MnemonicModel.create([
68
- {
69
- hmac: hmac,
70
- },
71
- ], { session });
72
- return { document: newDoc };
73
- }
74
- finally {
75
- // nothing to dispose
76
- }
77
- }
78
- /**
79
- * Adds a new, unique mnemonic to the database.
80
- * @param mnemonic The mnemonic to add, wrapped in a SecureString.
81
- * @param session Optional Mongoose session for transaction support.
82
- */
83
- async addMnemonic(mnemonic, session) {
84
- if (!mnemonic.value || !this.constants.MnemonicRegex.test(mnemonic.value)) {
85
- throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Validation_MnemonicRegex);
86
- }
87
- if (await this.mnemonicExists(mnemonic, session)) {
88
- return null;
89
- }
90
- const hmac = this.getMnemonicHmac(mnemonic);
91
- const [newDoc] = await this.MnemonicModel.create([
92
- {
93
- hmac: hmac,
94
- },
95
- ], { session });
96
- return newDoc;
97
- }
98
- /**
99
- * Retrieves a mnemonic document by ID.
100
- * @param mnemonicId The ID of the mnemonic document.
101
- * @param session Optional Mongoose session for transaction support.
102
- */
103
- async getMnemonicDocument(mnemonicId, session) {
104
- return await this.MnemonicModel.findById(mnemonicId).session(session ?? null);
105
- }
106
- /**
107
- * Decrypts a mnemonic from a document using the service's master encryption key.
108
- * @param doc The mnemonic document.
109
- */
110
- /**
111
- * Deletes a mnemonic document by ID.
112
- * @param mnemonicId The ID of the mnemonic document.
113
- * @param session Optional Mongoose session for transaction support.
114
- */
115
- async deleteMnemonicDocument(mnemonicId, session) {
116
- await this.MnemonicModel.findByIdAndDelete(mnemonicId).session(session ?? null);
117
- }
118
- }
119
- exports.MnemonicService = MnemonicService;
120
- //# sourceMappingURL=mnemonic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mnemonic.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mnemonic.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- /**
2
- * @fileoverview Mongoose-backed implementation of IAuthenticationProvider.
3
- * Delegates user lookup, role resolution, and credential verification
4
- * to the existing Mongoose models and services.
5
- * @module services/mongo-authentication-provider
6
- */
7
- import type { SecureString } from '@digitaldefiance/ecies-lib';
8
- import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
9
- import { ITokenUser } from '@digitaldefiance/suite-core-lib';
10
- import type { IAuthenticatedUser, IAuthenticationProvider, ICryptoAuthResult } from '../interfaces/authentication-provider';
11
- import type { IMongoApplication } from '../interfaces/mongo-application';
12
- import type { IRequestUserDTO } from '@digitaldefiance/suite-core-lib';
13
- /**
14
- * Mongoose-backed authentication provider.
15
- * Uses ModelRegistry, JwtService, RoleService, and UserService
16
- * to implement the storage-agnostic IAuthenticationProvider interface.
17
- */
18
- export declare class MongoAuthenticationProvider<TID extends PlatformID = Buffer, TLanguage extends string = string> implements IAuthenticationProvider<TID, TLanguage> {
19
- private readonly application;
20
- constructor(application: IMongoApplication<TID>);
21
- findUserById(userId: string): Promise<IAuthenticatedUser<TLanguage> | null>;
22
- buildRequestUserDTO(userId: string): Promise<IRequestUserDTO | null>;
23
- verifyToken<TTokenUser extends ITokenUser = ITokenUser>(token: string): Promise<TTokenUser | null>;
24
- authenticateWithMnemonic(email: string, mnemonic: SecureString): Promise<ICryptoAuthResult<TID>>;
25
- authenticateWithPassword(email: string, password: string): Promise<ICryptoAuthResult<TID>>;
26
- }
27
- //# sourceMappingURL=mongo-authentication-provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo-authentication-provider.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mongo-authentication-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAiB,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG5E,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAMzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE;;;;GAIG;AACH,qBAAa,2BAA2B,CACtC,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,SAAS,SAAS,MAAM,GAAG,MAAM,CACjC,YAAW,uBAAuB,CAAC,GAAG,EAAE,SAAS,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC;IAE1D,YAAY,CAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAmB1C,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IA4BpE,WAAW,CAAC,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1D,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAKvB,wBAAwB,CAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IA4B5B,wBAAwB,CAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;CA2BnC"}