@digitaldefiance/node-express-suite-mongo 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 (390) hide show
  1. package/README.md +152 -0
  2. package/package.json +51 -0
  3. package/src/__tests__/fixtures/index.d.ts +2 -0
  4. package/src/__tests__/fixtures/index.d.ts.map +1 -0
  5. package/src/__tests__/fixtures/index.js +5 -0
  6. package/src/__tests__/fixtures/index.js.map +1 -0
  7. package/src/__tests__/fixtures/model-mocks.mock.d.ts +12 -0
  8. package/src/__tests__/fixtures/model-mocks.mock.d.ts.map +1 -0
  9. package/src/__tests__/fixtures/model-mocks.mock.js +102 -0
  10. package/src/__tests__/fixtures/model-mocks.mock.js.map +1 -0
  11. package/src/__tests__/helpers/application.mock.d.ts +4 -0
  12. package/src/__tests__/helpers/application.mock.d.ts.map +1 -0
  13. package/src/__tests__/helpers/application.mock.js +35 -0
  14. package/src/__tests__/helpers/application.mock.js.map +1 -0
  15. package/src/__tests__/helpers/index.d.ts +5 -0
  16. package/src/__tests__/helpers/index.d.ts.map +1 -0
  17. package/src/__tests__/helpers/index.js +8 -0
  18. package/src/__tests__/helpers/index.js.map +1 -0
  19. package/src/__tests__/helpers/mongoose-memory.d.ts +14 -0
  20. package/src/__tests__/helpers/mongoose-memory.d.ts.map +1 -0
  21. package/src/__tests__/helpers/mongoose-memory.js +49 -0
  22. package/src/__tests__/helpers/mongoose-memory.js.map +1 -0
  23. package/src/__tests__/helpers/setup-test-env.d.ts +13 -0
  24. package/src/__tests__/helpers/setup-test-env.d.ts.map +1 -0
  25. package/src/__tests__/helpers/setup-test-env.js +131 -0
  26. package/src/__tests__/helpers/setup-test-env.js.map +1 -0
  27. package/src/__tests__/index.d.ts +3 -0
  28. package/src/__tests__/index.d.ts.map +1 -0
  29. package/src/__tests__/index.js +6 -0
  30. package/src/__tests__/index.js.map +1 -0
  31. package/src/builders/application-builder.d.ts +38 -0
  32. package/src/builders/application-builder.d.ts.map +1 -0
  33. package/src/builders/application-builder.js +82 -0
  34. package/src/builders/application-builder.js.map +1 -0
  35. package/src/builders/index.d.ts +2 -0
  36. package/src/builders/index.d.ts.map +1 -0
  37. package/src/builders/index.js +5 -0
  38. package/src/builders/index.js.map +1 -0
  39. package/src/controllers/index.d.ts +3 -0
  40. package/src/controllers/index.d.ts.map +1 -0
  41. package/src/controllers/index.js +6 -0
  42. package/src/controllers/index.js.map +1 -0
  43. package/src/controllers/mongo-base.d.ts +55 -0
  44. package/src/controllers/mongo-base.d.ts.map +1 -0
  45. package/src/controllers/mongo-base.js +108 -0
  46. package/src/controllers/mongo-base.js.map +1 -0
  47. package/src/controllers/user.d.ts +61 -0
  48. package/src/controllers/user.d.ts.map +1 -0
  49. package/src/controllers/user.js +944 -0
  50. package/src/controllers/user.js.map +1 -0
  51. package/src/documents/base.d.ts +15 -0
  52. package/src/documents/base.d.ts.map +1 -0
  53. package/src/documents/base.js +8 -0
  54. package/src/documents/base.js.map +1 -0
  55. package/src/documents/email-token.d.ts +15 -0
  56. package/src/documents/email-token.d.ts.map +1 -0
  57. package/src/documents/email-token.js +8 -0
  58. package/src/documents/email-token.js.map +1 -0
  59. package/src/documents/index.d.ts +8 -0
  60. package/src/documents/index.d.ts.map +1 -0
  61. package/src/documents/index.js +3 -0
  62. package/src/documents/index.js.map +1 -0
  63. package/src/documents/mnemonic.d.ts +16 -0
  64. package/src/documents/mnemonic.d.ts.map +1 -0
  65. package/src/documents/mnemonic.js +8 -0
  66. package/src/documents/mnemonic.js.map +1 -0
  67. package/src/documents/role.d.ts +15 -0
  68. package/src/documents/role.d.ts.map +1 -0
  69. package/src/documents/role.js +8 -0
  70. package/src/documents/role.js.map +1 -0
  71. package/src/documents/used-direct-login-token.d.ts +16 -0
  72. package/src/documents/used-direct-login-token.d.ts.map +1 -0
  73. package/src/documents/used-direct-login-token.js +8 -0
  74. package/src/documents/used-direct-login-token.js.map +1 -0
  75. package/src/documents/user-role.d.ts +16 -0
  76. package/src/documents/user-role.d.ts.map +1 -0
  77. package/src/documents/user-role.js +8 -0
  78. package/src/documents/user-role.js.map +1 -0
  79. package/src/documents/user.d.ts +16 -0
  80. package/src/documents/user.d.ts.map +1 -0
  81. package/src/documents/user.js +8 -0
  82. package/src/documents/user.js.map +1 -0
  83. package/src/enumerations/base-model-name.d.ts +43 -0
  84. package/src/enumerations/base-model-name.d.ts.map +1 -0
  85. package/src/enumerations/base-model-name.js +39 -0
  86. package/src/enumerations/base-model-name.js.map +1 -0
  87. package/src/enumerations/index.d.ts +3 -0
  88. package/src/enumerations/index.d.ts.map +1 -0
  89. package/src/enumerations/index.js +6 -0
  90. package/src/enumerations/index.js.map +1 -0
  91. package/src/enumerations/schema-collection.d.ts +39 -0
  92. package/src/enumerations/schema-collection.d.ts.map +1 -0
  93. package/src/enumerations/schema-collection.js +43 -0
  94. package/src/enumerations/schema-collection.js.map +1 -0
  95. package/src/errors/index.d.ts +5 -0
  96. package/src/errors/index.d.ts.map +1 -0
  97. package/src/errors/index.js +8 -0
  98. package/src/errors/index.js.map +1 -0
  99. package/src/errors/invalid-backup-code-version.d.ts +5 -0
  100. package/src/errors/invalid-backup-code-version.d.ts.map +1 -0
  101. package/src/errors/invalid-backup-code-version.js +14 -0
  102. package/src/errors/invalid-backup-code-version.js.map +1 -0
  103. package/src/errors/invalid-model.d.ts +18 -0
  104. package/src/errors/invalid-model.d.ts.map +1 -0
  105. package/src/errors/invalid-model.js +26 -0
  106. package/src/errors/invalid-model.js.map +1 -0
  107. package/src/errors/model-not-registered.d.ts +18 -0
  108. package/src/errors/model-not-registered.d.ts.map +1 -0
  109. package/src/errors/model-not-registered.js +26 -0
  110. package/src/errors/model-not-registered.js.map +1 -0
  111. package/src/errors/mongoose-validation.d.ts +28 -0
  112. package/src/errors/mongoose-validation.d.ts.map +1 -0
  113. package/src/errors/mongoose-validation.js +33 -0
  114. package/src/errors/mongoose-validation.js.map +1 -0
  115. package/src/index.d.ts +19 -0
  116. package/src/index.d.ts.map +1 -0
  117. package/src/index.js +31 -0
  118. package/src/index.js.map +1 -0
  119. package/src/interfaces/api-mongo-validation-error-response.d.ts +16 -0
  120. package/src/interfaces/api-mongo-validation-error-response.d.ts.map +1 -0
  121. package/src/interfaces/api-mongo-validation-error-response.js +8 -0
  122. package/src/interfaces/api-mongo-validation-error-response.js.map +1 -0
  123. package/src/interfaces/database-init-result-tx.d.ts +27 -0
  124. package/src/interfaces/database-init-result-tx.d.ts.map +1 -0
  125. package/src/interfaces/database-init-result-tx.js +3 -0
  126. package/src/interfaces/database-init-result-tx.js.map +1 -0
  127. package/src/interfaces/db-init-result.d.ts +16 -0
  128. package/src/interfaces/db-init-result.d.ts.map +1 -0
  129. package/src/interfaces/db-init-result.js +8 -0
  130. package/src/interfaces/db-init-result.js.map +1 -0
  131. package/src/interfaces/discriminator-collections.d.ts +17 -0
  132. package/src/interfaces/discriminator-collections.d.ts.map +1 -0
  133. package/src/interfaces/discriminator-collections.js +8 -0
  134. package/src/interfaces/discriminator-collections.js.map +1 -0
  135. package/src/interfaces/environment-mongo.d.ts +88 -0
  136. package/src/interfaces/environment-mongo.d.ts.map +1 -0
  137. package/src/interfaces/environment-mongo.js +8 -0
  138. package/src/interfaces/environment-mongo.js.map +1 -0
  139. package/src/interfaces/index.d.ts +13 -0
  140. package/src/interfaces/index.d.ts.map +1 -0
  141. package/src/interfaces/index.js +16 -0
  142. package/src/interfaces/index.js.map +1 -0
  143. package/src/interfaces/models/email-token.d.ts +12 -0
  144. package/src/interfaces/models/email-token.d.ts.map +1 -0
  145. package/src/interfaces/models/email-token.js +8 -0
  146. package/src/interfaces/models/email-token.js.map +1 -0
  147. package/src/interfaces/models/index.d.ts +8 -0
  148. package/src/interfaces/models/index.d.ts.map +1 -0
  149. package/src/interfaces/models/index.js +11 -0
  150. package/src/interfaces/models/index.js.map +1 -0
  151. package/src/interfaces/models/mnemonic.d.ts +13 -0
  152. package/src/interfaces/models/mnemonic.d.ts.map +1 -0
  153. package/src/interfaces/models/mnemonic.js +8 -0
  154. package/src/interfaces/models/mnemonic.js.map +1 -0
  155. package/src/interfaces/models/role.d.ts +12 -0
  156. package/src/interfaces/models/role.d.ts.map +1 -0
  157. package/src/interfaces/models/role.js +8 -0
  158. package/src/interfaces/models/role.js.map +1 -0
  159. package/src/interfaces/models/token-role.d.ts +19 -0
  160. package/src/interfaces/models/token-role.d.ts.map +1 -0
  161. package/src/interfaces/models/token-role.js +8 -0
  162. package/src/interfaces/models/token-role.js.map +1 -0
  163. package/src/interfaces/models/used-direct-login-token.d.ts +19 -0
  164. package/src/interfaces/models/used-direct-login-token.d.ts.map +1 -0
  165. package/src/interfaces/models/used-direct-login-token.js +8 -0
  166. package/src/interfaces/models/used-direct-login-token.js.map +1 -0
  167. package/src/interfaces/models/user-role.d.ts +19 -0
  168. package/src/interfaces/models/user-role.d.ts.map +1 -0
  169. package/src/interfaces/models/user-role.js +8 -0
  170. package/src/interfaces/models/user-role.js.map +1 -0
  171. package/src/interfaces/models/user.d.ts +21 -0
  172. package/src/interfaces/models/user.d.ts.map +1 -0
  173. package/src/interfaces/models/user.js +8 -0
  174. package/src/interfaces/models/user.js.map +1 -0
  175. package/src/interfaces/mongo-application.d.ts +47 -0
  176. package/src/interfaces/mongo-application.d.ts.map +1 -0
  177. package/src/interfaces/mongo-application.js +10 -0
  178. package/src/interfaces/mongo-application.js.map +1 -0
  179. package/src/interfaces/mongo-errors.d.ts +13 -0
  180. package/src/interfaces/mongo-errors.d.ts.map +1 -0
  181. package/src/interfaces/mongo-errors.js +8 -0
  182. package/src/interfaces/mongo-errors.js.map +1 -0
  183. package/src/interfaces/mongoose-document-store.d.ts +42 -0
  184. package/src/interfaces/mongoose-document-store.d.ts.map +1 -0
  185. package/src/interfaces/mongoose-document-store.js +10 -0
  186. package/src/interfaces/mongoose-document-store.js.map +1 -0
  187. package/src/interfaces/schema.d.ts +37 -0
  188. package/src/interfaces/schema.d.ts.map +1 -0
  189. package/src/interfaces/schema.js +8 -0
  190. package/src/interfaces/schema.js.map +1 -0
  191. package/src/interfaces/server-init-result.d.ts +45 -0
  192. package/src/interfaces/server-init-result.d.ts.map +1 -0
  193. package/src/interfaces/server-init-result.js +8 -0
  194. package/src/interfaces/server-init-result.js.map +1 -0
  195. package/src/interfaces/test-environment.d.ts +22 -0
  196. package/src/interfaces/test-environment.d.ts.map +1 -0
  197. package/src/interfaces/test-environment.js +8 -0
  198. package/src/interfaces/test-environment.js.map +1 -0
  199. package/src/model-registry.d.ts +79 -0
  200. package/src/model-registry.d.ts.map +1 -0
  201. package/src/model-registry.js +97 -0
  202. package/src/model-registry.js.map +1 -0
  203. package/src/models/email-token.d.ts +24 -0
  204. package/src/models/email-token.d.ts.map +1 -0
  205. package/src/models/email-token.js +16 -0
  206. package/src/models/email-token.js.map +1 -0
  207. package/src/models/index.d.ts +7 -0
  208. package/src/models/index.d.ts.map +1 -0
  209. package/src/models/index.js +10 -0
  210. package/src/models/index.js.map +1 -0
  211. package/src/models/mnemonic.d.ts +24 -0
  212. package/src/models/mnemonic.d.ts.map +1 -0
  213. package/src/models/mnemonic.js +27 -0
  214. package/src/models/mnemonic.js.map +1 -0
  215. package/src/models/role.d.ts +24 -0
  216. package/src/models/role.d.ts.map +1 -0
  217. package/src/models/role.js +27 -0
  218. package/src/models/role.js.map +1 -0
  219. package/src/models/used-direct-login-token.d.ts +24 -0
  220. package/src/models/used-direct-login-token.d.ts.map +1 -0
  221. package/src/models/used-direct-login-token.js +16 -0
  222. package/src/models/used-direct-login-token.js.map +1 -0
  223. package/src/models/user-role.d.ts +23 -0
  224. package/src/models/user-role.d.ts.map +1 -0
  225. package/src/models/user-role.js +26 -0
  226. package/src/models/user-role.js.map +1 -0
  227. package/src/models/user.d.ts +24 -0
  228. package/src/models/user.d.ts.map +1 -0
  229. package/src/models/user.js +27 -0
  230. package/src/models/user.js.map +1 -0
  231. package/src/mongo-application-concrete.d.ts +30 -0
  232. package/src/mongo-application-concrete.d.ts.map +1 -0
  233. package/src/mongo-application-concrete.js +46 -0
  234. package/src/mongo-application-concrete.js.map +1 -0
  235. package/src/plugins/index.d.ts +2 -0
  236. package/src/plugins/index.d.ts.map +1 -0
  237. package/src/plugins/index.js +5 -0
  238. package/src/plugins/index.js.map +1 -0
  239. package/src/plugins/mongo-database-plugin.d.ts +116 -0
  240. package/src/plugins/mongo-database-plugin.d.ts.map +1 -0
  241. package/src/plugins/mongo-database-plugin.js +230 -0
  242. package/src/plugins/mongo-database-plugin.js.map +1 -0
  243. package/src/routers/api.d.ts +29 -0
  244. package/src/routers/api.d.ts.map +1 -0
  245. package/src/routers/api.js +84 -0
  246. package/src/routers/api.js.map +1 -0
  247. package/src/routers/index.d.ts +2 -0
  248. package/src/routers/index.d.ts.map +1 -0
  249. package/src/routers/index.js +5 -0
  250. package/src/routers/index.js.map +1 -0
  251. package/src/schemas/email-token.d.ts +65 -0
  252. package/src/schemas/email-token.d.ts.map +1 -0
  253. package/src/schemas/email-token.js +68 -0
  254. package/src/schemas/email-token.js.map +1 -0
  255. package/src/schemas/index.d.ts +8 -0
  256. package/src/schemas/index.d.ts.map +1 -0
  257. package/src/schemas/index.js +11 -0
  258. package/src/schemas/index.js.map +1 -0
  259. package/src/schemas/mnemonic.d.ts +37 -0
  260. package/src/schemas/mnemonic.d.ts.map +1 -0
  261. package/src/schemas/mnemonic.js +41 -0
  262. package/src/schemas/mnemonic.js.map +1 -0
  263. package/src/schemas/role.d.ts +57 -0
  264. package/src/schemas/role.d.ts.map +1 -0
  265. package/src/schemas/role.js +102 -0
  266. package/src/schemas/role.js.map +1 -0
  267. package/src/schemas/schema.d.ts +62 -0
  268. package/src/schemas/schema.d.ts.map +1 -0
  269. package/src/schemas/schema.js +81 -0
  270. package/src/schemas/schema.js.map +1 -0
  271. package/src/schemas/used-direct-login-token.d.ts +49 -0
  272. package/src/schemas/used-direct-login-token.d.ts.map +1 -0
  273. package/src/schemas/used-direct-login-token.js +35 -0
  274. package/src/schemas/used-direct-login-token.js.map +1 -0
  275. package/src/schemas/user-role.d.ts +52 -0
  276. package/src/schemas/user-role.d.ts.map +1 -0
  277. package/src/schemas/user-role.js +67 -0
  278. package/src/schemas/user-role.js.map +1 -0
  279. package/src/schemas/user.d.ts +43 -0
  280. package/src/schemas/user.d.ts.map +1 -0
  281. package/src/schemas/user.js +214 -0
  282. package/src/schemas/user.js.map +1 -0
  283. package/src/services/backup-code.d.ts +118 -0
  284. package/src/services/backup-code.d.ts.map +1 -0
  285. package/src/services/backup-code.js +320 -0
  286. package/src/services/backup-code.js.map +1 -0
  287. package/src/services/database-initialization.d.ts +137 -0
  288. package/src/services/database-initialization.d.ts.map +1 -0
  289. package/src/services/database-initialization.js +911 -0
  290. package/src/services/database-initialization.js.map +1 -0
  291. package/src/services/db-init-cache.d.ts +18 -0
  292. package/src/services/db-init-cache.d.ts.map +1 -0
  293. package/src/services/db-init-cache.js +7 -0
  294. package/src/services/db-init-cache.js.map +1 -0
  295. package/src/services/direct-login-token.d.ts +28 -0
  296. package/src/services/direct-login-token.d.ts.map +1 -0
  297. package/src/services/direct-login-token.js +62 -0
  298. package/src/services/direct-login-token.js.map +1 -0
  299. package/src/services/index.d.ts +17 -0
  300. package/src/services/index.d.ts.map +1 -0
  301. package/src/services/index.js +20 -0
  302. package/src/services/index.js.map +1 -0
  303. package/src/services/jwt.d.ts +20 -0
  304. package/src/services/jwt.d.ts.map +1 -0
  305. package/src/services/jwt.js +79 -0
  306. package/src/services/jwt.js.map +1 -0
  307. package/src/services/mnemonic.d.ts +30 -0
  308. package/src/services/mnemonic.d.ts.map +1 -0
  309. package/src/services/mnemonic.js +80 -0
  310. package/src/services/mnemonic.js.map +1 -0
  311. package/src/services/mongo-authentication-provider.d.ts +27 -0
  312. package/src/services/mongo-authentication-provider.d.ts.map +1 -0
  313. package/src/services/mongo-authentication-provider.js +97 -0
  314. package/src/services/mongo-authentication-provider.js.map +1 -0
  315. package/src/services/mongo-backup-code-store.d.ts +40 -0
  316. package/src/services/mongo-backup-code-store.d.ts.map +1 -0
  317. package/src/services/mongo-backup-code-store.js +104 -0
  318. package/src/services/mongo-backup-code-store.js.map +1 -0
  319. package/src/services/mongo-base.d.ts +24 -0
  320. package/src/services/mongo-base.d.ts.map +1 -0
  321. package/src/services/mongo-base.js +28 -0
  322. package/src/services/mongo-base.js.map +1 -0
  323. package/src/services/mongoose-collection.d.ts +52 -0
  324. package/src/services/mongoose-collection.d.ts.map +1 -0
  325. package/src/services/mongoose-collection.js +326 -0
  326. package/src/services/mongoose-collection.js.map +1 -0
  327. package/src/services/mongoose-database.d.ts +64 -0
  328. package/src/services/mongoose-database.d.ts.map +1 -0
  329. package/src/services/mongoose-database.js +121 -0
  330. package/src/services/mongoose-database.js.map +1 -0
  331. package/src/services/mongoose-document-store.d.ts +108 -0
  332. package/src/services/mongoose-document-store.d.ts.map +1 -0
  333. package/src/services/mongoose-document-store.js +265 -0
  334. package/src/services/mongoose-document-store.js.map +1 -0
  335. package/src/services/mongoose-session-adapter.d.ts +39 -0
  336. package/src/services/mongoose-session-adapter.d.ts.map +1 -0
  337. package/src/services/mongoose-session-adapter.js +63 -0
  338. package/src/services/mongoose-session-adapter.js.map +1 -0
  339. package/src/services/request-user.d.ts +22 -0
  340. package/src/services/request-user.d.ts.map +1 -0
  341. package/src/services/request-user.js +66 -0
  342. package/src/services/request-user.js.map +1 -0
  343. package/src/services/role.d.ts +97 -0
  344. package/src/services/role.d.ts.map +1 -0
  345. package/src/services/role.js +288 -0
  346. package/src/services/role.js.map +1 -0
  347. package/src/services/user.d.ts +362 -0
  348. package/src/services/user.d.ts.map +1 -0
  349. package/src/services/user.js +1504 -0
  350. package/src/services/user.js.map +1 -0
  351. package/src/testing.d.ts +9 -0
  352. package/src/testing.d.ts.map +1 -0
  353. package/src/testing.js +12 -0
  354. package/src/testing.js.map +1 -0
  355. package/src/transactions/index.d.ts +2 -0
  356. package/src/transactions/index.d.ts.map +1 -0
  357. package/src/transactions/index.js +5 -0
  358. package/src/transactions/index.js.map +1 -0
  359. package/src/transactions/transaction-manager.d.ts +37 -0
  360. package/src/transactions/transaction-manager.d.ts.map +1 -0
  361. package/src/transactions/transaction-manager.js +50 -0
  362. package/src/transactions/transaction-manager.js.map +1 -0
  363. package/src/types/index.d.ts +26 -0
  364. package/src/types/index.d.ts.map +1 -0
  365. package/src/types/index.js +9 -0
  366. package/src/types/index.js.map +1 -0
  367. package/src/types/mongoose-helpers.d.ts +16 -0
  368. package/src/types/mongoose-helpers.d.ts.map +1 -0
  369. package/src/types/mongoose-helpers.js +8 -0
  370. package/src/types/mongoose-helpers.js.map +1 -0
  371. package/src/utils/default-mongo-uri-validator.d.ts +15 -0
  372. package/src/utils/default-mongo-uri-validator.d.ts.map +1 -0
  373. package/src/utils/default-mongo-uri-validator.js +46 -0
  374. package/src/utils/default-mongo-uri-validator.js.map +1 -0
  375. package/src/utils/index.d.ts +5 -0
  376. package/src/utils/index.d.ts.map +1 -0
  377. package/src/utils/index.js +8 -0
  378. package/src/utils/index.js.map +1 -0
  379. package/src/utils/mongo-error-response.d.ts +17 -0
  380. package/src/utils/mongo-error-response.d.ts.map +1 -0
  381. package/src/utils/mongo-error-response.js +21 -0
  382. package/src/utils/mongo-error-response.js.map +1 -0
  383. package/src/utils/mongo-transaction.d.ts +39 -0
  384. package/src/utils/mongo-transaction.d.ts.map +1 -0
  385. package/src/utils/mongo-transaction.js +131 -0
  386. package/src/utils/mongo-transaction.js.map +1 -0
  387. package/src/utils/object-id.d.ts +11 -0
  388. package/src/utils/object-id.d.ts.map +1 -0
  389. package/src/utils/object-id.js +17 -0
  390. package/src/utils/object-id.js.map +1 -0
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Mnemonic model interface for frontend.
4
+ * Defines type alias for mnemonic hash storage documents.
5
+ * @module interfaces/models/mnemonic
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=mnemonic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mnemonic.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/models/mnemonic.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @fileoverview Role model interfaces for frontend.
3
+ * Defines type alias for role documents with string IDs.
4
+ * @module interfaces/models/role
5
+ */
6
+ import { IRoleBase } from '@digitaldefiance/suite-core-lib';
7
+ /**
8
+ * Front-end interface for role collection documents.
9
+ * Uses string IDs for browser compatibility.
10
+ */
11
+ export type IFrontendRole = IRoleBase<string, Date>;
12
+ //# sourceMappingURL=role.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/models/role.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Role model interfaces for frontend.
4
+ * Defines type alias for role documents with string IDs.
5
+ * @module interfaces/models/role
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/models/role.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @fileoverview Token role model interfaces for frontend and backend.
3
+ * Defines type aliases for token role documents with platform-specific IDs.
4
+ * @module interfaces/models/token-role
5
+ */
6
+ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
7
+ import { ITokenRole } from '@digitaldefiance/suite-core-lib';
8
+ /**
9
+ * Front-end interface for token role collection documents.
10
+ * Uses string IDs for browser compatibility.
11
+ */
12
+ export type IFrontendTokenRole = ITokenRole<string, Date>;
13
+ /**
14
+ * Back-end interface for token role collection documents.
15
+ * Uses platform-specific IDs (Buffer, ObjectId, etc.).
16
+ * @template TID - Platform ID type (defaults to Buffer)
17
+ */
18
+ export type IBackendTokenRole<TID extends PlatformID = Buffer> = ITokenRole<TID, Date>;
19
+ //# sourceMappingURL=token-role.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-role.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/models/token-role.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC1D;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM,IAAI,UAAU,CACzE,GAAG,EACH,IAAI,CACL,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Token role model interfaces for frontend and backend.
4
+ * Defines type aliases for token role documents with platform-specific IDs.
5
+ * @module interfaces/models/token-role
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=token-role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-role.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/models/token-role.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @fileoverview Used direct login token model interfaces for frontend and backend.
3
+ * Defines type aliases for tracking consumed direct login tokens.
4
+ * @module interfaces/models/used-direct-login-token
5
+ */
6
+ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
7
+ import { IUsedDirectLoginTokenBase } from '@digitaldefiance/suite-core-lib';
8
+ /**
9
+ * Front-end interface for used direct login token documents.
10
+ * Uses string IDs for browser compatibility.
11
+ */
12
+ export type IFrontendUsedDirectLoginToken = IUsedDirectLoginTokenBase<string>;
13
+ /**
14
+ * Back-end interface for used direct login token documents.
15
+ * Uses platform-specific IDs (Buffer, ObjectId, etc.).
16
+ * @template TID - Platform ID type (defaults to Buffer)
17
+ */
18
+ export type IBackendUsedDirectLoginToken<TID extends PlatformID = Buffer> = IUsedDirectLoginTokenBase<TID>;
19
+ //# sourceMappingURL=used-direct-login-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"used-direct-login-token.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/models/used-direct-login-token.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE5E;;;GAGG;AACH,MAAM,MAAM,6BAA6B,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAC9E;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM,IACtE,yBAAyB,CAAC,GAAG,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Used direct login token model interfaces for frontend and backend.
4
+ * Defines type aliases for tracking consumed direct login tokens.
5
+ * @module interfaces/models/used-direct-login-token
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=used-direct-login-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"used-direct-login-token.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/models/used-direct-login-token.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @fileoverview User-role model interfaces for frontend and backend.
3
+ * Defines type aliases for user-role relationship documents.
4
+ * @module interfaces/models/user-role
5
+ */
6
+ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
7
+ import { IUserRoleBase } from '@digitaldefiance/suite-core-lib';
8
+ /**
9
+ * Front-end interface for user role collection documents.
10
+ * Uses string IDs for browser compatibility.
11
+ */
12
+ export type IFrontendUserRole = IUserRoleBase<string, Date>;
13
+ /**
14
+ * Back-end interface for user role collection documents.
15
+ * Uses platform-specific IDs (Buffer, ObjectId, etc.).
16
+ * @template TID - Platform ID type (defaults to Buffer)
17
+ */
18
+ export type IBackendUserRole<TID extends PlatformID = Buffer> = IUserRoleBase<TID, Date>;
19
+ //# sourceMappingURL=user-role.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-role.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/models/user-role.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC5D;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM,IAAI,aAAa,CAC3E,GAAG,EACH,IAAI,CACL,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview User-role model interfaces for frontend and backend.
4
+ * Defines type aliases for user-role relationship documents.
5
+ * @module interfaces/models/user-role
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=user-role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-role.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/models/user-role.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @fileoverview User model interfaces for frontend and backend.
3
+ * Defines type aliases for user documents with platform-specific IDs.
4
+ * @module interfaces/models/user
5
+ */
6
+ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
7
+ import { AccountStatus, IUserBase } from '@digitaldefiance/suite-core-lib';
8
+ /**
9
+ * Front-end interface for user collection documents.
10
+ * Uses string IDs for browser compatibility.
11
+ * @template TLanguage - Language code type
12
+ */
13
+ export type IFrontendUser<TLanguage extends string> = IUserBase<string, Date, TLanguage, AccountStatus>;
14
+ /**
15
+ * Back-end interface for user collection documents.
16
+ * Uses platform-specific IDs (Buffer, ObjectId, etc.).
17
+ * @template TLanguage - Language code type
18
+ * @template TID - Platform ID type (defaults to Buffer)
19
+ */
20
+ export type IBackendUser<TLanguage extends string, TID extends PlatformID = Buffer> = IUserBase<TID, Date, TLanguage, AccountStatus>;
21
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/models/user.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,SAAS,SAAS,MAAM,IAAI,SAAS,CAC7D,MAAM,EACN,IAAI,EACJ,SAAS,EACT,aAAa,CACd,CAAC;AACF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,CACtB,SAAS,SAAS,MAAM,EACxB,GAAG,SAAS,UAAU,GAAG,MAAM,IAC7B,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview User model interfaces for frontend and backend.
4
+ * Defines type aliases for user documents with platform-specific IDs.
5
+ * @module interfaces/models/user
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/models/user.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @fileoverview Mongoose/MongoDB-specific application interface.
3
+ * Extends the base IApplication with MongoDB-specific capabilities.
4
+ * Use this interface in controllers, services, and middlewares that require
5
+ * direct access to the Mongoose connection or MongoDB configuration.
6
+ * @module interfaces/mongo-application
7
+ */
8
+ import mongoose from '@digitaldefiance/mongoose-types';
9
+ import type { Model } from '@digitaldefiance/mongoose-types';
10
+ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
11
+ import type { BaseDocument } from '../documents';
12
+ import type { IApplication } from '@digitaldefiance/node-express-suite';
13
+ import { Environment } from '@digitaldefiance/node-express-suite';
14
+ import type { IMongoEnvironment } from './environment-mongo';
15
+ /**
16
+ * Environment type with typed Mongo configuration.
17
+ * Uses a type intersection with Environment<TID> (the class) so that
18
+ * IMongoTypedEnvironment is assignable to Environment<TID> parameters.
19
+ */
20
+ export type IMongoTypedEnvironment<TID extends PlatformID = Buffer> = Environment<TID> & {
21
+ mongo: IMongoEnvironment;
22
+ };
23
+ /**
24
+ * MongoDB/Mongoose-specific application interface.
25
+ * Extends IApplication with the Mongoose connection and MongoDB configuration.
26
+ *
27
+ * Use this interface when your code needs:
28
+ * - `application.db` (the Mongoose connection)
29
+ * - `application.environment.mongo` (MongoDB config with a guaranteed URI)
30
+ * - `application.getModel<T>(name)` (Mongoose model lookup)
31
+ *
32
+ * Non-Mongo applications (e.g. BrightChainDb) should use the base IApplication.
33
+ */
34
+ export interface IMongoApplication<TID extends PlatformID = Buffer> extends IApplication<TID> {
35
+ /** Mongoose database connection. */
36
+ get db(): typeof mongoose;
37
+ /** Environment with typed Mongo configuration. */
38
+ get environment(): IMongoTypedEnvironment<TID>;
39
+ /**
40
+ * Gets a Mongoose model by name.
41
+ * @template U Document type extending BaseDocument
42
+ * @param modelName Name of the model to retrieve
43
+ * @returns Mongoose model instance
44
+ */
45
+ getModel<U extends BaseDocument<any, TID>>(modelName: string): Model<U>;
46
+ }
47
+ //# sourceMappingURL=mongo-application.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongo-application.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/mongo-application.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM,IAChE,WAAW,CAAC,GAAG,CAAC,GAAG;IACjB,KAAK,EAAE,iBAAiB,CAAC;CAC1B,CAAC;AAEJ;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB,CAChC,GAAG,SAAS,UAAU,GAAG,MAAM,CAC/B,SAAQ,YAAY,CAAC,GAAG,CAAC;IACzB,oCAAoC;IACpC,IAAI,EAAE,IAAI,OAAO,QAAQ,CAAC;IAE1B,kDAAkD;IAClD,IAAI,WAAW,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAE/C;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;CACzE"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Mongoose/MongoDB-specific application interface.
4
+ * Extends the base IApplication with MongoDB-specific capabilities.
5
+ * Use this interface in controllers, services, and middlewares that require
6
+ * direct access to the Mongoose connection or MongoDB configuration.
7
+ * @module interfaces/mongo-application
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ //# sourceMappingURL=mongo-application.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongo-application.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/mongo-application.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @fileoverview MongoDB validation errors interface.
3
+ * Defines structure for Mongoose validation error collections.
4
+ * @module interfaces/mongo-errors
5
+ */
6
+ import { Error } from '@digitaldefiance/mongoose-types';
7
+ /**
8
+ * Collection of MongoDB validation errors.
9
+ */
10
+ export interface IMongoErrors {
11
+ [key: string]: Error.ValidatorError | Error.CastError;
12
+ }
13
+ //# sourceMappingURL=mongo-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongo-errors.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/mongo-errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC;CACvD"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview MongoDB validation errors interface.
4
+ * Defines structure for Mongoose validation error collections.
5
+ * @module interfaces/mongo-errors
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=mongo-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongo-errors.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/mongo-errors.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @fileoverview Mongoose-specific interface for document store operations.
3
+ * This interface depends on Mongoose types (Model, MongoMemoryReplSet).
4
+ * Non-Mongoose database plugins should implement IDatabasePlugin directly
5
+ * without depending on this interface.
6
+ * @module interfaces/mongoose-document-store
7
+ */
8
+ import { Model } from '@digitaldefiance/mongoose-types';
9
+ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
10
+ import { MongoMemoryReplSet } from 'mongodb-memory-server';
11
+ import { BaseDocument } from '../documents/base';
12
+ import { ISchema } from './schema';
13
+ import { IApplication } from '@digitaldefiance/node-express-suite';
14
+ /**
15
+ * Mongoose-specific interface for document store operations.
16
+ * This interface depends on Mongoose types (Model, MongoMemoryReplSet).
17
+ * Non-Mongoose database plugins should implement IDatabasePlugin directly
18
+ * without depending on this interface.
19
+ * @template TID - Platform-specific ID type extending PlatformID
20
+ * @template TModelDocs - Record mapping model names to their document types
21
+ */
22
+ export interface IDocumentStore<TID extends PlatformID = Buffer, TModelDocs extends Record<string, BaseDocument<any, TID>> = Record<string, BaseDocument<any, TID>>> {
23
+ /** Connect to the backing store. URI may be ignored by non-network stores. */
24
+ connect(uri?: string): Promise<void>;
25
+ /** Disconnect from the backing store. */
26
+ disconnect(): Promise<void>;
27
+ /** Whether the store is currently connected and ready for operations. */
28
+ isConnected(): boolean;
29
+ /** Retrieve a Mongoose model by name. */
30
+ getModel<T extends BaseDocument<any, TID>>(modelName: string): Model<T>;
31
+ /** The schema map, if available (populated after connect). */
32
+ readonly schemaMap?: {
33
+ [K in keyof TModelDocs]: ISchema<TID, TModelDocs[K]>;
34
+ };
35
+ /** The dev database instance (MongoMemoryReplSet), if any (for cleanup on stop). */
36
+ readonly devDatabase?: MongoMemoryReplSet;
37
+ /** Optional: provision a dev/test database, returning its connection URI. */
38
+ setupDevStore?(): Promise<string | void>;
39
+ /** Optional: seed the dev database with initial data. */
40
+ initializeDevStore?<TInitResults>(app: IApplication<TID>): Promise<TInitResults>;
41
+ }
42
+ //# sourceMappingURL=mongoose-document-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongoose-document-store.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/mongoose-document-store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE;;;;;;;GAOG;AAEH,MAAM,WAAW,cAAc,CAC7B,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAChE,MAAM,EACN,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CACvB;IAED,8EAA8E;IAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,yCAAyC;IACzC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,yEAAyE;IACzE,WAAW,IAAI,OAAO,CAAC;IAEvB,yCAAyC;IACzC,QAAQ,CAAC,CAAC,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAExE,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,CAAC,EAAE;SAAG,CAAC,IAAI,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;KAAE,CAAC;IAE9E,oFAAoF;IACpF,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAE1C,6EAA6E;IAC7E,aAAa,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEzC,yDAAyD;IACzD,kBAAkB,CAAC,CAAC,YAAY,EAC9B,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,GACrB,OAAO,CAAC,YAAY,CAAC,CAAC;CAC1B"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Mongoose-specific interface for document store operations.
4
+ * This interface depends on Mongoose types (Model, MongoMemoryReplSet).
5
+ * Non-Mongoose database plugins should implement IDatabasePlugin directly
6
+ * without depending on this interface.
7
+ * @module interfaces/mongoose-document-store
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ //# sourceMappingURL=mongoose-document-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongoose-document-store.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/mongoose-document-store.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @fileoverview Schema interface for Mongoose model registration.
3
+ * Defines structure for schema map entries with models and discriminators.
4
+ * @module interfaces/schema
5
+ */
6
+ import { Model, Schema } from '@digitaldefiance/mongoose-types';
7
+ import { BaseDocument } from '../documents/base';
8
+ import { IDiscriminatorCollections } from './discriminator-collections';
9
+ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
10
+ /**
11
+ * Interface for each schema in the schema map.
12
+ * Combines Mongoose schema, model, and collection metadata with optional discriminators.
13
+ * @template T - Document type extending BaseDocument
14
+ */
15
+ export interface ISchema<TID extends PlatformID, T extends BaseDocument<any, TID>> {
16
+ /**
17
+ * The name of the collection, eg 'models'
18
+ */
19
+ collection: string;
20
+ /**
21
+ * The model for the schema
22
+ */
23
+ model: Model<T>;
24
+ /**
25
+ * The name of the model, eg 'Model'
26
+ */
27
+ modelName: string;
28
+ /**
29
+ * The schema for the model
30
+ */
31
+ schema: Schema;
32
+ /**
33
+ * Discriminators for the model
34
+ */
35
+ discriminators?: IDiscriminatorCollections<TID, T>;
36
+ }
37
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;GAIG;AAEH,MAAM,WAAW,OAAO,CACtB,GAAG,SAAS,UAAU,EACtB,CAAC,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC;IAEhC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IAEH,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,cAAc,CAAC,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;CACpD"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Schema interface for Mongoose model registration.
4
+ * Defines structure for schema map entries with models and discriminators.
5
+ * @module interfaces/schema
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/schema.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @fileoverview Server initialization result interface.
3
+ * Defines structure for test server initialization with admin, member, and system users.
4
+ * @module interfaces/server-init-result
5
+ */
6
+ import { Member, PlatformID } from '@digitaldefiance/node-ecies-lib';
7
+ import { RoleDocument } from '../documents/role';
8
+ import { UserDocument } from '../documents/user';
9
+ import { UserRoleDocument } from '../documents/user-role';
10
+ export type { RoleDocument, UserDocument, UserRoleDocument };
11
+ /**
12
+ * Result of server initialization for testing.
13
+ * Contains admin, member, and system user accounts with credentials and roles.
14
+ * @template TID - Platform ID type (defaults to Buffer)
15
+ */
16
+ export interface IServerInitResult<TID extends PlatformID = Buffer> {
17
+ adminRole: RoleDocument<TID>;
18
+ adminUser: UserDocument<string, TID>;
19
+ adminUsername: string;
20
+ adminEmail: string;
21
+ adminMnemonic: string;
22
+ adminPassword: string;
23
+ adminBackupCodes: Array<string>;
24
+ adminMember: Member<TID>;
25
+ adminUserRole: UserRoleDocument<TID>;
26
+ memberRole: RoleDocument<TID>;
27
+ memberUser: UserDocument<string, TID>;
28
+ memberUsername: string;
29
+ memberEmail: string;
30
+ memberMnemonic: string;
31
+ memberPassword: string;
32
+ memberBackupCodes: Array<string>;
33
+ memberMember: Member<TID>;
34
+ memberUserRole: UserRoleDocument<TID>;
35
+ systemRole: RoleDocument<TID>;
36
+ systemUser: UserDocument<string, TID>;
37
+ systemUsername: string;
38
+ systemEmail: string;
39
+ systemMnemonic: string;
40
+ systemPassword: string;
41
+ systemBackupCodes: Array<string>;
42
+ systemMember: Member<TID>;
43
+ systemUserRole: UserRoleDocument<TID>;
44
+ }
45
+ //# sourceMappingURL=server-init-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-init-result.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/server-init-result.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAE7D;;;;GAIG;AACH,MAAM,WAAW,iBAAiB,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IAChE,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IAC7B,SAAS,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,aAAa,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACrC,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IAC9B,UAAU,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,cAAc,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtC,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IAC9B,UAAU,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,cAAc,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;CACvC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Server initialization result interface.
4
+ * Defines structure for test server initialization with admin, member, and system users.
5
+ * @module interfaces/server-init-result
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=server-init-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-init-result.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/server-init-result.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @fileoverview Test environment interface.
3
+ * Defines structure for test environment with in-memory MongoDB and initialized accounts.
4
+ * @module interfaces/test-environment
5
+ */
6
+ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
7
+ import { MongoMemoryReplSet } from 'mongodb-memory-server';
8
+ import type { IApplication } from '@digitaldefiance/node-express-suite';
9
+ import { IServerInitResult } from './server-init-result';
10
+ /**
11
+ * Test environment configuration.
12
+ * Contains application instance, in-memory MongoDB, and test account data.
13
+ * @template TID - Platform ID type (defaults to Buffer)
14
+ */
15
+ export interface ITestEnvironment<TID extends PlatformID = Buffer> {
16
+ application: IApplication<TID>;
17
+ mongoServer: MongoMemoryReplSet;
18
+ mongoUri: string;
19
+ accountData: IServerInitResult<TID>;
20
+ dbName: string;
21
+ }
22
+ //# sourceMappingURL=test-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-environment.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/test-environment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IAC/D,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/B,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Test environment interface.
4
+ * Defines structure for test environment with in-memory MongoDB and initialized accounts.
5
+ * @module interfaces/test-environment
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=test-environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-environment.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/interfaces/test-environment.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * @fileoverview Model registry for dynamic Mongoose model management.
3
+ * Singleton registry for registering and retrieving Mongoose models.
4
+ * @module model-registry
5
+ */
6
+ import { Model, Document as MongooseDocument, Schema } from '@digitaldefiance/mongoose-types';
7
+ import { BaseDocument } from './documents/base';
8
+ import { PlatformID } from '@digitaldefiance/node-ecies-lib';
9
+ /**
10
+ * Model registration information.
11
+ * @template T - Document Data type
12
+ * @template U - Document type extending BaseDocument
13
+ */
14
+ export type ModelRegistration<TID extends PlatformID, T, U extends BaseDocument<T, TID>> = {
15
+ modelName: string;
16
+ schema: Schema;
17
+ model: Model<U>;
18
+ collection: string;
19
+ discriminators?: unknown;
20
+ };
21
+ /**
22
+ * Singleton registry for Mongoose models.
23
+ * Manages model registration and retrieval across the application.
24
+ */
25
+ declare class ModelRegistry<TID extends PlatformID> {
26
+ protected static _instance: ModelRegistry<PlatformID>;
27
+ protected _models: Map<string, ModelRegistration<TID, any, BaseDocument<any, TID>>>;
28
+ private constructor();
29
+ /**
30
+ * Gets the singleton instance of ModelRegistry.
31
+ * @returns {ModelRegistry} The singleton instance
32
+ */
33
+ static get instance(): ModelRegistry<PlatformID>;
34
+ /**
35
+ * Registers a model with the registry.
36
+ * @template T - Document ID type
37
+ * @template U - Document type extending BaseDocument
38
+ * @param {ModelRegistration<T, U>} registration - Model registration information
39
+ */
40
+ register<T, U extends BaseDocument<T, TID>>(registration: ModelRegistration<TID, T, U>): void;
41
+ /**
42
+ * Retrieves a model registration by name.
43
+ * @template T - Document ID type
44
+ * @template U - Document type extending BaseDocument
45
+ * @param {string} modelName - Name of the model
46
+ * @returns {ModelRegistration<T, U>} Model registration
47
+ * @throws {InvalidModelError} If model is not registered
48
+ */
49
+ get<T, U extends BaseDocument<T, TID>>(modelName: string): ModelRegistration<TID, T, U>;
50
+ /**
51
+ * Retrieves a typed Mongoose model by name.
52
+ * @template TDoc - Mongoose document type
53
+ * @param {string} modelName - Name of the model
54
+ * @returns {Model<TDoc>} Mongoose model
55
+ * @throws {InvalidModelError} If model is not registered
56
+ */
57
+ getTypedModel<TDoc extends MongooseDocument>(modelName: string): Model<TDoc>;
58
+ /**
59
+ * Retrieves a typed Mongoose schema by name.
60
+ * @template TDoc - Mongoose document type
61
+ * @param {string} modelName - Name of the model
62
+ * @returns {Schema<TDoc>} Mongoose schema
63
+ * @throws {InvalidModelError} If model is not registered
64
+ */
65
+ getTypedSchema<TDoc extends MongooseDocument>(modelName: string): Schema<TDoc>;
66
+ /**
67
+ * Checks if a model is registered.
68
+ * @param {string} modelName - Name of the model
69
+ * @returns {boolean} True if model exists
70
+ */
71
+ has(modelName: string): boolean;
72
+ /**
73
+ * Lists all registered model names.
74
+ * @returns {string[]} Array of model names
75
+ */
76
+ list(): string[];
77
+ }
78
+ export { ModelRegistry };
79
+ //# sourceMappingURL=model-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-registry.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite-mongo/src/model-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,KAAK,EACL,QAAQ,IAAI,gBAAgB,EAC5B,MAAM,EACP,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,CAC3B,GAAG,SAAS,UAAU,EACtB,CAAC,EACD,CAAC,SAAS,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,IAC5B;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,cAAM,aAAa,CAAC,GAAG,SAAS,UAAU;IACxC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACtD,SAAS,CAAC,OAAO,EAAE,GAAG,CACpB,MAAM,EACN,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CACpD,CAAa;IAEd,OAAO;IAEP;;;OAGG;IACH,WAAkB,QAAQ,IAAI,aAAa,CAAC,UAAU,CAAC,CAKtD;IAED;;;;;OAKG;IACI,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,EAC/C,YAAY,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GACzC,IAAI;IAOP;;;;;;;OAOG;IACI,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,EAC1C,SAAS,EAAE,MAAM,GAChB,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAQ/B;;;;;;OAMG;IACI,aAAa,CAAC,IAAI,SAAS,gBAAgB,EAChD,SAAS,EAAE,MAAM,GAChB,KAAK,CAAC,IAAI,CAAC;IAQd;;;;;;OAMG;IACI,cAAc,CAAC,IAAI,SAAS,gBAAgB,EACjD,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,CAAC;IAQf;;;;OAIG;IACI,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC;;;OAGG;IACI,IAAI,IAAI,MAAM,EAAE;CAGxB;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}