@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,35 +0,0 @@
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 './application';
13
- /**
14
- * MongoDB/Mongoose-specific application interface.
15
- * Extends IApplication with the Mongoose connection and MongoDB configuration.
16
- *
17
- * Use this interface when your code needs:
18
- * - `application.db` (the Mongoose connection)
19
- * - `application.environment.mongo` (MongoDB config with a guaranteed URI)
20
- * - `application.getModel<T>(name)` (Mongoose model lookup)
21
- *
22
- * Non-Mongo applications (e.g. BrightChainDb) should use the base IApplication.
23
- */
24
- export interface IMongoApplication<TID extends PlatformID = Buffer> extends IApplication<TID> {
25
- /** Mongoose database connection. */
26
- get db(): typeof mongoose;
27
- /**
28
- * Gets a Mongoose model by name.
29
- * @template U Document type extending BaseDocument
30
- * @param modelName Name of the model to retrieve
31
- * @returns Mongoose model instance
32
- */
33
- getModel<U extends BaseDocument<any, TID>>(modelName: string): Model<U>;
34
- }
35
- //# sourceMappingURL=mongo-application.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo-application.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/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,eAAe,CAAC;AAElD;;;;;;;;;;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;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;CACzE"}
@@ -1,10 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo-application.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/mongo-application.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
@@ -1,13 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo-errors.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/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"}
@@ -1,8 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo-errors.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/mongo-errors.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -1,42 +0,0 @@
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 './application';
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongoose-document-store.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/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,eAAe,CAAC;AAE7C;;;;;;;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"}
@@ -1,10 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongoose-document-store.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/mongoose-document-store.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
@@ -1,37 +0,0 @@
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 '../interfaces/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
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/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,yCAAyC,CAAC;AACpF,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"}
@@ -1,8 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/schema.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -1,22 +0,0 @@
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 { IApplication } from './application';
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-environment.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/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,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,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"}
@@ -1,8 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-environment.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/test-environment.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -1,79 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-registry.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/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"}
@@ -1,97 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Model registry for dynamic Mongoose model management.
4
- * Singleton registry for registering and retrieving Mongoose models.
5
- * @module model-registry
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.ModelRegistry = void 0;
9
- const errors_1 = require("./errors");
10
- /**
11
- * Singleton registry for Mongoose models.
12
- * Manages model registration and retrieval across the application.
13
- */
14
- class ModelRegistry {
15
- static _instance;
16
- _models = new Map();
17
- constructor() { }
18
- /**
19
- * Gets the singleton instance of ModelRegistry.
20
- * @returns {ModelRegistry} The singleton instance
21
- */
22
- static get instance() {
23
- if (!ModelRegistry._instance) {
24
- ModelRegistry._instance = new ModelRegistry();
25
- }
26
- return ModelRegistry._instance;
27
- }
28
- /**
29
- * Registers a model with the registry.
30
- * @template T - Document ID type
31
- * @template U - Document type extending BaseDocument
32
- * @param {ModelRegistration<T, U>} registration - Model registration information
33
- */
34
- register(registration) {
35
- this._models.set(registration.modelName, registration);
36
- }
37
- /**
38
- * Retrieves a model registration by name.
39
- * @template T - Document ID type
40
- * @template U - Document type extending BaseDocument
41
- * @param {string} modelName - Name of the model
42
- * @returns {ModelRegistration<T, U>} Model registration
43
- * @throws {InvalidModelError} If model is not registered
44
- */
45
- get(modelName) {
46
- const result = this._models.get(modelName);
47
- if (result === undefined) {
48
- throw new errors_1.InvalidModelError(modelName);
49
- }
50
- return result;
51
- }
52
- /**
53
- * Retrieves a typed Mongoose model by name.
54
- * @template TDoc - Mongoose document type
55
- * @param {string} modelName - Name of the model
56
- * @returns {Model<TDoc>} Mongoose model
57
- * @throws {InvalidModelError} If model is not registered
58
- */
59
- getTypedModel(modelName) {
60
- const result = this._models.get(modelName);
61
- if (result === undefined) {
62
- throw new errors_1.InvalidModelError(modelName);
63
- }
64
- return result.model;
65
- }
66
- /**
67
- * Retrieves a typed Mongoose schema by name.
68
- * @template TDoc - Mongoose document type
69
- * @param {string} modelName - Name of the model
70
- * @returns {Schema<TDoc>} Mongoose schema
71
- * @throws {InvalidModelError} If model is not registered
72
- */
73
- getTypedSchema(modelName) {
74
- const result = this._models.get(modelName);
75
- if (result === undefined) {
76
- throw new errors_1.InvalidModelError(modelName);
77
- }
78
- return result.schema;
79
- }
80
- /**
81
- * Checks if a model is registered.
82
- * @param {string} modelName - Name of the model
83
- * @returns {boolean} True if model exists
84
- */
85
- has(modelName) {
86
- return this._models.has(modelName);
87
- }
88
- /**
89
- * Lists all registered model names.
90
- * @returns {string[]} Array of model names
91
- */
92
- list() {
93
- return Array.from(this._models.keys());
94
- }
95
- }
96
- exports.ModelRegistry = ModelRegistry;
97
- //# sourceMappingURL=model-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-registry.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/model-registry.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAQH,qCAA6C;AAoB7C;;;GAGG;AACH,MAAM,aAAa;IACP,MAAM,CAAC,SAAS,CAA4B;IAC5C,OAAO,GAGb,IAAI,GAAG,EAAE,CAAC;IAEd,gBAAuB,CAAC;IAExB;;;OAGG;IACI,MAAM,KAAK,QAAQ;QACxB,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;YAC7B,aAAa,CAAC,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,aAAa,CAAC,SAAS,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CACb,YAA0C;QAE1C,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,YAAY,CAAC,SAAS,EACtB,YAA4C,CAC7C,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,GAAG,CACR,SAAiB;QAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAiC,CAAC;QAC3E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,0BAAiB,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,aAAa,CAClB,SAAiB;QAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,0BAAiB,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC,KAAoB,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CACnB,SAAiB;QAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,0BAAiB,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC,MAAsB,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,IAAI;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;CACF;AAEQ,sCAAa"}
@@ -1,24 +0,0 @@
1
- /**
2
- * @fileoverview Email token model factory for MongoDB.
3
- * Creates Mongoose model for email verification and password reset tokens.
4
- * @module models/email-token
5
- */
6
- import { Connection, Model, Schema } from '@digitaldefiance/mongoose-types';
7
- import { EmailTokenDocument } from '../documents/email-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 email 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 'EmailToken')
18
- * @param {TCollection} [collection] - Collection name (defaults to 'emailTokens')
19
- * @param {Schema} [schema] - Mongoose schema (defaults to EmailTokenSchema)
20
- * @returns {Model<EmailTokenDocument<TID>>} Configured Mongoose model
21
- */
22
- export declare function EmailTokenModel<TModelName extends string = BaseModelName, TCollection extends string = SchemaCollection, TID extends PlatformID = Buffer>(connection: Connection, modelName?: TModelName, collection?: TCollection, schema?: Schema): Model<EmailTokenDocument<TID>>;
23
- export default EmailTokenModel;
24
- //# sourceMappingURL=email-token.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email-token.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/email-token.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,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,eAAe,CAC7B,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,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;AAelC,eAAe,eAAe,CAAC"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Email token model factory for MongoDB.
4
- * Creates Mongoose model for email verification and password reset tokens.
5
- * @module models/email-token
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.EmailTokenModel = EmailTokenModel;
9
- const enumerations_1 = require("../enumerations");
10
- const schema_collection_1 = require("../enumerations/schema-collection");
11
- const email_token_1 = require("../schemas/email-token");
12
- function EmailTokenModel(connection, modelName = enumerations_1.BaseModelName.EmailToken, collection = schema_collection_1.SchemaCollection.EmailToken, schema = email_token_1.EmailTokenSchema) {
13
- return connection.model(modelName, schema, collection);
14
- }
15
- exports.default = EmailTokenModel;
16
- //# sourceMappingURL=email-token.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email-token.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/email-token.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA+BH,0CAWC;AAtCD,kDAAgD;AAChD,yEAAqE;AACrE,wDAA0D;AAyB1D,SAAgB,eAAe,CAC7B,UAAsB,EACtB,YAAoB,4BAAa,CAAC,UAAU,EAC5C,aAAqB,oCAAgB,CAAC,UAAU,EAChD,SAAiB,8BAAgB;IAEjC,OAAO,UAAU,CAAC,KAAK,CACrB,SAAS,EACT,MAAM,EACN,UAAU,CACX,CAAC;AACJ,CAAC;AAED,kBAAe,eAAe,CAAC"}
@@ -1,7 +0,0 @@
1
- export * from './email-token';
2
- export * from './mnemonic';
3
- export * from './role';
4
- export * from './used-direct-login-token';
5
- export * from './user';
6
- export * from './user-role';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./email-token"), exports);
5
- tslib_1.__exportStar(require("./mnemonic"), exports);
6
- tslib_1.__exportStar(require("./role"), exports);
7
- tslib_1.__exportStar(require("./used-direct-login-token"), exports);
8
- tslib_1.__exportStar(require("./user"), exports);
9
- tslib_1.__exportStar(require("./user-role"), exports);
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,qDAA2B;AAC3B,iDAAuB;AACvB,oEAA0C;AAC1C,iDAAuB;AACvB,sDAA4B"}
@@ -1,24 +0,0 @@
1
- /**
2
- * @fileoverview Mnemonic model factory for MongoDB.
3
- * Creates Mongoose model for mnemonic hash storage.
4
- * @module models/mnemonic
5
- */
6
- import { Connection, Model, Schema } from '@digitaldefiance/mongoose-types';
7
- import { MnemonicDocument } from '../documents/mnemonic';
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 mnemonic 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 'Mnemonic')
18
- * @param {TCollection} collection - Collection name (defaults to 'mnemonics')
19
- * @param {Schema} schema - Mongoose schema (defaults to MnemonicSchema)
20
- * @returns {Model<MnemonicDocument<TID>>} Configured Mongoose model
21
- */
22
- export declare function MnemonicModel<TModelName extends string = BaseModelName, TCollection extends string = SchemaCollection, TID extends PlatformID = Buffer>(connection: Connection, modelName?: TModelName, collection?: TCollection, schema?: Schema): Model<MnemonicDocument<TID>>;
23
- export default MnemonicModel;
24
- //# sourceMappingURL=mnemonic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mnemonic.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/mnemonic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,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,aAAa,CAC3B,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;AAED,eAAe,aAAa,CAAC"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Mnemonic model factory for MongoDB.
4
- * Creates Mongoose model for mnemonic hash storage.
5
- * @module models/mnemonic
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.MnemonicModel = MnemonicModel;
9
- const enumerations_1 = require("../enumerations");
10
- const schema_collection_1 = require("../enumerations/schema-collection");
11
- const mnemonic_1 = require("../schemas/mnemonic");
12
- /**
13
- * Creates a Mongoose model for mnemonic 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 'Mnemonic')
19
- * @param {TCollection} collection - Collection name (defaults to 'mnemonics')
20
- * @param {Schema} schema - Mongoose schema (defaults to MnemonicSchema)
21
- * @returns {Model<MnemonicDocument<TID>>} Configured Mongoose model
22
- */
23
- function MnemonicModel(connection, modelName = enumerations_1.BaseModelName.Mnemonic, collection = schema_collection_1.SchemaCollection.Mnemonic, schema = mnemonic_1.MnemonicSchema) {
24
- return connection.model(modelName, schema, collection);
25
- }
26
- exports.default = MnemonicModel;
27
- //# sourceMappingURL=mnemonic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mnemonic.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/mnemonic.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoBH,sCAWC;AA3BD,kDAAgD;AAChD,yEAAqE;AACrE,kDAAqD;AAGrD;;;;;;;;;;GAUG;AACH,SAAgB,aAAa,CAK3B,UAAsB,EACtB,YAAwB,4BAAa,CAAC,QAAsB,EAC5D,aAA0B,oCAAgB,CAAC,QAAuB,EAClE,SAAiB,yBAAc;IAE/B,OAAO,UAAU,CAAC,KAAK,CAAwB,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAChF,CAAC;AAED,kBAAe,aAAa,CAAC"}
@@ -1,24 +0,0 @@
1
- /**
2
- * @fileoverview Role model factory for MongoDB.
3
- * Creates Mongoose model for role management with RBAC.
4
- * @module models/role
5
- */
6
- import { Connection, Model, Schema } from '@digitaldefiance/mongoose-types';
7
- import { RoleDocument } from '../documents/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 role 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 'Role')
18
- * @param {TCollection} collection - Collection name (defaults to 'roles')
19
- * @param {Schema} schema - Mongoose schema (defaults to RoleSchema)
20
- * @returns {Model<RoleDocument<TID>>} Configured Mongoose model
21
- */
22
- export declare function RoleModel<TModelName extends string = BaseModelName, TCollection extends string = SchemaCollection, TID extends PlatformID = Buffer>(connection: Connection, modelName?: TModelName, collection?: TCollection, schema?: Schema): Model<RoleDocument<TID>>;
23
- export default RoleModel;
24
- //# sourceMappingURL=role.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/models/role.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,GAAG,CAAC,CAAC,CAE1B;AAED,eAAe,SAAS,CAAC"}