@digitaldefiance/node-express-suite 4.22.2 → 4.23.1

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 (441) 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/documents/base.d.ts +24 -0
  62. package/src/interfaces/documents/base.d.ts.map +1 -0
  63. package/src/interfaces/documents/base.js +13 -0
  64. package/src/interfaces/documents/base.js.map +1 -0
  65. package/src/interfaces/documents/email-token.d.ts +15 -0
  66. package/src/interfaces/documents/email-token.d.ts.map +1 -0
  67. package/src/interfaces/documents/email-token.js +7 -0
  68. package/src/interfaces/{models → documents}/email-token.js.map +1 -1
  69. package/src/interfaces/documents/index.d.ts +25 -0
  70. package/src/interfaces/documents/index.d.ts.map +1 -0
  71. package/src/interfaces/documents/index.js +20 -0
  72. package/src/interfaces/documents/index.js.map +1 -0
  73. package/src/interfaces/documents/mnemonic.d.ts +15 -0
  74. package/src/interfaces/documents/mnemonic.d.ts.map +1 -0
  75. package/src/interfaces/documents/mnemonic.js +7 -0
  76. package/src/interfaces/{models → documents}/mnemonic.js.map +1 -1
  77. package/src/interfaces/documents/role.d.ts +15 -0
  78. package/src/interfaces/documents/role.d.ts.map +1 -0
  79. package/src/interfaces/documents/role.js +7 -0
  80. package/src/interfaces/{models → documents}/role.js.map +1 -1
  81. package/src/interfaces/documents/used-direct-login-token.d.ts +15 -0
  82. package/src/interfaces/documents/used-direct-login-token.d.ts.map +1 -0
  83. package/src/interfaces/documents/used-direct-login-token.js +7 -0
  84. package/src/interfaces/{models → documents}/used-direct-login-token.js.map +1 -1
  85. package/src/interfaces/documents/user-role.d.ts +15 -0
  86. package/src/interfaces/documents/user-role.d.ts.map +1 -0
  87. package/src/interfaces/documents/user-role.js +7 -0
  88. package/src/interfaces/{models → documents}/user-role.js.map +1 -1
  89. package/src/interfaces/documents/user.d.ts +16 -0
  90. package/src/interfaces/documents/user.d.ts.map +1 -0
  91. package/src/interfaces/documents/user.js +7 -0
  92. package/src/interfaces/{models → documents}/user.js.map +1 -1
  93. package/src/interfaces/environment.d.ts +3 -2
  94. package/src/interfaces/environment.d.ts.map +1 -1
  95. package/src/interfaces/index.d.ts +3 -10
  96. package/src/interfaces/index.d.ts.map +1 -1
  97. package/src/interfaces/index.js +3 -10
  98. package/src/interfaces/index.js.map +1 -1
  99. package/src/interfaces/jwt-service.d.ts +27 -0
  100. package/src/interfaces/jwt-service.d.ts.map +1 -0
  101. package/src/interfaces/jwt-service.js +10 -0
  102. package/src/interfaces/jwt-service.js.map +1 -0
  103. package/src/interfaces/role-service.d.ts +55 -0
  104. package/src/interfaces/role-service.d.ts.map +1 -0
  105. package/src/interfaces/role-service.js +10 -0
  106. package/src/interfaces/role-service.js.map +1 -0
  107. package/src/interfaces/server-init-result.d.ts +10 -18
  108. package/src/interfaces/server-init-result.d.ts.map +1 -1
  109. package/src/interfaces/server-init-result.js +4 -2
  110. package/src/interfaces/server-init-result.js.map +1 -1
  111. package/src/plugins/database-plugin.d.ts +12 -0
  112. package/src/plugins/database-plugin.d.ts.map +1 -1
  113. package/src/plugins/index.d.ts +0 -1
  114. package/src/plugins/index.d.ts.map +1 -1
  115. package/src/plugins/index.js +0 -1
  116. package/src/plugins/index.js.map +1 -1
  117. package/src/routers/index.d.ts +0 -1
  118. package/src/routers/index.d.ts.map +1 -1
  119. package/src/routers/index.js +0 -1
  120. package/src/routers/index.js.map +1 -1
  121. package/src/services/abstract-jwt-service.d.ts +34 -0
  122. package/src/services/abstract-jwt-service.d.ts.map +1 -0
  123. package/src/services/abstract-jwt-service.js +68 -0
  124. package/src/services/abstract-jwt-service.js.map +1 -0
  125. package/src/services/abstract-role-service.d.ts +61 -0
  126. package/src/services/abstract-role-service.d.ts.map +1 -0
  127. package/src/services/abstract-role-service.js +69 -0
  128. package/src/services/abstract-role-service.js.map +1 -0
  129. package/src/services/base.d.ts +10 -13
  130. package/src/services/base.d.ts.map +1 -1
  131. package/src/services/base.js +7 -21
  132. package/src/services/base.js.map +1 -1
  133. package/src/services/index.d.ts +2 -15
  134. package/src/services/index.d.ts.map +1 -1
  135. package/src/services/index.js +2 -15
  136. package/src/services/index.js.map +1 -1
  137. package/src/testing.d.ts +1 -1
  138. package/src/testing.d.ts.map +1 -1
  139. package/src/testing.js +1 -1
  140. package/src/testing.js.map +1 -1
  141. package/src/types.d.ts +6 -17
  142. package/src/types.d.ts.map +1 -1
  143. package/src/types.js.map +1 -1
  144. package/src/utils.d.ts +5 -34
  145. package/src/utils.d.ts.map +1 -1
  146. package/src/utils.js +24 -165
  147. package/src/utils.js.map +1 -1
  148. package/src/__tests__/fixtures/model-mocks.mock.d.ts +0 -12
  149. package/src/__tests__/fixtures/model-mocks.mock.d.ts.map +0 -1
  150. package/src/__tests__/fixtures/model-mocks.mock.js +0 -102
  151. package/src/__tests__/fixtures/model-mocks.mock.js.map +0 -1
  152. package/src/__tests__/helpers/application.mock.d.ts +0 -8
  153. package/src/__tests__/helpers/application.mock.d.ts.map +0 -1
  154. package/src/__tests__/helpers/application.mock.js +0 -85
  155. package/src/__tests__/helpers/application.mock.js.map +0 -1
  156. package/src/__tests__/helpers/setup-test-env.d.ts +0 -13
  157. package/src/__tests__/helpers/setup-test-env.d.ts.map +0 -1
  158. package/src/__tests__/helpers/setup-test-env.js +0 -133
  159. package/src/__tests__/helpers/setup-test-env.js.map +0 -1
  160. package/src/builders/application-builder.d.ts +0 -53
  161. package/src/builders/application-builder.d.ts.map +0 -1
  162. package/src/builders/application-builder.js +0 -91
  163. package/src/builders/application-builder.js.map +0 -1
  164. package/src/controllers/user.d.ts +0 -66
  165. package/src/controllers/user.d.ts.map +0 -1
  166. package/src/controllers/user.js +0 -949
  167. package/src/controllers/user.js.map +0 -1
  168. package/src/documents/base.d.ts +0 -15
  169. package/src/documents/base.d.ts.map +0 -1
  170. package/src/documents/base.js +0 -8
  171. package/src/documents/base.js.map +0 -1
  172. package/src/documents/email-token.d.ts +0 -15
  173. package/src/documents/email-token.d.ts.map +0 -1
  174. package/src/documents/email-token.js +0 -8
  175. package/src/documents/email-token.js.map +0 -1
  176. package/src/documents/index.d.ts +0 -8
  177. package/src/documents/index.d.ts.map +0 -1
  178. package/src/documents/index.js +0 -3
  179. package/src/documents/index.js.map +0 -1
  180. package/src/documents/mnemonic.d.ts +0 -16
  181. package/src/documents/mnemonic.d.ts.map +0 -1
  182. package/src/documents/mnemonic.js +0 -8
  183. package/src/documents/mnemonic.js.map +0 -1
  184. package/src/documents/role.d.ts +0 -15
  185. package/src/documents/role.d.ts.map +0 -1
  186. package/src/documents/role.js +0 -8
  187. package/src/documents/role.js.map +0 -1
  188. package/src/documents/used-direct-login-token.d.ts +0 -16
  189. package/src/documents/used-direct-login-token.d.ts.map +0 -1
  190. package/src/documents/used-direct-login-token.js +0 -8
  191. package/src/documents/used-direct-login-token.js.map +0 -1
  192. package/src/documents/user-role.d.ts +0 -16
  193. package/src/documents/user-role.d.ts.map +0 -1
  194. package/src/documents/user-role.js +0 -8
  195. package/src/documents/user-role.js.map +0 -1
  196. package/src/documents/user.d.ts +0 -16
  197. package/src/documents/user.d.ts.map +0 -1
  198. package/src/documents/user.js +0 -8
  199. package/src/documents/user.js.map +0 -1
  200. package/src/enumerations/base-model-name.d.ts +0 -43
  201. package/src/enumerations/base-model-name.d.ts.map +0 -1
  202. package/src/enumerations/base-model-name.js +0 -39
  203. package/src/enumerations/base-model-name.js.map +0 -1
  204. package/src/enumerations/schema-collection.d.ts +0 -39
  205. package/src/enumerations/schema-collection.d.ts.map +0 -1
  206. package/src/enumerations/schema-collection.js +0 -43
  207. package/src/enumerations/schema-collection.js.map +0 -1
  208. package/src/errors/invalid-model.d.ts +0 -18
  209. package/src/errors/invalid-model.d.ts.map +0 -1
  210. package/src/errors/invalid-model.js +0 -26
  211. package/src/errors/invalid-model.js.map +0 -1
  212. package/src/errors/model-not-registered.d.ts +0 -18
  213. package/src/errors/model-not-registered.d.ts.map +0 -1
  214. package/src/errors/model-not-registered.js +0 -26
  215. package/src/errors/model-not-registered.js.map +0 -1
  216. package/src/errors/mongoose-validation.d.ts +0 -28
  217. package/src/errors/mongoose-validation.d.ts.map +0 -1
  218. package/src/errors/mongoose-validation.js +0 -33
  219. package/src/errors/mongoose-validation.js.map +0 -1
  220. package/src/interfaces/api-mongo-validation-error-response.d.ts +0 -16
  221. package/src/interfaces/api-mongo-validation-error-response.d.ts.map +0 -1
  222. package/src/interfaces/api-mongo-validation-error-response.js +0 -8
  223. package/src/interfaces/api-mongo-validation-error-response.js.map +0 -1
  224. package/src/interfaces/database-init-result-tx.d.ts +0 -27
  225. package/src/interfaces/database-init-result-tx.d.ts.map +0 -1
  226. package/src/interfaces/database-init-result-tx.js +0 -3
  227. package/src/interfaces/database-init-result-tx.js.map +0 -1
  228. package/src/interfaces/db-init-result.d.ts +0 -16
  229. package/src/interfaces/db-init-result.d.ts.map +0 -1
  230. package/src/interfaces/db-init-result.js +0 -8
  231. package/src/interfaces/db-init-result.js.map +0 -1
  232. package/src/interfaces/discriminator-collections.d.ts +0 -17
  233. package/src/interfaces/discriminator-collections.d.ts.map +0 -1
  234. package/src/interfaces/discriminator-collections.js +0 -8
  235. package/src/interfaces/discriminator-collections.js.map +0 -1
  236. package/src/interfaces/environment-mongo.d.ts +0 -86
  237. package/src/interfaces/environment-mongo.d.ts.map +0 -1
  238. package/src/interfaces/environment-mongo.js +0 -8
  239. package/src/interfaces/environment-mongo.js.map +0 -1
  240. package/src/interfaces/models/email-token.d.ts +0 -12
  241. package/src/interfaces/models/email-token.d.ts.map +0 -1
  242. package/src/interfaces/models/email-token.js +0 -8
  243. package/src/interfaces/models/index.d.ts +0 -8
  244. package/src/interfaces/models/index.d.ts.map +0 -1
  245. package/src/interfaces/models/index.js +0 -11
  246. package/src/interfaces/models/index.js.map +0 -1
  247. package/src/interfaces/models/mnemonic.d.ts +0 -13
  248. package/src/interfaces/models/mnemonic.d.ts.map +0 -1
  249. package/src/interfaces/models/mnemonic.js +0 -8
  250. package/src/interfaces/models/role.d.ts +0 -12
  251. package/src/interfaces/models/role.d.ts.map +0 -1
  252. package/src/interfaces/models/role.js +0 -8
  253. package/src/interfaces/models/token-role.d.ts +0 -19
  254. package/src/interfaces/models/token-role.d.ts.map +0 -1
  255. package/src/interfaces/models/token-role.js +0 -8
  256. package/src/interfaces/models/token-role.js.map +0 -1
  257. package/src/interfaces/models/used-direct-login-token.d.ts +0 -19
  258. package/src/interfaces/models/used-direct-login-token.d.ts.map +0 -1
  259. package/src/interfaces/models/used-direct-login-token.js +0 -8
  260. package/src/interfaces/models/user-role.d.ts +0 -19
  261. package/src/interfaces/models/user-role.d.ts.map +0 -1
  262. package/src/interfaces/models/user-role.js +0 -8
  263. package/src/interfaces/models/user.d.ts +0 -21
  264. package/src/interfaces/models/user.d.ts.map +0 -1
  265. package/src/interfaces/models/user.js +0 -8
  266. package/src/interfaces/mongo-application.d.ts +0 -35
  267. package/src/interfaces/mongo-application.d.ts.map +0 -1
  268. package/src/interfaces/mongo-application.js +0 -10
  269. package/src/interfaces/mongo-application.js.map +0 -1
  270. package/src/interfaces/mongo-errors.d.ts +0 -13
  271. package/src/interfaces/mongo-errors.d.ts.map +0 -1
  272. package/src/interfaces/mongo-errors.js +0 -8
  273. package/src/interfaces/mongo-errors.js.map +0 -1
  274. package/src/interfaces/mongoose-document-store.d.ts +0 -42
  275. package/src/interfaces/mongoose-document-store.d.ts.map +0 -1
  276. package/src/interfaces/mongoose-document-store.js +0 -10
  277. package/src/interfaces/mongoose-document-store.js.map +0 -1
  278. package/src/interfaces/schema.d.ts +0 -37
  279. package/src/interfaces/schema.d.ts.map +0 -1
  280. package/src/interfaces/schema.js +0 -8
  281. package/src/interfaces/schema.js.map +0 -1
  282. package/src/interfaces/test-environment.d.ts +0 -22
  283. package/src/interfaces/test-environment.d.ts.map +0 -1
  284. package/src/interfaces/test-environment.js +0 -8
  285. package/src/interfaces/test-environment.js.map +0 -1
  286. package/src/model-registry.d.ts +0 -79
  287. package/src/model-registry.d.ts.map +0 -1
  288. package/src/model-registry.js +0 -97
  289. package/src/model-registry.js.map +0 -1
  290. package/src/models/email-token.d.ts +0 -24
  291. package/src/models/email-token.d.ts.map +0 -1
  292. package/src/models/email-token.js +0 -16
  293. package/src/models/email-token.js.map +0 -1
  294. package/src/models/index.d.ts +0 -7
  295. package/src/models/index.d.ts.map +0 -1
  296. package/src/models/index.js +0 -10
  297. package/src/models/index.js.map +0 -1
  298. package/src/models/mnemonic.d.ts +0 -24
  299. package/src/models/mnemonic.d.ts.map +0 -1
  300. package/src/models/mnemonic.js +0 -27
  301. package/src/models/mnemonic.js.map +0 -1
  302. package/src/models/role.d.ts +0 -24
  303. package/src/models/role.d.ts.map +0 -1
  304. package/src/models/role.js +0 -27
  305. package/src/models/role.js.map +0 -1
  306. package/src/models/used-direct-login-token.d.ts +0 -24
  307. package/src/models/used-direct-login-token.d.ts.map +0 -1
  308. package/src/models/used-direct-login-token.js +0 -16
  309. package/src/models/used-direct-login-token.js.map +0 -1
  310. package/src/models/user-role.d.ts +0 -23
  311. package/src/models/user-role.d.ts.map +0 -1
  312. package/src/models/user-role.js +0 -26
  313. package/src/models/user-role.js.map +0 -1
  314. package/src/models/user.d.ts +0 -24
  315. package/src/models/user.d.ts.map +0 -1
  316. package/src/models/user.js +0 -27
  317. package/src/models/user.js.map +0 -1
  318. package/src/mongo-application-concrete.d.ts +0 -32
  319. package/src/mongo-application-concrete.d.ts.map +0 -1
  320. package/src/mongo-application-concrete.js +0 -49
  321. package/src/mongo-application-concrete.js.map +0 -1
  322. package/src/plugins/mongo-database-plugin.d.ts +0 -115
  323. package/src/plugins/mongo-database-plugin.d.ts.map +0 -1
  324. package/src/plugins/mongo-database-plugin.js +0 -234
  325. package/src/plugins/mongo-database-plugin.js.map +0 -1
  326. package/src/routers/api.d.ts +0 -60
  327. package/src/routers/api.d.ts.map +0 -1
  328. package/src/routers/api.js +0 -116
  329. package/src/routers/api.js.map +0 -1
  330. package/src/schemas/email-token.d.ts +0 -65
  331. package/src/schemas/email-token.d.ts.map +0 -1
  332. package/src/schemas/email-token.js +0 -68
  333. package/src/schemas/email-token.js.map +0 -1
  334. package/src/schemas/index.d.ts +0 -8
  335. package/src/schemas/index.d.ts.map +0 -1
  336. package/src/schemas/index.js +0 -11
  337. package/src/schemas/index.js.map +0 -1
  338. package/src/schemas/mnemonic.d.ts +0 -37
  339. package/src/schemas/mnemonic.d.ts.map +0 -1
  340. package/src/schemas/mnemonic.js +0 -41
  341. package/src/schemas/mnemonic.js.map +0 -1
  342. package/src/schemas/role.d.ts +0 -57
  343. package/src/schemas/role.d.ts.map +0 -1
  344. package/src/schemas/role.js +0 -102
  345. package/src/schemas/role.js.map +0 -1
  346. package/src/schemas/schema.d.ts +0 -62
  347. package/src/schemas/schema.d.ts.map +0 -1
  348. package/src/schemas/schema.js +0 -81
  349. package/src/schemas/schema.js.map +0 -1
  350. package/src/schemas/used-direct-login-token.d.ts +0 -49
  351. package/src/schemas/used-direct-login-token.d.ts.map +0 -1
  352. package/src/schemas/used-direct-login-token.js +0 -35
  353. package/src/schemas/used-direct-login-token.js.map +0 -1
  354. package/src/schemas/user-role.d.ts +0 -52
  355. package/src/schemas/user-role.d.ts.map +0 -1
  356. package/src/schemas/user-role.js +0 -67
  357. package/src/schemas/user-role.js.map +0 -1
  358. package/src/schemas/user.d.ts +0 -43
  359. package/src/schemas/user.d.ts.map +0 -1
  360. package/src/schemas/user.js +0 -214
  361. package/src/schemas/user.js.map +0 -1
  362. package/src/services/backup-code.d.ts +0 -120
  363. package/src/services/backup-code.d.ts.map +0 -1
  364. package/src/services/backup-code.js +0 -323
  365. package/src/services/backup-code.js.map +0 -1
  366. package/src/services/database-initialization.d.ts +0 -138
  367. package/src/services/database-initialization.d.ts.map +0 -1
  368. package/src/services/database-initialization.js +0 -913
  369. package/src/services/database-initialization.js.map +0 -1
  370. package/src/services/db-init-cache.d.ts +0 -18
  371. package/src/services/db-init-cache.d.ts.map +0 -1
  372. package/src/services/db-init-cache.js +0 -7
  373. package/src/services/db-init-cache.js.map +0 -1
  374. package/src/services/direct-login-token.d.ts +0 -28
  375. package/src/services/direct-login-token.d.ts.map +0 -1
  376. package/src/services/direct-login-token.js +0 -62
  377. package/src/services/direct-login-token.js.map +0 -1
  378. package/src/services/jwt.d.ts +0 -45
  379. package/src/services/jwt.d.ts.map +0 -1
  380. package/src/services/jwt.js +0 -105
  381. package/src/services/jwt.js.map +0 -1
  382. package/src/services/mnemonic.d.ts +0 -68
  383. package/src/services/mnemonic.d.ts.map +0 -1
  384. package/src/services/mnemonic.js +0 -120
  385. package/src/services/mnemonic.js.map +0 -1
  386. package/src/services/mongo-authentication-provider.d.ts +0 -27
  387. package/src/services/mongo-authentication-provider.d.ts.map +0 -1
  388. package/src/services/mongo-authentication-provider.js +0 -84
  389. package/src/services/mongo-authentication-provider.js.map +0 -1
  390. package/src/services/mongo-backup-code-store.d.ts +0 -40
  391. package/src/services/mongo-backup-code-store.d.ts.map +0 -1
  392. package/src/services/mongo-backup-code-store.js +0 -104
  393. package/src/services/mongo-backup-code-store.js.map +0 -1
  394. package/src/services/mongo-base.d.ts +0 -24
  395. package/src/services/mongo-base.d.ts.map +0 -1
  396. package/src/services/mongo-base.js +0 -28
  397. package/src/services/mongo-base.js.map +0 -1
  398. package/src/services/mongoose-collection.d.ts +0 -52
  399. package/src/services/mongoose-collection.d.ts.map +0 -1
  400. package/src/services/mongoose-collection.js +0 -326
  401. package/src/services/mongoose-collection.js.map +0 -1
  402. package/src/services/mongoose-database.d.ts +0 -64
  403. package/src/services/mongoose-database.d.ts.map +0 -1
  404. package/src/services/mongoose-database.js +0 -121
  405. package/src/services/mongoose-database.js.map +0 -1
  406. package/src/services/mongoose-document-store.d.ts +0 -109
  407. package/src/services/mongoose-document-store.d.ts.map +0 -1
  408. package/src/services/mongoose-document-store.js +0 -264
  409. package/src/services/mongoose-document-store.js.map +0 -1
  410. package/src/services/mongoose-session-adapter.d.ts +0 -39
  411. package/src/services/mongoose-session-adapter.d.ts.map +0 -1
  412. package/src/services/mongoose-session-adapter.js +0 -63
  413. package/src/services/mongoose-session-adapter.js.map +0 -1
  414. package/src/services/request-user.d.ts +0 -45
  415. package/src/services/request-user.d.ts.map +0 -1
  416. package/src/services/request-user.js +0 -90
  417. package/src/services/request-user.js.map +0 -1
  418. package/src/services/role.d.ts +0 -97
  419. package/src/services/role.d.ts.map +0 -1
  420. package/src/services/role.js +0 -289
  421. package/src/services/role.js.map +0 -1
  422. package/src/services/user.d.ts +0 -368
  423. package/src/services/user.d.ts.map +0 -1
  424. package/src/services/user.js +0 -1495
  425. package/src/services/user.js.map +0 -1
  426. package/src/transactions/index.d.ts +0 -2
  427. package/src/transactions/index.d.ts.map +0 -1
  428. package/src/transactions/index.js +0 -5
  429. package/src/transactions/index.js.map +0 -1
  430. package/src/transactions/transaction-manager.d.ts +0 -37
  431. package/src/transactions/transaction-manager.d.ts.map +0 -1
  432. package/src/transactions/transaction-manager.js +0 -50
  433. package/src/transactions/transaction-manager.js.map +0 -1
  434. package/src/types/mongoose-helpers.d.ts +0 -16
  435. package/src/types/mongoose-helpers.d.ts.map +0 -1
  436. package/src/types/mongoose-helpers.js +0 -8
  437. package/src/types/mongoose-helpers.js.map +0 -1
  438. package/src/utils/default-mongo-uri-validator.d.ts +0 -15
  439. package/src/utils/default-mongo-uri-validator.d.ts.map +0 -1
  440. package/src/utils/default-mongo-uri-validator.js +0 -46
  441. package/src/utils/default-mongo-uri-validator.js.map +0 -1
