@digitaldefiance/node-express-suite 4.22.1 → 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 +2 -6
  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,84 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Mongoose-backed implementation of IAuthenticationProvider.
4
- * Delegates user lookup, role resolution, and credential verification
5
- * to the existing Mongoose models and services.
6
- * @module services/mongo-authentication-provider
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.MongoAuthenticationProvider = void 0;
10
- const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
11
- const base_model_name_1 = require("../enumerations/base-model-name");
12
- const model_registry_1 = require("../model-registry");
13
- const jwt_1 = require("./jwt");
14
- const request_user_1 = require("./request-user");
15
- const role_1 = require("./role");
16
- const utils_1 = require("../utils");
17
- const container_1 = require("../container");
18
- /**
19
- * Mongoose-backed authentication provider.
20
- * Uses ModelRegistry, JwtService, RoleService, and UserService
21
- * to implement the storage-agnostic IAuthenticationProvider interface.
22
- */
23
- class MongoAuthenticationProvider {
24
- application;
25
- constructor(application) {
26
- this.application = application;
27
- }
28
- async findUserById(userId) {
29
- const UserModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.User);
30
- const userDoc = await UserModel.findById(userId).select('-password').exec();
31
- if (!userDoc)
32
- return null;
33
- return {
34
- id: String(userDoc._id),
35
- accountStatus: userDoc.accountStatus,
36
- email: userDoc.email,
37
- siteLanguage: userDoc.siteLanguage,
38
- timezone: userDoc.timezone,
39
- lastLogin: userDoc.lastLogin?.toString(),
40
- };
41
- }
42
- async buildRequestUserDTO(userId) {
43
- const UserModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.User);
44
- return await (0, utils_1.withTransaction)(this.application.db.connection, this.application.environment.mongo.useTransactions, undefined, async (sess) => {
45
- const userDoc = await UserModel.findById(userId)
46
- .select('-password')
47
- .session(sess ?? null)
48
- .exec();
49
- if (!userDoc || userDoc.accountStatus !== suite_core_lib_1.AccountStatus.Active) {
50
- return null;
51
- }
52
- const roleService = new role_1.RoleService(this.application);
53
- const roles = await roleService.getUserRoles(userDoc._id, sess);
54
- const tokenRoles = roleService.rolesToTokenRoles(roles);
55
- return request_user_1.RequestUserService.makeRequestUserDTO(userDoc, tokenRoles);
56
- }, { timeoutMs: this.application.environment.mongo.transactionTimeout });
57
- }
58
- async verifyToken(token) {
59
- const jwtService = new jwt_1.JwtService(this.application);
60
- return (await jwtService.verifyToken(token));
61
- }
62
- async authenticateWithMnemonic(email, mnemonic) {
63
- const userService = this.application.services.get(container_1.ServiceKeys.USER);
64
- const result = await (0, utils_1.withTransaction)(this.application.db.connection, this.application.environment.mongo.useTransactions, undefined, async (sess) => {
65
- return await userService.loginWithMnemonic(email, mnemonic, sess);
66
- }, { timeoutMs: this.application.environment.mongo.transactionTimeout });
67
- return {
68
- userId: String(result.userDoc._id),
69
- userMember: result.userMember,
70
- };
71
- }
72
- async authenticateWithPassword(email, password) {
73
- const userService = this.application.services.get(container_1.ServiceKeys.USER);
74
- const result = await (0, utils_1.withTransaction)(this.application.db.connection, this.application.environment.mongo.useTransactions, undefined, async (sess) => {
75
- return await userService.loginWithPassword(email, password, sess);
76
- }, { timeoutMs: this.application.environment.mongo.transactionTimeout });
77
- return {
78
- userId: String(result.userDoc._id),
79
- userMember: result.userMember,
80
- };
81
- }
82
- }
83
- exports.MongoAuthenticationProvider = MongoAuthenticationProvider;
84
- //# sourceMappingURL=mongo-authentication-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo-authentication-provider.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mongo-authentication-provider.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- /**
2
- * @fileoverview Mongoose/MongoDB implementation of IBackupCodeStore.
3
- * Provides backward-compatible storage for the BackupCodeService using
4
- * Mongoose UserDocument and ModelRegistry.
5
- * @module services/mongo-backup-code-store
6
- */
7
- import type { MemberType } from '@digitaldefiance/ecies-lib';
8
- import type { ClientSession } from '@digitaldefiance/mongoose-types';
9
- import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
10
- import type { ITokenRole } from '@digitaldefiance/suite-core-lib';
11
- import type { IBackupCodeStore, IBackupCodeUserRecord, IBackupCodeUserUpdate } from '../interfaces/backup-code-store';
12
- import type { IMongoApplication } from '../interfaces/mongo-application';
13
- import { RoleService } from './role';
14
- /**
15
- * Mongoose-backed implementation of IBackupCodeStore.
16
- *
17
- * Delegates all persistence to the Mongoose UserModel and uses
18
- * RoleService for member type resolution. This is the default store
19
- * used when no custom store is provided to BackupCodeService.
20
- *
21
- * @template TID - Platform ID type
22
- * @template TDate - Date type
23
- * @template TTokenRole - Token role interface type
24
- */
25
- export declare class MongoBackupCodeStore<TID extends PlatformID = Buffer, TDate extends Date = Date, TTokenRole extends ITokenRole<TID, TDate> = ITokenRole<TID, TDate>> implements IBackupCodeStore<TID> {
26
- private readonly application;
27
- private readonly roleService;
28
- private readonly session?;
29
- constructor(application: IMongoApplication<TID>, roleService: RoleService<TID, TDate, TTokenRole>, session?: ClientSession);
30
- /**
31
- * Create a new MongoBackupCodeStore bound to a specific session.
32
- * Useful for transactional operations.
33
- */
34
- withSession(session: ClientSession): MongoBackupCodeStore<TID, TDate, TTokenRole>;
35
- getUserRecord(userId: TID): Promise<IBackupCodeUserRecord<TID> | null>;
36
- updateUserRecord(userId: TID, updates: IBackupCodeUserUpdate): Promise<void>;
37
- getMemberType(userId: TID): Promise<MemberType>;
38
- fetchBatch(afterId?: string, limit?: number): Promise<Array<IBackupCodeUserRecord<TID>>>;
39
- }
40
- //# sourceMappingURL=mongo-backup-code-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo-backup-code-store.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mongo-backup-code-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGzE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC;;;;;;;;;;GAUG;AACH,qBAAa,oBAAoB,CAC/B,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,CAClE,YAAW,gBAAgB,CAAC,GAAG,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAgB;gBAGvC,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,EACnC,WAAW,EAAE,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,EAChD,OAAO,CAAC,EAAE,aAAa;IAOzB;;;OAGG;IACI,WAAW,CAChB,OAAO,EAAE,aAAa,GACrB,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC;IAQlC,aAAa,CACxB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAqBhC,gBAAgB,CAC3B,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC;IAsBH,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAa/C,UAAU,CACrB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,SAAM,GACV,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;CA2B9C"}
@@ -1,104 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Mongoose/MongoDB implementation of IBackupCodeStore.
4
- * Provides backward-compatible storage for the BackupCodeService using
5
- * Mongoose UserDocument and ModelRegistry.
6
- * @module services/mongo-backup-code-store
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.MongoBackupCodeStore = void 0;
10
- const base_model_name_1 = require("../enumerations/base-model-name");
11
- const model_registry_1 = require("../model-registry");
12
- /**
13
- * Mongoose-backed implementation of IBackupCodeStore.
14
- *
15
- * Delegates all persistence to the Mongoose UserModel and uses
16
- * RoleService for member type resolution. This is the default store
17
- * used when no custom store is provided to BackupCodeService.
18
- *
19
- * @template TID - Platform ID type
20
- * @template TDate - Date type
21
- * @template TTokenRole - Token role interface type
22
- */
23
- class MongoBackupCodeStore {
24
- application;
25
- roleService;
26
- session;
27
- constructor(application, roleService, session) {
28
- this.application = application;
29
- this.roleService = roleService;
30
- this.session = session;
31
- }
32
- /**
33
- * Create a new MongoBackupCodeStore bound to a specific session.
34
- * Useful for transactional operations.
35
- */
36
- withSession(session) {
37
- return new MongoBackupCodeStore(this.application, this.roleService, session);
38
- }
39
- async getUserRecord(userId) {
40
- const UserModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.User);
41
- const doc = await UserModel.findById(userId)
42
- .session(this.session ?? null)
43
- .exec();
44
- if (!doc)
45
- return null;
46
- return {
47
- _id: doc._id,
48
- username: doc.username,
49
- email: doc.email,
50
- publicKey: doc.publicKey,
51
- backupCodes: doc.backupCodes ?? [],
52
- passwordWrappedPrivateKey: doc.passwordWrappedPrivateKey,
53
- createdAt: doc.createdAt,
54
- updatedAt: doc.updatedAt,
55
- };
56
- }
57
- async updateUserRecord(userId, updates) {
58
- const UserModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.User);
59
- const $set = {};
60
- if (updates.backupCodes !== undefined) {
61
- $set['backupCodes'] = updates.backupCodes;
62
- }
63
- if (updates.passwordWrappedPrivateKey !== undefined) {
64
- $set['passwordWrappedPrivateKey'] = updates.passwordWrappedPrivateKey;
65
- }
66
- if (Object.keys($set).length > 0) {
67
- await UserModel.updateOne({ _id: userId }, { $set }, { session: this.session });
68
- }
69
- }
70
- async getMemberType(userId) {
71
- const UserModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.User);
72
- const doc = await UserModel.findById(userId)
73
- .session(this.session ?? null)
74
- .exec();
75
- if (!doc) {
76
- throw new Error(`User not found: ${userId}`);
77
- }
78
- return await this.roleService.getMemberType(doc, this.session);
79
- }
80
- async fetchBatch(afterId, limit = 500) {
81
- const UserModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.User);
82
- const query = {};
83
- if (afterId) {
84
- query['_id'] = { $gt: afterId };
85
- }
86
- const docs = await UserModel.find(query)
87
- .sort({ _id: 1 })
88
- .limit(limit)
89
- .session(this.session ?? null)
90
- .exec();
91
- return docs.map((doc) => ({
92
- _id: doc._id,
93
- username: doc.username,
94
- email: doc.email,
95
- publicKey: doc.publicKey,
96
- backupCodes: doc.backupCodes ?? [],
97
- passwordWrappedPrivateKey: doc.passwordWrappedPrivateKey,
98
- createdAt: doc.createdAt,
99
- updatedAt: doc.updatedAt,
100
- }));
101
- }
102
- }
103
- exports.MongoBackupCodeStore = MongoBackupCodeStore;
104
- //# sourceMappingURL=mongo-backup-code-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo-backup-code-store.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mongo-backup-code-store.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- /**
2
- * @fileoverview Mongoose-specific base service extending the database-agnostic BaseService.
3
- * Constrains TApplication to IMongoApplication so subclasses get type-safe
4
- * access to .db, .getModel(), and .environment.mongo.
5
- * @module services/mongo-base
6
- */
7
- import { IMongoApplication } from '../interfaces/mongo-application';
8
- import { BaseService } from './base';
9
- import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
10
- /**
11
- * Mongoose-specific base service.
12
- * Extends BaseService with TApplication constrained to IMongoApplication.
13
- *
14
- * Use this for services that need Mongoose-specific access (application.db,
15
- * application.getModel, application.environment.mongo). Services that are
16
- * database-agnostic should extend BaseService directly.
17
- *
18
- * @template TID - Platform ID type (defaults to Buffer)
19
- * @template TApplication - Must extend IMongoApplication
20
- */
21
- export declare class MongoBaseService<TID extends PlatformID = Buffer, TApplication extends IMongoApplication<TID> = IMongoApplication<TID>> extends BaseService<TID, TApplication> {
22
- constructor(application: TApplication);
23
- }
24
- //# sourceMappingURL=mongo-base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo-base.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mongo-base.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB,CAC3B,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,YAAY,SAAS,iBAAiB,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,CACpE,SAAQ,WAAW,CAAC,GAAG,EAAE,YAAY,CAAC;gBAC1B,WAAW,EAAE,YAAY;CAGtC"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Mongoose-specific base service extending the database-agnostic BaseService.
4
- * Constrains TApplication to IMongoApplication so subclasses get type-safe
5
- * access to .db, .getModel(), and .environment.mongo.
6
- * @module services/mongo-base
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.MongoBaseService = void 0;
10
- const base_1 = require("./base");
11
- /**
12
- * Mongoose-specific base service.
13
- * Extends BaseService with TApplication constrained to IMongoApplication.
14
- *
15
- * Use this for services that need Mongoose-specific access (application.db,
16
- * application.getModel, application.environment.mongo). Services that are
17
- * database-agnostic should extend BaseService directly.
18
- *
19
- * @template TID - Platform ID type (defaults to Buffer)
20
- * @template TApplication - Must extend IMongoApplication
21
- */
22
- class MongoBaseService extends base_1.BaseService {
23
- constructor(application) {
24
- super(application);
25
- }
26
- }
27
- exports.MongoBaseService = MongoBaseService;
28
- //# sourceMappingURL=mongo-base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo-base.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mongo-base.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,iCAAqC;AAGrC;;;;;;;;;;GAUG;AACH,MAAa,gBAGX,SAAQ,kBAA8B;IACtC,YAAY,WAAyB;QACnC,KAAK,CAAC,WAAW,CAAC,CAAC;IACrB,CAAC;CACF;AAPD,4CAOC"}
@@ -1,52 +0,0 @@
1
- /**
2
- * @fileoverview Mongoose collection adapter implementing ICollection.
3
- * Wraps a mongoose Model to conform to the shared ICollection interface
4
- * from brightchain-lib.
5
- * @module services/mongoose-collection
6
- */
7
- import type { AggregationStage, BsonDocument, BulkWriteOperation, BulkWriteOptions, BulkWriteResult, ChangeListener, CollectionSchema, DeleteResult, DocumentId, FilterQuery, FindOptions, ICollection, IndexOptions, IndexSpec, InsertManyResult, InsertOneResult, ReadPreference, ReplaceResult, TextIndexOptions, UpdateOptions, UpdateQuery, UpdateResult, ValidationFieldError, WriteConcern, WriteOptions } from '@digitaldefiance/suite-core-lib';
8
- import type { Connection } from '@digitaldefiance/mongoose-types';
9
- /**
10
- * Adapts a mongoose Model to the ICollection<T> interface.
11
- * Delegates CRUD, query, index, and bulk operations to the underlying
12
- * mongoose model. Schema validation methods are no-ops since mongoose
13
- * handles schema validation internally.
14
- */
15
- export declare class MongooseCollection<T extends BsonDocument = BsonDocument> implements ICollection<T> {
16
- private _model;
17
- private _writeConcern;
18
- private _readPreference;
19
- constructor(connection: Connection, collectionName: string);
20
- insertOne(doc: T, options?: WriteOptions): Promise<InsertOneResult>;
21
- insertMany(docs: T[], options?: WriteOptions): Promise<InsertManyResult>;
22
- findOne(filter?: FilterQuery<T>, options?: FindOptions<T>): Promise<T | null>;
23
- find(filter?: FilterQuery<T>, options?: FindOptions<T>): Promise<T[]>;
24
- findById(id: DocumentId): Promise<T | null>;
25
- updateOne(filter: FilterQuery<T>, update: UpdateQuery<T>, options?: UpdateOptions): Promise<UpdateResult>;
26
- updateMany(filter: FilterQuery<T>, update: UpdateQuery<T>, options?: UpdateOptions): Promise<UpdateResult>;
27
- deleteOne(filter: FilterQuery<T>, options?: WriteOptions): Promise<DeleteResult>;
28
- deleteMany(filter: FilterQuery<T>, options?: WriteOptions): Promise<DeleteResult>;
29
- replaceOne(filter: FilterQuery<T>, doc: T, options?: UpdateOptions): Promise<ReplaceResult>;
30
- countDocuments(filter?: FilterQuery<T>): Promise<number>;
31
- estimatedDocumentCount(): Promise<number>;
32
- distinct<K extends keyof T>(field: K, filter?: FilterQuery<T>): Promise<Array<T[K]>>;
33
- aggregate(pipeline: AggregationStage[]): Promise<BsonDocument[]>;
34
- createIndex(spec: IndexSpec, options?: IndexOptions): Promise<string>;
35
- dropIndex(name: string): Promise<void>;
36
- listIndexes(): string[];
37
- bulkWrite(operations: BulkWriteOperation<T>[], options?: BulkWriteOptions): Promise<BulkWriteResult>;
38
- watch(listener: ChangeListener<T>): () => void;
39
- setSchema(_schema: CollectionSchema): void;
40
- getSchema(): CollectionSchema | undefined;
41
- removeSchema(): void;
42
- validateDoc(_doc: T): ValidationFieldError[];
43
- getWriteConcern(): WriteConcern;
44
- setWriteConcern(wc: WriteConcern): void;
45
- getReadPreference(): ReadPreference;
46
- setReadPreference(rp: ReadPreference): void;
47
- createTextIndex(options: TextIndexOptions): string;
48
- dropTextIndex(): void;
49
- hasTextIndex(): boolean;
50
- drop(): Promise<void>;
51
- }
52
- //# sourceMappingURL=mongoose-collection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongoose-collection.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mongoose-collection.ts"],"names":[],"mappings":"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"}