@@ -1,27 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Role model factory for MongoDB.
4
- * Creates Mongoose model for role management with RBAC.
5
- * @module models/role
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.RoleModel = RoleModel;
9
- const enumerations_1 = require("../enumerations");
10
- const schema_collection_1 = require("../enumerations/schema-collection");
11
- const role_1 = require("../schemas/role");
12
- /**
13
- * Creates a Mongoose model for role documents.
14
- * @template TModelName - Model name type (defaults to BaseModelName)
15
- * @template TCollection - Collection name type (defaults to SchemaCollection)
16
- * @template TID - Platform ID type (defaults to Buffer)
17
- * @param {Connection} connection - Mongoose connection instance
18
- * @param {TModelName} modelName - Model name (defaults to 'Role')
19
- * @param {TCollection} collection - Collection name (defaults to 'roles')
20
- * @param {Schema} schema - Mongoose schema (defaults to RoleSchema)
21
- * @returns {Model<RoleDocument<TID>>} Configured Mongoose model
22
- */
23
- function RoleModel(connection, modelName = enumerations_1.BaseModelName.Role, collection = schema_collection_1.SchemaCollection.Role, schema = role_1.RoleSchema) {
24
- return connection.model(modelName, schema, collection);
25
- }
26
- exports.default = RoleModel;
27
- //# sourceMappingURL=role.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"role.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/role.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoBH,8BAWC;AA3BD,kDAAgD;AAChD,yEAAqE;AACrE,0CAA6C;AAG7C;;;;;;;;;;GAUG;AACH,SAAgB,SAAS,CAKvB,UAAsB,EACtB,YAAwB,4BAAa,CAAC,IAAkB,EACxD,aAA0B,oCAAgB,CAAC,IAAmB,EAC9D,SAAiB,iBAAU;IAE3B,OAAO,UAAU,CAAC,KAAK,CAAoB,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC5E,CAAC;AAED,kBAAe,SAAS,CAAC"}
@@ -1,24 +0,0 @@
1
- /**
2
- * @fileoverview Used direct login token model factory for MongoDB.
3
- * Creates Mongoose model for tracking consumed direct login tokens.
4
- * @module models/used-direct-login-token
5
- */
6
- import { Connection, Model, Schema } from '@digitaldefiance/mongoose-types';
7
- import { UsedDirectLoginTokenDocument } from '../documents/used-direct-login-token';
8
- import { BaseModelName } from '../enumerations';
9
- import { SchemaCollection } from '../enumerations/schema-collection';
10
- import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
11
- /**
12
- * Creates a Mongoose model for used direct login token documents.
13
- * @template TModelName - Model name type (defaults to BaseModelName)
14
- * @template TCollection - Collection name type (defaults to SchemaCollection)
15
- * @template TID - Platform ID type (defaults to Buffer)
16
- * @param {Connection} connection - Mongoose connection instance
17
- * @param {TModelName} [modelName] - Model name (defaults to 'UsedDirectLoginToken')
18
- * @param {TCollection} [collection] - Collection name (defaults to 'usedDirectLoginTokens')
19
- * @param {Schema} [schema] - Mongoose schema (defaults to UsedDirectLoginTokenSchema)
20
- * @returns {Model<UsedDirectLoginTokenDocument<TID>>} Configured Mongoose model
21
- */
22
- export declare function UsedDirectLoginTokenModel<TModelName extends string = BaseModelName, TCollection extends string = SchemaCollection, TID extends PlatformID = Buffer>(connection: Connection, modelName?: TModelName, collection?: TCollection, schema?: Schema): Model<UsedDirectLoginTokenDocument<TID>>;
23
- export default UsedDirectLoginTokenModel;
24
- //# sourceMappingURL=used-direct-login-token.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"used-direct-login-token.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/used-direct-login-token.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,SAAS,MAAM,GAAG,aAAa,EACzC,WAAW,SAAS,MAAM,GAAG,gBAAgB,EAC7C,GAAG,SAAS,UAAU,GAAG,MAAM,EAE/B,UAAU,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,WAAW,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,KAAK,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC,CAAC;AAe5C,eAAe,yBAAyB,CAAC"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Used direct login token model factory for MongoDB.
4
- * Creates Mongoose model for tracking consumed direct login tokens.
5
- * @module models/used-direct-login-token
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.UsedDirectLoginTokenModel = UsedDirectLoginTokenModel;
9
- const enumerations_1 = require("../enumerations");
10
- const schema_collection_1 = require("../enumerations/schema-collection");
11
- const used_direct_login_token_1 = require("../schemas/used-direct-login-token");
12
- function UsedDirectLoginTokenModel(connection, modelName, collection, schema) {
13
- return connection.model(modelName ?? enumerations_1.BaseModelName.UsedDirectLoginToken, schema ?? used_direct_login_token_1.UsedDirectLoginTokenSchema, collection ?? schema_collection_1.SchemaCollection.UsedDirectLoginToken);
14
- }
15
- exports.default = UsedDirectLoginTokenModel;
16
- //# sourceMappingURL=used-direct-login-token.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"used-direct-login-token.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/used-direct-login-token.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA+BH,8DAWC;AAtCD,kDAAgD;AAChD,yEAAqE;AACrE,gFAAgF;AAyBhF,SAAgB,yBAAyB,CACvC,UAAsB,EACtB,SAAkB,EAClB,UAAmB,EACnB,MAAe;IAEf,OAAO,UAAU,CAAC,KAAK,CACrB,SAAS,IAAI,4BAAa,CAAC,oBAAoB,EAC/C,MAAM,IAAI,oDAA0B,EACpC,UAAU,IAAI,oCAAgB,CAAC,oBAAoB,CACpD,CAAC;AACJ,CAAC;AAED,kBAAe,yBAAyB,CAAC"}
@@ -1,23 +0,0 @@
1
- /**
2
- * @fileoverview User-role relationship model factory for MongoDB.
3
- * Creates Mongoose model for many-to-many user-role associations.
4
- * @module models/user-role
5
- */
6
- import { Connection, Model, Schema } from '@digitaldefiance/mongoose-types';
7
- import { UserRoleDocument } from '../documents/user-role';
8
- import { BaseModelName } from '../enumerations';
9
- import { SchemaCollection } from '../enumerations/schema-collection';
10
- import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
11
- /**
12
- * Creates a Mongoose model for user-role relationship documents.
13
- * @template TModelName - Model name type (defaults to BaseModelName)
14
- * @template TCollection - Collection name type (defaults to SchemaCollection)
15
- * @template TID - Platform ID type (defaults to Buffer)
16
- * @param {Connection} connection - Mongoose connection instance
17
- * @param {TModelName} modelName - Model name (defaults to 'UserRole')
18
- * @param {TCollection} collection - Collection name (defaults to 'userRoles')
19
- * @param {Schema} schema - Mongoose schema (defaults to UserRoleSchema)
20
- * @returns {Model<UserRoleDocument<TID>>} Configured Mongoose model
21
- */
22
- export default function UserRoleModel<TModelName extends string = BaseModelName, TCollection extends string = SchemaCollection, TID extends PlatformID = Buffer>(connection: Connection, modelName?: TModelName, collection?: TCollection, schema?: Schema): Model<UserRoleDocument<TID>>;
23
- //# sourceMappingURL=user-role.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-role.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/user-role.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,UAAU,SAAS,MAAM,GAAG,aAAa,EACzC,WAAW,SAAS,MAAM,GAAG,gBAAgB,EAC7C,GAAG,SAAS,UAAU,GAAG,MAAM,EAE/B,UAAU,EAAE,UAAU,EACtB,SAAS,GAAE,UAAiD,EAC5D,UAAU,GAAE,WAAsD,EAClE,MAAM,GAAE,MAAuB,GAC9B,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAE9B"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview User-role relationship model factory for MongoDB.
4
- * Creates Mongoose model for many-to-many user-role associations.
5
- * @module models/user-role
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.default = UserRoleModel;
9
- const enumerations_1 = require("../enumerations");
10
- const schema_collection_1 = require("../enumerations/schema-collection");
11
- const user_role_1 = require("../schemas/user-role");
12
- /**
13
- * Creates a Mongoose model for user-role relationship documents.
14
- * @template TModelName - Model name type (defaults to BaseModelName)
15
- * @template TCollection - Collection name type (defaults to SchemaCollection)
16
- * @template TID - Platform ID type (defaults to Buffer)
17
- * @param {Connection} connection - Mongoose connection instance
18
- * @param {TModelName} modelName - Model name (defaults to 'UserRole')
19
- * @param {TCollection} collection - Collection name (defaults to 'userRoles')
20
- * @param {Schema} schema - Mongoose schema (defaults to UserRoleSchema)
21
- * @returns {Model<UserRoleDocument<TID>>} Configured Mongoose model
22
- */
23
- function UserRoleModel(connection, modelName = enumerations_1.BaseModelName.UserRole, collection = schema_collection_1.SchemaCollection.UserRole, schema = user_role_1.UserRoleSchema) {
24
- return connection.model(modelName, schema, collection);
25
- }
26
- //# sourceMappingURL=user-role.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-role.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/user-role.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoBH,gCAWC;AA3BD,kDAAgD;AAChD,yEAAqE;AACrE,oDAAsD;AAGtD;;;;;;;;;;GAUG;AACH,SAAwB,aAAa,CAKnC,UAAsB,EACtB,YAAwB,4BAAa,CAAC,QAAsB,EAC5D,aAA0B,oCAAgB,CAAC,QAAuB,EAClE,SAAiB,0BAAc;IAE/B,OAAO,UAAU,CAAC,KAAK,CAAwB,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAChF,CAAC"}
@@ -1,24 +0,0 @@
1
- /**
2
- * @fileoverview User model factory for MongoDB.
3
- * Creates Mongoose model for user management with authentication.
4
- * @module models/user
5
- */
6
- import { Connection, Model, Schema } from '@digitaldefiance/mongoose-types';
7
- import { UserDocument } from '../documents/user';
8
- import { BaseModelName } from '../enumerations';
9
- import { SchemaCollection } from '../enumerations/schema-collection';
10
- import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
11
- /**
12
- * Creates a Mongoose model for user documents.
13
- * @template TModelName - Model name type (defaults to BaseModelName)
14
- * @template TCollection - Collection name type (defaults to SchemaCollection)
15
- * @template TID - Platform ID type (defaults to Buffer)
16
- * @param {Connection} connection - Mongoose connection instance
17
- * @param {TModelName} modelName - Model name (defaults to 'User')
18
- * @param {TCollection} collection - Collection name (defaults to 'users')
19
- * @param {Schema} schema - Mongoose schema (defaults to UserSchema)
20
- * @returns {Model<UserDocument<string, TID>>} Configured Mongoose model
21
- */
22
- export declare function UserModel<TModelName extends string = BaseModelName, TCollection extends string = SchemaCollection, TID extends PlatformID = Buffer>(connection: Connection, modelName?: TModelName, collection?: TCollection, schema?: Schema): Model<UserDocument<string, TID>>;
23
- export default UserModel;
24
- //# sourceMappingURL=user.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/user.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,UAAU,SAAS,MAAM,GAAG,aAAa,EACzC,WAAW,SAAS,MAAM,GAAG,gBAAgB,EAC7C,GAAG,SAAS,UAAU,GAAG,MAAM,EAE/B,UAAU,EAAE,UAAU,EACtB,SAAS,GAAE,UAA6C,EACxD,UAAU,GAAE,WAAkD,EAC9D,MAAM,GAAE,MAAmB,GAC1B,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAMlC;AAED,eAAe,SAAS,CAAC"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview User model factory for MongoDB.
4
- * Creates Mongoose model for user management with authentication.
5
- * @module models/user
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.UserModel = UserModel;
9
- const enumerations_1 = require("../enumerations");
10
- const schema_collection_1 = require("../enumerations/schema-collection");
11
- const user_1 = require("../schemas/user");
12
- /**
13
- * Creates a Mongoose model for user documents.
14
- * @template TModelName - Model name type (defaults to BaseModelName)
15
- * @template TCollection - Collection name type (defaults to SchemaCollection)
16
- * @template TID - Platform ID type (defaults to Buffer)
17
- * @param {Connection} connection - Mongoose connection instance
18
- * @param {TModelName} modelName - Model name (defaults to 'User')
19
- * @param {TCollection} collection - Collection name (defaults to 'users')
20
- * @param {Schema} schema - Mongoose schema (defaults to UserSchema)
21
- * @returns {Model<UserDocument<string, TID>>} Configured Mongoose model
22
- */
23
- function UserModel(connection, modelName = enumerations_1.BaseModelName.User, collection = schema_collection_1.SchemaCollection.User, schema = user_1.UserSchema) {
24
- return connection.model(modelName, schema, collection);
25
- }
26
- exports.default = UserModel;
27
- //# sourceMappingURL=user.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/user.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoBH,8BAeC;AA/BD,kDAAgD;AAChD,yEAAqE;AACrE,0CAA6C;AAG7C;;;;;;;;;;GAUG;AACH,SAAgB,SAAS,CAKvB,UAAsB,EACtB,YAAwB,4BAAa,CAAC,IAAkB,EACxD,aAA0B,oCAAgB,CAAC,IAAmB,EAC9D,SAAiB,iBAAU;IAE3B,OAAO,UAAU,CAAC,KAAK,CACrB,SAAS,EACT,MAAM,EACN,UAAU,CACX,CAAC;AACJ,CAAC;AAED,kBAAe,SAAS,CAAC"}
@@ -1,32 +0,0 @@
1
- /**
2
- * @fileoverview Concrete implementation of the Application class for testing and development.
3
- * Uses the new plugin-based architecture with MongoDatabasePlugin.
4
- * @module mongo-application-concrete
5
- */
6
- import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
7
- import { Application } from './application';
8
- import { Environment } from './environment';
9
- import { IConstants } from './interfaces';
10
- import { AppRouter } from './routers';
11
- import { MongoDatabasePlugin } from './plugins/mongo-database-plugin';
12
- /**
13
- * Concrete implementation of the Application class for testing and development purposes.
14
- * Provides a ready-to-use application instance with default configuration,
15
- * MongoDatabasePlugin, and dummy email service.
16
- *
17
- * @template TID - Platform ID type (Buffer, ObjectId, etc.)
18
- */
19
- export declare class MongoApplicationConcrete<TID extends PlatformID = Buffer> extends Application<TID, Environment<TID>, IConstants, AppRouter<TID>> {
20
- /**
21
- * The Mongo database plugin for accessing Mongoose-specific features.
22
- */
23
- readonly mongoPlugin: MongoDatabasePlugin<TID, any, any, IConstants>;
24
- /**
25
- * Creates a new concrete application instance.
26
- *
27
- * @param environment - Application environment configuration
28
- * @param constants - Application constants (defaults to LocalhostConstants)
29
- */
30
- constructor(environment: Environment<TID>, constants?: IConstants);
31
- }
32
- //# sourceMappingURL=mongo-application-concrete.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo-application-concrete.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/mongo-application-concrete.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAa,SAAS,EAAE,MAAM,WAAW,CAAC;AAIjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE;;;;;;GAMG;AACH,qBAAa,wBAAwB,CACnC,GAAG,SAAS,UAAU,GAAG,MAAM,CAC/B,SAAQ,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IACtE;;OAEG;IACH,SAAgB,WAAW,EAAE,mBAAmB,CAC9C,GAAG,EAEH,GAAG,EAEH,GAAG,EACH,UAAU,CACX,CAAC;IAEF;;;;;OAKG;gBAED,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,EAC7B,SAAS,GAAE,UAA+B;CA8B7C"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Concrete implementation of the Application class for testing and development.
4
- * Uses the new plugin-based architecture with MongoDatabasePlugin.
5
- * @module mongo-application-concrete
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.MongoApplicationConcrete = void 0;
9
- const application_1 = require("./application");
10
- const constants_1 = require("./constants");
11
- const registry_1 = require("./registry");
12
- const routers_1 = require("./routers");
13
- const schemas_1 = require("./schemas");
14
- const services_1 = require("./services");
15
- const dummy_email_service_1 = require("./services/dummy-email-service");
16
- const mongo_database_plugin_1 = require("./plugins/mongo-database-plugin");
17
- /**
18
- * Concrete implementation of the Application class for testing and development purposes.
19
- * Provides a ready-to-use application instance with default configuration,
20
- * MongoDatabasePlugin, and dummy email service.
21
- *
22
- * @template TID - Platform ID type (Buffer, ObjectId, etc.)
23
- */
24
- class MongoApplicationConcrete extends application_1.Application {
25
- /**
26
- * The Mongo database plugin for accessing Mongoose-specific features.
27
- */
28
- mongoPlugin;
29
- /**
30
- * Creates a new concrete application instance.
31
- *
32
- * @param environment - Application environment configuration
33
- * @param constants - Application constants (defaults to LocalhostConstants)
34
- */
35
- constructor(environment, constants = constants_1.LocalhostConstants) {
36
- super(environment, (app) => new routers_1.ApiRouter(app), undefined, constants, (apiRouter) => new routers_1.AppRouter(apiRouter), undefined);
37
- this.mongoPlugin = new mongo_database_plugin_1.MongoDatabasePlugin({
38
- schemaMapFactory: schemas_1.getSchemaMap,
39
- databaseInitFunction: services_1.DatabaseInitializationService.initUserDb.bind(services_1.DatabaseInitializationService),
40
- initResultHashFunction: services_1.DatabaseInitializationService.serverInitResultHash.bind(services_1.DatabaseInitializationService),
41
- environment,
42
- constants,
43
- });
44
- this.useDatabasePlugin(this.mongoPlugin);
45
- registry_1.emailServiceRegistry.setService(new dummy_email_service_1.DummyEmailService(this));
46
- }
47
- }
48
- exports.MongoApplicationConcrete = MongoApplicationConcrete;
49
- //# sourceMappingURL=mongo-application-concrete.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo-application-concrete.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/mongo-application-concrete.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,+CAA4C;AAC5C,2CAAiD;AAIjD,yCAAkD;AAClD,uCAAiD;AACjD,uCAAyC;AACzC,yCAA2D;AAC3D,wEAAmE;AACnE,2EAAsE;AAEtE;;;;;;GAMG;AACH,MAAa,wBAEX,SAAQ,yBAA8D;IACtE;;OAEG;IACa,WAAW,CAOzB;IAEF;;;;;OAKG;IACH,YACE,WAA6B,EAC7B,YAAwB,8BAAkB;QAE1C,KAAK,CACH,WAAW,EACX,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,mBAAS,CAAC,GAA6B,CAAC,EACrD,SAAS,EACT,SAAS,EACT,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,mBAAS,CAAC,SAAS,CAAmB,EACzD,SAAS,CACV,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,IAAI,2CAAmB,CAAC;YACzC,gBAAgB,EAAE,sBAAY;YAC9B,oBAAoB,EAAE,wCAA6B,CAAC,UAAU,CAAC,IAAI,CACjE,wCAA6B,CAC9B;YACD,sBAAsB,EACpB,wCAA6B,CAAC,oBAAoB,CAAC,IAAI,CACrD,wCAA6B,CAC9B;YACH,WAAW;YACX,SAAS;SACV,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEzC,+BAAoB,CAAC,UAAU,CAC7B,IAAI,uCAAiB,CAAmB,IAAI,CAAC,CAC9C,CAAC;IACJ,CAAC;CACF;AArDD,4DAqDC"}
@@ -1,115 +0,0 @@
1
- /**
2
- * @fileoverview Mongoose/MongoDB database plugin.
3
- * Extracts all Mongo-specific database lifecycle
4
- * into a plugin that can be registered on any Application instance.
5
- * @module plugins/mongo-database-plugin
6
- */
7
- import { Model } from '@digitaldefiance/mongoose-types';
8
- import mongoose from '@digitaldefiance/mongoose-types';
9
- import { IFailableResult } from '@digitaldefiance/suite-core-lib';
10
- import { MongoMemoryReplSet } from 'mongodb-memory-server';
11
- import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
12
- import type { IDatabase } from '@digitaldefiance/suite-core-lib';
13
- import type { IAuthenticationProvider } from '../interfaces/authentication-provider';
14
- import type { IApplication } from '../interfaces/application';
15
- import type { BaseDocument } from '../documents/base';
16
- import type { IDocumentStore } from '../interfaces/mongoose-document-store';
17
- import type { IConstants } from '../interfaces/constants';
18
- import type { IMongoApplication } from '../interfaces/mongo-application';
19
- import type { SchemaMap } from '../types';
20
- import type { IDatabasePlugin } from './database-plugin';
21
- import { Environment } from '../environment';
22
- /**
23
- * Options for constructing a MongoDatabasePlugin.
24
- */
25
- export interface MongoDatabasePluginOptions<TID extends PlatformID, TModelDocs extends Record<string, BaseDocument<any, TID>>, TInitResults, TConstants extends IConstants = IConstants> {
26
- schemaMapFactory: (connection: mongoose.Connection) => SchemaMap<TID, TModelDocs>;
27
- databaseInitFunction: (application: IMongoApplication<TID>) => Promise<IFailableResult<TInitResults>>;
28
- initResultHashFunction: (initResults: TInitResults) => string;
29
- environment: Environment<TID>;
30
- constants?: TConstants;
31
- }
32
- /**
33
- * Mongoose/MongoDB database plugin.
34
- *
35
- * Wraps a MongooseDocumentStore and exposes Mongoose-specific accessors
36
- * (db, getModel, schemaMap, devDatabase) while conforming to the
37
- * IDatabasePlugin contract for pluggable database backends.
38
- *
39
- * @template TID - Platform ID type
40
- * @template TModelDocs - Record mapping model names to document types
41
- * @template TInitResults - Database initialization result type
42
- * @template TConstants - Application constants type
43
- */
44
- export declare class MongoDatabasePlugin<TID extends PlatformID, TModelDocs extends Record<string, BaseDocument<any, TID>>, TInitResults, TConstants extends IConstants = IConstants> implements IDatabasePlugin<TID> {
45
- readonly name = "mongo-database";
46
- readonly version = "1.0.0";
47
- private readonly _documentStore;
48
- private readonly _environment;
49
- private _authProvider;
50
- private _application;
51
- private _lastInitResult;
52
- constructor(options: MongoDatabasePluginOptions<TID, TModelDocs, TInitResults, TConstants>);
53
- /**
54
- * Construct from an existing IDocumentStore instance.
55
- */
56
- static fromDocumentStore<TID extends PlatformID, TModelDocs extends Record<string, BaseDocument<any, TID>>, TInitResults, TConstants extends IConstants = IConstants>(documentStore: IDocumentStore<TID, TModelDocs>, environment: Environment<TID>): MongoDatabasePlugin<TID, TModelDocs, TInitResults, TConstants>;
57
- /**
58
- * The IDatabase instance. For Mongo, this is a no-op adapter since
59
- * the document store manages its own connection lifecycle.
60
- */
61
- get database(): IDatabase;
62
- get authenticationProvider(): IAuthenticationProvider<TID> | undefined;
63
- connect(uri?: string): Promise<void>;
64
- disconnect(): Promise<void>;
65
- isConnected(): boolean;
66
- setupDevStore(): Promise<string>;
67
- teardownDevStore(): Promise<void>;
68
- initializeDevStore(): Promise<TInitResults | undefined>;
69
- /**
70
- * Get the result of the last initializeDevStore call.
71
- * Available after start() completes in dev mode.
72
- */
73
- get lastInitResult(): TInitResults | undefined;
74
- /**
75
- * Get the IMongoApplication adapter created during init().
76
- * This adapter delegates Mongo-specific accessors (db, getModel) to the plugin
77
- * and everything else to the real application. Use this when constructing
78
- * services that need IMongoApplication (e.g. UserService, RoleService).
79
- * Available after init() has been called.
80
- */
81
- get mongoApplication(): IMongoApplication<TID> | undefined;
82
- /**
83
- * Called by PluginManager during Application.start().
84
- * Wires up the Mongoose-backed authentication provider.
85
- */
86
- init(app: IApplication<TID>): Promise<void>;
87
- stop(): Promise<void>;
88
- /**
89
- * Get the Mongoose database instance.
90
- */
91
- get db(): typeof mongoose;
92
- /**
93
- * Get the schema map for all models.
94
- */
95
- get schemaMap(): SchemaMap<TID, TModelDocs>;
96
- /**
97
- * Get the in-memory MongoDB instance (if any).
98
- */
99
- get devDatabase(): MongoMemoryReplSet | undefined;
100
- /**
101
- * Get the underlying document store.
102
- */
103
- get documentStore(): IDocumentStore<TID, TModelDocs>;
104
- /**
105
- * Get a Mongoose model by name.
106
- */
107
- getModel<T extends BaseDocument<any, TID>>(modelName: string): Model<T>;
108
- /**
109
- * Creates a lightweight adapter that satisfies IMongoApplication
110
- * by delegating to the plugin for Mongo-specific accessors and
111
- * to the real app for everything else.
112
- */
113
- private createMongoAppAdapter;
114
- }
115
- //# sourceMappingURL=mongo-database-plugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo-database-plugin.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/plugins/mongo-database-plugin.ts"],"names":[],"mappings":"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"}